温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php实现doc转pdf的方法

发布时间:2020-09-04 10:14:29 来源:亿速云 阅读:472 作者:小新 栏目:编程语言

php实现doc转pdf的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

php实现doc转pdf的方法:首先引入autoload文件;然后通过“$templateProcessor->saveAs('test.docx');”加载模板的word文件;最后将“test.docx”转换成“test.pdf”即可。

php实现doc转pdf的方法

php 编辑PDF文件,php word 转 PDF,php 编辑 word,phpoffice,phpword,libreoffice

废话不多说,直接说需求

1、项目经理:“小江啊,我这里有份合同,是word格式的,你把它生成PDF格式,并且里面的内容还能编辑”。

大致思路

1、遇到这种需求,我有点震惊了,什么需求啊这是,以前从没碰到过。然后google啊百度啊一大推的东西。我也看了几种常规生成pdf的php第三方类库。

有tcpdf,zend framework,fpdf等,tcpdf生成pdf呢,直接点呢就是文档的内容还要用html,css写,那要用这个还不吐血,zend framework 下面有个生成pdf的类库,但是有个致命的缺点,不支持中文,中文会乱码,fpdf也是一样。我全都试了个遍,没个毛用,感觉要被这个玩意搞死,当我快要放弃的时候,我看到了phpword,看到了希望,phpword支持编辑word文档,但转换成pdf不是他的拿手好菜,无奈最后下了个libreoffice转换器,这才勉强完成了这个需求,哎,觉得非常不容易,一定要分享下,如果有更好的办法,可在下方评论:

1、直接引入autoload文件

require_once ’ vendor/phpoffice/phpword/bootstrap.php’;

2、

       $templateProcessor = new      \PhpOffice\PhpWord\TemplateProcessor('layout.docx');
       $templateProcessor->setValue('name', 'AAAAAAA');
       $templateProcessor->setValue('ID_card', '36042819950812782112');
       $templateProcessor->setValue('mobile', '12312341234');
       $templateProcessor->setValue('adress', '广东省深圳市宝安区西乡');
       $templateProcessor->saveAs('test.docx');

以上代码说明: 加载我们模板的word文件,我们在其里面设置变量格式是${name} 等等这种格式,生成的test.docx就是把setValue的值赋给了变量,是不是很神奇。

3、最后将test.docx 转换成test.pdf,这一步也走的很心酸,查了很多资料,总以为有个第三方的库可以解决,但还是没找到,libreoffice是一个开源的软件,这是个大家伙,将近1G的大小。下面将用法介绍下:

system(“export HOME=/tmp/ && libreoffice --invisible --convert-to pdf --outdir /phpstudy/www/Uploads/activity/2017-02-28/ /phpstudy/www/Uploads/activity/2017-02-28/58b53f9cad22e.xls 2>&1”);

直接用system 系统函数

感谢各位的阅读!看完上述内容,你们对php实现doc转pdf的方法大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI