如何从linux服务器生成.docx的PDF文件?

Rev*_*ion 4 linux pdf pdf-generation docx

我们在我们的生产服务器上使用:Ubuntu 10服务器版.我们需要创建一个文档,其中包含内容中的文本,图像和表格以及页眉和页脚中的图像.现在我们使用http://phpword.codeplex.com/来创建它,它在生成docx文件方面做得很好但我们需要该文件的pdf版本.我们如何将docx转换为pdf?或者任何其他库生成pdf文件,允许页眉/页脚中的图像?使用Windows组件不是解决方案.使用openOffice可能吗?它可以在ubuntu服务器版上使用吗?在linux - 服务器环境中将docx转换为pdf的任何其他转换器?

Res*_*ess 6

如果您的文档包含使用OpenOffice的图像绝对是一个很好的解决方案.如果你想尝试一下,请查看PyODConverter.

如果它是简单的文本,您可能需要考虑使用更简单的解决方案,如PHPDocx,unoconv,AbiWord或LiveDocx.

我过去曾经使用过OOo(并且仍然用于将Odt文件转换为Pdf)并且效果很好.:)我只有一个问题,但已经解决了.你可以在这里查看:Docx到pdf使用openoffice无头方式太慢了

编辑:

我已经创建了一个bash脚本"/etc/init.d/openoffice"以使用正确的选项启动openoffice.文件内容如下:

#!/bin/bash
# openoffice.org headless server script
#
# chkconfig: 2345 80 30
# description: headless openoffice server script
# processname: openoffice

OOo_HOME=/usr/lib/openoffice
SOFFICE_PATH=$OOo_HOME/program/soffice

if [ "$1" == "start" ]; then
 echo "Starting OpenOffice headless server"
 $SOFFICE_PATH --headless --accept="pipe,name=beubi_OOffice;urp;StarOffice.ServiceManager" --invisible --norestore --nodefault --nolockcheck --nofirstwizard
 exit
fi

if [ "$1" == "stop" ]; then
 echo "Stopping OpenOffice headless server."
 killall -9 soffice.bin && killall -9 soffice
 exit
fi

echo "Usage: $0 {start|stop}"
exit 1
Run Code Online (Sandbox Code Playgroud)

然后只需设置执行权限就可以了.