王毅成
骑士
骑士
  • UID103
  • 粉丝2
  • 关注0
  • 发帖数30
  • 社区居民
阅读:24327回复:2

OpenOffice+PDF.js实现文档在线预览(兼容windows和linux)

楼主#
更多 发布于:2017-02-28 14:59
前几天改造电站打印功能的时候发现了一个pdf.js这个有意思的东西(gitbub地址https://github.com/mozilla/pdf.js
他能干什么,他可以直接将pdf文件直接展示在浏览器中。


对比以往项目中所使用的swftools将pdf文件转成swf文件,再进行预览,pdf.js优点在于
1、不需要二次转换。
2、不需要浏览器支持flash,展示swf需要浏览器支持flash。


以往的项目所使用的是jacob对word、excel、txt进行解析,但是只限于windows平台下,使用poi兼容性不好。所以决定使用OpenOffice来解决word、excel、txt文件转pdf这个过程,安装成功过后,使用非常简单。


windows下安装OpenOffice

一、安裝
执行附件中exe安裝文件
二、启动openOffice服务
1、cd C:\Program Files (x86)\OpenOffice 4\program    
2、soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
三、检查是否启动成功
任务管理中有如图进程则启动成功。

图片:1.png


linux下安装OpenOffice(以CentOS 7为例)
一、安裝
1、执行 tar -xzvf Apache_OpenOffice_4.1.3_Linux_x86-64_install-rpm_zh-CN.tar.gz
2、执行 cd zh-CN/RPMS
3、执行 rpm –ivh *rpm
5、执行 cd desktop-integration
6、执行 rpm –ivh *rpm
二、启动openOffice服务
1.进入opt下的openofiice4下的program目录:cd /opt/openoffice4/program
2、执行 export DISPLAY=:0.0
3、执行 soffice --headless --accept="socket,host=127.0.0.1,port=8100;urp;" --nofirststartwizard &
三、检查是否启动成功
执行netstat -tln 后有如图所示进程代表启动成功

图片:2.png



附件(附件较大,论坛上传不上来,使用开发中心FTP,账号publicUser,密码100200)
1、demo例子下载(4.2平台,数据库随便找个能登录的就可以)ftp://172.18.150.41/4_%C8%ED%BC%FE%B9%A4%BE%DF/2_%BF%AA%B7%A2%C8%ED%BC%FE/ReadOnline.zip
2、OpenOffice安装文件(windows+linux)+pdf.js+jar包下载
ftp://172.18.150.41/4_%C8%ED%BC%FE%B9%A4%BE%DF/2_%BF%AA%B7%A2%C8%ED%BC%FE/OpenOffice+PDF.js.zip
何圆
管理员
管理员
  • UID3
  • 粉丝18
  • 关注6
  • 发帖数291
  • 社区居民
  • 忠实会员
  • 原创写手
沙发#
发布于:2018-03-13 17:59
如果文件名为中文就会访问不到PDF文件,需要处理一下编码问题
1. 修改Jboss的server配制文件,在Connector中添加URIEncoding="UTF-8"
2. 对URL进行两次encode操作:window.open(encodeURI(encodeURI(url)));

图片:TIM截图20180313180312.png



上传txt也会出现乱码现象。 快速解决方法:更改Txt后缀为:odt即可。
陈万琛
侠客
侠客
  • UID499
  • 粉丝0
  • 关注0
  • 发帖数17
  • 社区居民
板凳#
发布于:2019-01-11 17:07
Linux centos 7.3.1611使用楼主的方法安装遇到的问题(供遇到相同问题的同事参考)
我的安装步骤:
一、安裝
1、执行 tar -xzvf Apache_OpenOffice_4.1.3_Linux_x86-64_install-rpm_zh-CN.tar.gz
2、执行 cd zh-CN/RPMS
3、执行 rpm –ivh *rpm
5、执行 cd desktop-integration
里面是针对4个不同inux操作系统发行版的openoffice桌面集成程序rpm包,因此安装适合redhat的安装包
6、执行 rpm -ivh openoffice4.1.3-redhat-menus-4.1.3-9783.noarch.rpm
二、启动openOffice服务
1.进入opt下的openofiice4下的program目录:cd /opt/openoffice4/program
2、执行 export DISPLAY=:0.0


问题一:执行下面3的步骤是会包语法错误:
3、执行 soffice --headless --accept="socket,host=127.0.0.1,port=8100;urp;" --nofirststartwizard &
解决方法:
执行:nohup /opt/openoffice4/program/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &


问题2:启动报错 no suitable windowing system found, exiting.
解决方法yum groupinstall "X Window System"


三、检查是否启动成功
执行netstat -lnp |grep 8100 查看服务
游客

返回顶部