700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 使用PHP将Word文档转化为pdf文件(用户提交数据到Word模板并修改部分内容 再将Word转为PDF)

使用PHP将Word文档转化为pdf文件(用户提交数据到Word模板并修改部分内容 再将Word转为PDF)

时间:2018-07-05 12:24:38

相关推荐

使用PHP将Word文档转化为pdf文件(用户提交数据到Word模板并修改部分内容 再将Word转为PDF)

需要实现的功能:

1.用户提交信息,例如:名称,年龄,电话等等

2.将这些信息填充到固定好的word模板中。

3.将生成的word转化为PDF。

4.使用的语言PHP

开始demo.docx文件中的内容

步骤:

poser 安装PHPword

composer require phpoffice/phpword

poser 安装dompdf

composer require dompdf/dompdf

3.正文代码

require_once 'vendor/autoload.php';//引入$demoDoc = 'demo.docx';//模板docx文件$doc = new \PhpOffice\PhpWord\TemplateProcessor($demoDoc);$username = '名字';$phone = '130123456789';$age = '32岁';$doc->setValue('username',$username);$doc->setValue('phone',$phone);$doc->setValue('age',$age);$newDoc = $phone.'.docx';//生成的word文件$doc->saveAs($newDoc);//保存$newPdf = $phone.'.pdf';//生成pdf文件\PhpOffice\PhpWord\Settings::setPdfRendererName(\PhpOffice\PhpWord\Settings::PDF_RENDERER_DOMPDF);\PhpOffice\PhpWord\Settings::setPdfRendererPath('.');$pdf = \PhpOffice\PhpWord\IOFactory::load($newDoc);$xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($pdf, 'PDF');$html = $xmlWriter->getContent();//获取word内容到HTML//echo $html;$xmlWriter->save($newPdf, 'PDF');//保存PDF文件header('location:'.$newPdf);//网页显示PDF//到这个时候可以生成PDF了,但是中文的会乱码

执行以后生成的文件是这个样子的

4.因为没有引入中文字体所以出现乱码

5.下载字体直接放到D盘,我下载的是微软雅黑,直接从网上搜索下载就可以

6.安装字体

下载Dompdf的工具包

该工具包的Git地址为:/dompdf/utils。

下载完成后,解压,复制其中的load_font.php文件到项目下的verdor/dompdf/dompdf目录下,与lib和src目录同级。

修改load_font.php文件

因为之前把该文件直接放在了dompdf目录下,因此需要其默认的加载autoloader的路径如下:

<?php// 1. [Required] Point to the composer or dompdf autoloaderrequire_once "../../autoload.php";

win+r cmd 然后切换到目标文件夹 然后执行PHP文件

回车以后出现的

查看是否安装成功

7.修改msyh为 微软雅黑

8.模板文件也要修改字体为 微软雅黑

9.执行程序查看生成的pdf文档

10.现在都已经全部完成了,如果还有什么不懂的直接给我留言,看到后我会回复的,如果确实帮到了您可以点赞支持一下哦

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。