1

我正在使用 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

请让我知道您有任何人对此有解决方案。提前致谢。

4

0 回答 0