phpword 转换PDF笔记
1、首先安装composer
2、然后安装包:
composer require phpoffice/phpword
3、安装转换需求的包:
composer require Dompdf\Dompdf
4、由于中文支持不好,文档中没有中文字体所以要添加中文字体
该工具包的Git地址为:https://github.com/dompdf/utils
下载完成后,解压,复制其中的load_font.php文件到项目下的verdor/dompdf/dompdf目录下,与lib和src目录同级。
因为之前把该文件直接放在了dompdf目录下,因此需要其默认的加载autoloader的路径如下:
require_once "../../../vendor/autoload.php";
然后执行下面命令生成字体
D:\myproject\vendor\dompdf\dompdf> php load_font.php simsun D:\simsun.ttf
注意:命令中的字体名称simsun不要加引号,否则后续将不可用
如果字体安装成功,则可以在项目的vendor/dompdf/dompdf/lib/fonts目录中看到新生成的simsun.ttf及simsun.ufm文件。
5、开始写代码文件:
<?php require __DIR__ . '/vendor/autoload.php'; use PhpOffice\PhpWord\IOFactory; use PhpOffice\PhpWord\Settings; // Make sure you have `dompdf/dompdf` in your composer dependencies. Settings::setPdfRendererName(Settings::PDF_RENDERER_DOMPDF); // Any writable directory here. It will be ignored. Settings::setPdfRendererPath('vendor/tecnickcom/tcpdf'); $phpWord = IOFactory::load('d1.docx', 'Word2007'); //添加文件 $phpWord->setDefaultFontName('simfang'); //$xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord , 'PDF'); //$xmlWriter->save('result.pdf'); $phpWord->save('document.pdf', 'PDF'); ?>
下面是我使用到的文件:
utils-master.zip 字体生成工具