libreoffice吩咐行办法将word、excel、ppt转成pdf

libreoffice吩咐行办法将word、excel、ppt转成pdf

名目须要,上传doc、excel、ppt等方法文献到效劳器,用户不妨在线观赏。过程计划,确定在上传文献的同声,变换出一份pdf文献生存,用户观赏就只须要展现pdf文献即可,载入不妨载入原文献。由于pdf文献须要在web页面上展现仍旧比拟简单的,径直运用html的embed标签就能实行,也不妨运用少许pdf.js的插件实行:

<!DOCTYPE HTML>

<html>

<body>

<embed src="zpdf.pdf" width="100%" height="600">

</body>

</html>

开始咱们须要将doc等方法的文书档案变换成pdf,网上探求一翻,实行办法也就那几种,最合流的即是经过openoffice.org大概libreoffice两种办法实行,本来libreoffice也是从openoffice.org辨别出来的,功效上头该当出入不大。对于要实行方法变换,两种库都不妨。

我这边径直运用libreoffice的办法。

开始安置libreoffice,我的效劳器是centos,径直运用:

[root@instance-32spzihn /]# yum install libreoffice

提醒能否是要安置,实行y就不妨了。

普遍情景下用yum安置的包都不会是最新本子的,想要安置最新本子,只不妨本人载入最新的回顾,手动编写翻译安置:

libreoffice官网:http://zh-cn.libreoffice.org/

暂时最新本子:LibreOffice_5.4.0_Linux_x86-64_rpm.tar.gz

[root@instance-32spzihn src]# tar -zxvf LibreOffice_5.4.0_Linux_x86-64_rpm.tar.gz

[root@instance-32spzihn src]# cd LibreOffice_5.4.0.3_Linux_x86-64_rpm/RPMS

[root@instance-32spzihn RPMS]# yum install *.rpm

安置实行后实行:

[root@instance-32spzihn /]# /usr/bin/libreoffice --invisible --convert-to pdf zzz.docx

即使是自行编写翻译须要带本子号:

[root@instance-32spzihn /]# /usr/bin/libreoffice5.4 --invisible --convert-to pdf zzz.docx

简直情景不妨先用 find / -name ‘libreoffice*’ 搜索出关系的执路途序再处置。

果然报错:

[root@instance-32spzihn /]# /usr/bin/libreoffice --invisible --convert-to pdf zzz.docx

/usr/lib64/libreoffice/program/soffice.bin X11 error: Can't open display:

Set DISPLAY environment variable, use -display option

or check permissions of your X-Server

(See "man X" resp. "man xhost" for details)

此时只须要安置其余一个库即可处置:

[root@instance-32spzihn /]# yum install libreoffice-headless

再实行变换吩咐,变换胜利。

sz zzz.pdf,载入pdf回到当地打开拓现华文乱码,这是由于缺乏中笔墨体付出所致,以是先把 c:\Windows\Fonts文献夹复制一份到其它盘,而后打包成Fonts.zip,经过rz Fonts.zip 将收缩包传到效劳器上头。

[root@instance-32spzihn /]# cd /usr/share/fonts

[root@instance-32spzihn fonts]# rz

[root@instance-32spzihn fonts]# unzip Fonts.zip

[root@instance-32spzihn fonts]# mv Fonts win

[root@instance-32spzihn fonts]# cd win

[root@instance-32spzihn win]# chmod -Rf 755 *

[root@instance-32spzihn win]# mkfontscale

[root@instance-32spzihn win]# mkfontdir

[root@instance-32spzihn win]# fc-cache –fv

若没有奏效不妨试下重启效劳器,再从新实行变换吩咐就不妨了。

实行对文献变换后,那接下来就要将此功效介入名目开拓上头,暂时须要介入到一个php名目:

$retval = 1;

// exec() might be disabled

$cmd = '/usr/bin/libreoffice --invisible --convert-to pdf zzz.docx';

if (function_exists('exec')){

@exec($cmd, $output, $retval);

}

// Did it work?

if ($retval > 0){

exit('process_failed');

}

简直实行论理不妨按照本人本质需要做变动,道理即是步调内实行shell吩咐处置。

分享到 :

Leave a Reply

Your email address will not be published. Required fields are marked *