doc/jpg等文件在线浏览解决方案搭建
在公司OA和CRM系统遇到要实现在线查看word/jpg等文件的功能,按照开发小组的要求搭建了一套解决方案:OpenOffice + JodConvertor + SWFTool+ FlexPaper,其中OpenOffice + JodConvertor用于将文档转化为PDF格式文档,SwfTool用于将PDF转化为SWF文档,FlexPaper用于展示。使用这个解决方案的最大好处就是跨平台且较为简单。
1.1 安装openofficeopenoffice需要jdk的支持,而且默认已经安装,如果没有,手动下载Apache_OpenOffice_4.0.1_Linux_x86-64_install-rpm_zh-CN.tar.gz到/usr/local/src(CentOS 6.4 x86_64):
# tar -zxf Apache_OpenOffice_4.0.1_Linux_x86-64_install-rpm_zh-CN.tar.gz # cd zh-CN/RPMS # rpm –ivh *.rpm
拷贝字体
安装完成后把windows(c:\windows\fonts)下的一些常用字体拷贝到 /opt/openoffice4/share/fonts/truetype 目录下,如Arial, Calibri, Courier New, Consolas等,如果你想正确的保留原doc的中文字体,还需要把 黑体、微软雅黑、宋体 常规、新宋体 常规、幼圆、隶书、楷体 等中文字体拷贝进去(重启进程后生效)。
启动后台进程
切换至普通用户,如wxcrm启动转换进程:
$ /opt/openoffice4/program/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard # ps –ef | grep soffice1.2 解压jodconverter
JODConverter是一个java的OpenDucument文件转换器,可以进行许多文件格式的转换工具,它利用OpenOffice来进行转换工作,它能完成以下转换:
Microsoft Office格式转换为OpenDucument,以及OpenDucument转换为Microsoft Office OpenDucument转换为PDF,Word、Excel、PowerPoint转换为PDF,RTF转换为PDF等。从 http://sourceforge.net/projects/jodconverter/files/JODConverter/2.2.2/ 下载jodconverter-2.2.2.zip解压到 /opt 目录下/opt/jodconverter-2.2.2/。手动转换测试,使用到的文件是安装包内的lib/jodconverter-cli-2.2.2.jar:
java -jar /opt/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar /home/oa/docker.docx /home/oa/docker.pdf
至此doc等文件格式可以成功转换成pdf。
2.1 swftoolswftool可以将pdf/jpg等转换成swf格式。搜索下载swftools-0.9.1.tar.gz(0.9.2在安装时可能需要错误处理):
# yum install gcc* automake zlib-devel libjpeg-devel giflib-devel freetype-devel # tar vxzf swftools-0.9.1.tar.gz # cd swftools-0.9.1 # ./configure --prefix=/usr/local/swftools # make make install
至此已安装完预览功能,可以通过:
/usr/local/bin/pdf2swf -t docker4.pdf -o docker4.swf -T 9 -f -z
测试转换。-t 后接待转换的pdf文件路径,-o接输出文件路径和名称,-T 9 设置使用flash版本9,这个设置主要是为了跟FlexPaper的版本对应; -f 保留字体,-z使用zlib进行压缩,这是最常用的几个命令,其他命令可以从SWF官网了解。
2.2 安装xpdf语言包在转换包含中文的PDF文档成swf时,常常会因为缺少所需的字体而出现乱码,或者干脆就没有文字,就需要使用到xpdf的字体库。
到 http://www.foolabs.com/xpdf/download.html 下载xpdf-chinese-simplified.tar.gz,解压到/usr/local下,编辑add-to-xpdfrc文件,如下:
# vi /usr/local/xpdf-chinese-simplified/add-to-xpdfrc #----- begin Chinese Simplified support package (2011-sep-02) cidToUnicode Adobe-GB1 /usr/local/xpdf-chinese-simplified/Adobe-GB1.cidToUnicode unicodeMap ISO-2022-CN /usr/local/xpdf-chinese-simplified/ISO-2022-CN.unicodeMap unicodeMap EUC-CN /usr/local/xpdf-chinese-simplified/EUC-CN.unicodeMap unicodeMap GBK /usr/local/xpdf-chinese-simplified/GBK.unicodeMap cMapDir Adobe-GB1 /usr/local/xpdf-chinese-simplified/CMap toUnicodeDir /usr/local/xpdf-chinese-simplified/CMap fontDir /usr/share/fonts/win displayCIDFontTT Adobe-GB1 /usr/share/fonts/win/SIMHEI.ttf displayCIDFontTT Adobe-GB1 /usr/local/xpdf-chinese-simplified/CMap/gbsn00lp.ttf displayCIDFontTT Adobe-GB1 /usr/local/xpdf-chinese-simplified/CMap/gkai00mp.ttf
可以使用xftp将常用的中文字体上传到/usr/share/fonts/win,如宋体、微软雅黑、黑体、楷体等。另外去 网上下载 gkai00mp.ttf、gbsn00lp.ttf简体中文放到上面正确的路径下,参考http://shitouququ.blog.51cto.com/24569/1252930。
转换时加上-s languagedir=/usr/local/xpdf-chinese-simplified/来加载语言包路径。
另外据同事说在 windows 平台安装和转换效果会好一点,没有验证。
谷歌 Chrome 浏览器内直接打开编辑保存 Word、Excel、PPT 文档,可离线部署! 谷歌 Chrome 经过开发团队不断优化,凭借运行界面简单,打开速度最快及扩展插件众多,Chrome 已经成为了世界上最受欢迎的浏览器。不过有一点非常可惜,由于微软 Office 不是开源程序,所以 Chrome 一直无法直接打开微软 Office 文档。
DEDECMS织梦系统全站链接txt格式网站地图的制作教程 网站地图的制作三种格式:xml格式、txt格式、以及html格式,这在浏览器地址栏输入 “主域名/sitemap.xml” 的方式,尝试查看对应网站的xml格式的网站地图。把 输入内容改成 “主域名/sitemap.html” 就可以查看html格式的网站地图了。网站地图的命名方式默认是sitemap,但是网站管理者(站长)可以自由修改。
pdf.js插件使用记录,在线打开pdf 原文:pdf.js插件使用记录,在线打开pdf 天记录一个js库:pdf.js。主要是实现在线打开pdf功能。因为项目需求需要能在线查看pdf文档,所以就研究了一下这个控件。 有些人很好奇,在线打开pdf文档浏览器不是支持吗。
关于wordpress主题、插件上传和下载问题及其上传图片权限问题解决方案 主题官方下载地址:https://wordpress.org/themes/ 插件官方下载地址: https://wordpress.org/plugins/ 主题的上传下载,无疑是需要ftp服务器的。
相关文章
- 无法解析或打开软件包的列表或是状态文件解决方案
- WIN10打开资源管理器显示该文件没有与之关联的程序来执行该操作.请安装应用,请在“默认应用设置”..关联 —— 解决方案
- Spring MVC实现上传文件报错解决方案
- 【问题解决方案】git中的文件的重命名
- 【问题解决方案】Github中的jupyter notebook文件(.ipynb)加载失败/失败
- 【问题解决方案】下载GitHub里的单个文件
- 【问题解决方案】本地代码文件上传到GitHub里中文乱码问题
- 使用trash-cli避免误删文件--为rm增加回收站功能
- Android文件Apk下载变ZIP压缩包解决方案
- C# 文件操作 把文件读取到字节数组
- 【问题解决方案】git中的文件的重命名
- Centos常规文件作用
- 文件服务器解决方案(项目源码)
- 如何将iso文件安装到VirtualBox里的ubuntu去
- Atitit 文件上传 架构设计 实现机制 解决方案 实践java php c#.net js javascript c++ python
- 上传中文文件到linux文件出现乱码问题的解决方案
- 在springBoot中使用Mapper类问题_@Mapper_@MapperScan_xml文件跟mapper分开_xml文件跟mapper在同一个目录下
- C# 关于用7zip压缩文件提示win32exception 系统找不到文件解决方案(win7 x64)
- 【C++】之多文件编译原理
- QT项目移植后报错:无法打开包括文件: “ui_xxx.h”
- java.io.FileNotFoundException关于使用Intellij Idea时系统找不到指定文件的解决方案、mysql8.0数据源连接配置
- Linux基础命令-whereis查找命令及相关文件
- 集合映射中的映射包(使用xml文件)
- 【大数据开发运维解决方案】windows定期清理指定目录文件(保留指定天数日志)