我正在寻找一种使用PHP将Word和Excel文件转换为PDF的方法。
这样做的原因是,我需要能够将各种格式的文件合并到一个文档中。我知道,如果我能够将所有内容转换为PDF,则可以使用PDFMerger(使用fpdf)将PDF合并为一个文件。
我已经能够从其他文件类型/图像创建PDF,但仍受Word
Docs困扰。(我想我可以使用已经用于从html代码创建Excel文件的PHPExcel库转换Excel文件)。
我不使用Zend框架,因此希望有人能够为我指出正确的方向。
或者,如果有一种方法可以从Word文档中创建图像(jpg)文件,则这是可行的。
谢谢你的帮助!
我找到了解决问题的方法,提出请求后,会将其发布在此处以帮助他人。抱歉,如果我错过任何细节,距离我从事此解决方案已有一段时间了。
首先需要在服务器上安装 **Openoffice.org** 。我要求托管服务提供商在我的VPS上安装开放式办公室RPM。这可以直接通过WHM完成。
现在,服务器具有处理MS Office文件的功能,您可以通过通过PHP执行命令行指令来转换文件。为了解决这个问题,我找到了
PyODConverter :https :
//github.com/mirkonasato/pyodconverter
我在服务器上创建了一个目录,并将PyODConverter python文件放在其中。我还在网络根上方创建了一个纯文本文件(我将其命名为“
adocpdf”),其中包含以下命令行说明:
directory=$1
filename=$2
extension=$3
SERVICE='soffice'
if [ "`ps ax|grep -v grep|grep -c $SERVICE`" -lt 1 ]; then
unset DISPLAY
/usr/bin/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &
sleep 5s
fi
python /home/website/python/DocumentConverter.py /home/website/$directory$filename$extension /home/website/$directory$filename.pdf
这将检查openoffice.org库是否正在运行,然后调用PyODConverter脚本来处理文件并将其输出为PDF。从PHP文件执行脚本时,将提供前三行的3个变量。延迟(“
sleep 5s”)用于确保openoffice.org有足够的时间来启动(如果需要)。我已经使用了几个月,而5s的间隔似乎给了足够的呼吸空间。
该脚本将在与原始目录相同的目录中创建文档的PDF版本。
最后,从PHP内部启动Word / Excel文件的转换(我在一个函数中检查它是否正在处理的文件是word / excel文档)。
//use openoffice.org
$output = array();
$return_var = 0;
exec("/opt/adocpdf {$directory} {$filename} {$extension}", $output, $return_var);
将Word /
Excel文件上载到服务器后,将调用此PHP函数。exec()调用中的3个变量直接与上面的纯文本脚本开头的3个变量相关。请注意,如果要转换的文件位于Web根目录之内,则$
directory变量不需要前导斜杠。
好,就是这样!希望这对某人有用,并且可以避免他们遇到的困难和学习困难。
我正在努力寻找用Python将PDF文件转换为.docx文件的方法。 我见过其他与此相关的帖子,但在我的情况下,它们似乎都不正常。 我特别使用 这给了我输出[1],但在我的文件夹中找不到任何.docx文档。 我已经安装了LibreOffice 5.3。 有什么线索吗? 提前谢谢你!
我花了大量的时间试图确定到底出了什么问题,使用LibreOffice将pdf转换为docx(以及doc转换为docx)的代码。 我使用了两个windows run接口来测试运行一些我发现相关的代码,也尝试了python,但两者都不起作用。 我在Windows上安装了LibreOffice v6.0.2。 我一直在使用此代码的变体尝试将某些pdf文件转换为与特定pdf文件不相关的docx: 我已经在
我一直在尝试使用他们的库将html内容转换为docx,我确实在运行我的应用程序后创建了一个docx文件,但它有空白内容,而html中确实有一些内容。请检查下面的代码,我已经包含了git上AndroidDocxtoHTML示例中所有必要的库。 代码: 我不明白我得到的空白文档的代码中缺少了什么。我为java找到了这段代码,我为android修改了这段代码。有些人建议使用夜间构建jar进行xhtml转
我一直在我的开发服务器中使用模块来轻松地从转换为: 但是,我在生产服务器中部署了我的应用程序,但我没有安装Excel应用程序,因此引发了以下错误: 在Python中,从转换为有什么好的替代方法吗? 我已经用PDFWriter测试了xtopdf,但是使用这个解决方案,您需要逐个读取和迭代范围并写入行。我想知道是否有一个更直接的解决方案类似于win32com。客户 谢谢
上面的代码给了我一个错误,如下所示 线程“main”java.lang.nosuchmethoderror:org.docx4j.org.xhtmlrenderer.docx.docx.docx.docxrenderer.(ljava/lang/string;)V在org.docx4j.convert.in.xhtml.xhtmlimporterimpl.getrenderer(xhtmlimpo
我在运行时生成了一个docx文档,我想将其转换为PDF,而无需实际将文件保存在本地 PdfConverter无效。我怎样才能做到这一点?