使用 PHPWord 将 docx 转换为 PDF 更改布局、边框、

问题描述

我正在使用 PHPOffice/PHPWord 使用 TemplateProcessor 填充模板文件并保存它。这工作正常,生成的 docx 文件也很好。

然后我想简单地将 docx 转换为 PDF 以输出用户

我试过了

//...
$filename = 'test';
if(YII_ENV_DEV){
    $filepath = Yii::$app->basePath.'\web\files\excel\\';
}else{
    $filepath = \Yii::getAlias('@webroot').'/files/excel/';
}
$fileWord = $filepath . $filename . '.docx';
$templateProcessor->saveAs($fileWord);

Settings::setPdfRendererPath(\Yii::getAlias('@vendor')."/mpdf/mpdf");
Settings::setPdfRendererName(Settings::PDF_RENDERER_MPDF);
$PHPWord = \PHPOffice\PHPWord\IOFactory::load($fileWord);
$objWriter = \PHPOffice\PHPWord\IOFactory::createWriter($PHPWord,'PDF');
header('Content-Type: application/pdf');
header('Content-disposition: attachment;filename="'.$filename.'.pdf"');
header('Cache-Control: max-age=0');
$objWriter->save('PHP://output');

确实会生成 PDF,但它将所有表格格式抛出窗口,合并的单元格不再合并,没有边框的表格(用于布局)现在有边框,不考虑边框宽度,.. .

我尝试使用所有 3 种不同的 PDF 渲染器:TCPDF、DOMPDF、MPDF 并且总是有问题。

如何简单地将文件输出为 docx 中的 PDF?

这是在我无法控制的共享服务器上。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)