linux doc ppt 转 pdf

张映 发表于 2014-11-28

分类目录: linux

标签:, , , , ,

doc ppt转pdf在linux还是没有完美解决,不管是openoffice,还是libreoffice。

打开doc,ppt文档可能会出现布局错乱的情况。libreoffice还不是很完美,建议装稳定最新版,4.3.3

装了一下wps for linux,打开doc,ppt根win下面一样,但是wps并没有提供命令或者转换接口。

所以想完美解决doc,ppt转pdf还是要在windows下面做。

一,安装libreoffice,imagemagick

# yum install ImageMagick libreoffice

libreoffice可以实现doc,ppt转pdf

imagemagick可以实现pdf转图片

二,libreoffice添加字体

libreoffice自带的字体很少,如果libreoffice找到字体,就会默认使用宋体,五号字

# mount /dev/sda1 /mnt/win7/
# cp -r /mnt/win7/Windows/Fonts/ /home/tank/.config/libreoffice/4/user/fonts

重新打开doc,ppt文档,你会发现字体多出来很多。

libreoffice 添加字体

libreoffice 添加字体

三,doc,ppt转pdf

1,直接利用libreoffice

$ export DISPLAY=:0.0 && libreoffice --headless --invisible --convert-to pdf 123.ppt
convert /home/tank/download/myppt/123.ppt -> /home/tank/download/myppt/123.pdf using impress_pdf_Export
Overwriting: /home/tank/download/myppt/123.pdf

2,pdf转图片

$ convert -verbose -density 150 -trim 123.pdf -quality 70 -sharpen 0x1.0 123.jpg
"gs" -q -dQUIET -dPARANOIDSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=0 "-sDEVICE=pnmraw" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-r150x150" "-sOutputFile=/tmp/magick-XXSi41Xk" "-f/tmp/magick-XXkgR3hF" "-f/tmp/magick-XXQJ4sEZ"
/tmp/magick-XXSi41Xk[0] PNM 1240x1754 1240x1754+0+0 8-bit DirectClass 18.67mb
/tmp/magick-XXSi41Xk[1] PNM 1240x1754 1240x1754+0+0 8-bit DirectClass 18.67mb
/tmp/magick-XXSi41Xk[2] PNM 1240x1754 1240x1754+0+0 8-bit DirectClass 18.67mb
123.pdf[0] PDF 1240x1754 1240x1754+0+0 16-bit DirectClass 18.67mb
123.pdf[0] PDF 1240x1754 1240x1754+0+0 16-bit DirectClass 18.67mb
123.pdf[0] PDF 1240x1754 1240x1754+0+0 16-bit DirectClass 18.67mb
123.pdf=>123-0.jpg[0] PDF 1240x1754=>546x1417 1240x1754+199+168 16-bit DirectClass 140kb
123.pdf=>123-1.jpg[1] PDF 1240x1754=>623x1417 1240x1754+199+168 16-bit DirectClass 108kb
123.pdf=>123-2.jpg[2] PDF 1240x1754=>653x703 1240x1754+199+168 16-bit DirectClass 68kb

3,利用unoconv,实现doc,ppt转pdf

# yum install http://pkgs.repoforge.org/unoconv/unoconv-0.5-1.el6.rf.noarch.rpm  

# unoconv -f pdf 123.ppt     //将123.ppt转成pdf


转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/linux/1669.html

5 条评论

  1. mreald 留言

    为什么不用Windows 转换? 
    你可以用python 脚本在win下面转换,放到共享nfs上,linux 上可以随心所欲了。。。

  2. 张映 留言

    不想用win系统。

  3. heaven_devil 留言

    我按你的教程试了一上,在doc转pdf时,也没有报错,但转换出来的pdf打不开,不知道为什么,说文件已损坏

  4. eagle 留言

    # export DISPLAY=:0.0 && libreoffice --headless --invisible --convert-to pdf 1.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)

  5. eagle 留言

    # export DISPLAY=:0.0 && libreoffice --headless --invisible --convert-to pdf 1.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)

    报错。