
使用php实现在互联网上找到的程序的百度库功能,将doc转换为pdf,将pdf转换为swf,然后显示它.
这是一个简单的记录,[doc到pdf,pdf到swf]这两个函数的构造过程.
使用了以下程序(文件):
Apache OpenOffice字体文件(Windows系统的C: \ Windows \ Fonts目录中的文件)jodconverter
实现原理: 调用jodconverter的软件包将doc转换为pdf,并且jodconverter将连接到OpenOffice soffice服务以实现转换.
两者都需要在运行时得到Java环境的支持!字体文件可以解决doc转换成pdf时中文乱码的问题!
字体文件需要在Windows系统下自行打包(可能已打包),首先将其上传到服务器,然后再使用,假设文件名为fonts.zip
安装Java环境
JAVA环境的安装非常简单. 首先linux下 打开swf文件,需要确认系统中是否安装了Java,并确认Java版本> = 1.6.
#直接输入java -version java -version #如果安装了java,将会显示java的版本,如果么有,那赶紧安装吧!
可以使用yum安装安装方法,或者在java.com上下载rpm软件包并解压缩压缩的软件包. 在这里linux下 打开swf文件,我使用解压缩的压缩包.
java.com界面的屏幕截图:

我将文件放在/ opt / java / jre下,然后可以这样显示Java版本:

/opt/java/jre/bin/java –version
添加环境变量:
vim /etc/profile #在文件内容最后写上: PATH=/opt/java/jre/bin:$PATH export PATH #保存退出后,使用source使环境变量立即生效 source /etc/profile
Java环境的构建已完成!
安装openoffice
请注意,最新的openoffice 3.4.1版本不再与Java环境捆绑在一起,因此您需要手动构建Java环境.
首先,下载最新的openoffice安装软件包,地址: : ,选择适合您的版本:

安装包的大小超过140M. 我选择了简体中文. Linux86_64 RPM软件包的文件名为: Apache_OpenOffice_incubating_3.4.1_Linux_x86-64_install-rpm_zh-CN.tar.gz
安装实际上非常简单:
#进入解压后的RPMS目录 cd /opt/setup/openoffice-setup/zh-CN/RPMS #使用rpm命令安装 rpm -ivh *.rpm
安装屏幕截图:

默认安装位于/ opt目录中,并且有两个文件夹: openoffice.org和openoffice.org3.

现在,我们需要将准备好的字体文件fonts.zip解压缩到以下目录: /opt/openoffice.org/basis3.4/share/fonts/truetype.
解压缩完成后,OpenOffice环境就完成了. 现在让我们开始openoffice.
我在/opt/openoffice.org3/目录中创建了一个新文件: 已关闭.
内容是:
#! /bin/bash /opt/openoffice.org3/program/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &
切记将所引用文件的权限修改为755,以方便程序调用和执行!
#启动openoffice /opt/openoffice.org3/sofficed #将上面的命令写入/etc/rc.local文件中,即可开机启动了!
检查它是否成功启动:
#进程查看 ps -ef | grep soffice #端口查看 netstat -tunlp | grep 8100
如果您可以看到办公室相关信息,那么您将成功!
安装jodconverter
该产品的安装也非常简单,请下载安装包并解压缩!
下载地址:
我将文件放在/ opt / jodconverter下.

当然,您必须首先准备一个doc文件,然后使用以下命令进行测试:
java -jar /opt/jodconverter/lib/jodconverter-cli-2.2.2.jar doc文件路径 pdf文件路径
下载生成的pdf文件并打开它.
使用的程序(文件)
swftoolxpdf-chinese-simplifiedfont.zip
将pdf转换为swf的过程相对简单. 您只需要调用swftool程序的pdf2swf程序. xpdf-chinese-simplified和font.zip可以解决中文乱码问题!
swftool程序需要编译和安装. 在这里,首先将安装目录固定为: / opt / swftool.
字体文件安装
下载xpdf-chinese-simplified和font.zip文件,然后解压缩.
mkdir /opt/swftool cd /opt/swftool wget ftp://ftp.foolabs.com/pub/xpdf/xpdf-chinese-simplified.tar.gz
wget http://www.nginxs.com/download/font.zip #解压两个压缩包 tar zxvf xpdf-chinese-simplified.tar.gz unzip font.zip #将font.zip解压出来的两个字体文件移到xpdf-chinese-simplified/CMap/目录下 mv Gbsn00lp.ttf gkai00mp.ttf xpdf-chinese-simplified/CMap/ #修改xpdf-chinese-simplified目录下的add-to-xpdfrc文件,内容如下: cidToUnicode Adobe-GB1 /opt/swftool/xpdf-chinese-simplified/Adobe-GB1.cidToUnicode unicodeMap ISO-2022-CN /opt/swftool/xpdf-chinese-simplified/ISO-2022-CN.unicodeMap unicodeMap EUC-CN /opt/swftool/xpdf-chinese-simplified/EUC-CN.unicodeMap unicodeMap GBK /opt/swftool/xpdf-chinese-simplified/GBK.unicodeMap cMapDir Adobe-GB1 /opt/swftool/xpdf-chinese-simplified/CMap toUnicodeDir /opt/swftool/xpdf-chinese-simplified/CMap displayCIDFontTT Adobe-GB1 /opt/swftool/xpdf-chinese-simplifies/CMap/gkai00mp.ttf
字体文件安装完成.
Swftool安装
首先安装swftool必要的插件程序

yum install zlib-devel libjpeg-devel giflib-devel freetype-devel
如果已安装,它将自动被忽略,仅安装未安装的.
开始安装swftool:
tar vxzf swftools-2012-10-15-1307.tar.gz cd swftools-2012-10-15-1307 ./configure --prefix=/opt/swftool make make install
如果没有异常信息,那么可以.
使用此命令进行测试,使用php代码时也可以这样调用:
/opt/swftool/bin/pdf2swf -o swf文件路径 -T -z -t -f pdf文件路径 -s languagedir=/opt/swftool/xpdf-chinese-simplified -s flashversion=9
应注意languagedir参数.
其他事情似乎都很好,就这么简单.
参考了这些文章:
如果打开Selinux,很容易禁止在exec函数中的/ var / www / html外部调用文件,从而导致exec函数的执行失败.
关闭Selinux:
#临时关闭 setenforce 0 #永久关闭 vim /etc/sysconfig/selinux #将SELUNX的值修改为disabled,重启生效 SELINUX=disabled
如果不关闭selinux,则必须修改被调用文件的安全环境上下文.
selinux在调用java时将其阻止,因此您可以执行以下操作:
cd /opt #将java目录的安全环境上下文还原 restorecon -R -v java
通过这种方式,Seliux将不再阻止httpd程序访问Java程序.
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/bofangqi/article-237079-1.html
中国可以在附近海