我正在使用 PHP 库 PHPOffice 和 PHPWord 将 docx 文件转换为 pdf。我正在使用 TCPDF 作为 PDF 编写器。
我的代码如下
include_once 'Sample_Header.php';
include_once '../vendor/tecnickcom/tcpdf/tcpdf.php';
\PhpOffice\PhpWord\Settings::setPdfRendererPath('../vendor/tecnickcom/tcpdf');
\PhpOffice\PhpWord\Settings::setPdfRendererName('TCPDF');
$temp = \PhpOffice\PhpWord\IOFactory::load('files/sampledocument.docx');
$xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($temp , 'PDF');
$xmlWriter->save('results/sampledocument.pdf', TRUE);
只有当 docx 文件包含纯文本而没有任何样式更改(即颜色、文本粗体)时,它才能正常工作并生成正确的 pdf 文件。但是如果 docx 文件包含样式,那么在 pdf 中它从新行开始。
例如 docx 文件包含
Hello World
这在 pdf 文件中显示正确。但是如果 docx 文件包含如下内容(“H”和“W”在这里是粗体)
**H**ello **W**orld
它在pdf中显示如下(而不是显示在一行中,而是显示在多行中)
H
ello
W
orld
请让我知道您有任何人对此有解决方案。提前致谢。