PHP实现HTML生成PDF文件的方法


Posted in PHP onNovember 07, 2014

本文实例讲述了在linux中利用HTML2FPDF与wkhtmltoimage把网页html直接生成pdf格式的文件方法,分享给大家供大家参考。具体实现方法如下:

找到一款在FPDF和HTML2FPDF源码基础上开发的一套开源程序,作者很给力。基本解决了中文(以及日语、韩语及东南亚和全球语言)乱码的问题,在Windows/Linux开发环境下测试可用,不需要安装别的组件支持,是没有VPS和独立服务器的网站开发者的福音。

不多说,源码名称是MPDF,官方地址是:http://www.mpdf1.com/ 已经更新到5.6版。
到官网下载,解压到网站目录下,使用。

<?php

include('mpdf.php');

$mpdf=new mPDF('UTF-8','A4','','',15,15,44,15);

$mpdf->useAdobeCJK = true; 

$mpdf->SetAutoFont(AUTOFONT_ALL);

$mpdf->SetDisplayMode('fullpage');

//$mpdf->watermark_font = 'GB'; 

//$mpdf->SetWatermarkText('中国水印',0.1);

$url = 'http://www.你的域名.com/';

$strContent = file_get_contents($url); 

//print_r($strContent);die;

$mpdf->showWatermarkText = true;

$mpdf->SetAutoFont();

//$mpdf->SetHTMLHeader( '头部' );

//$mpdf->SetHTMLFooter( '底部' );

$mpdf->WriteHTML($strContent);

$mpdf->Output('ss.pdf');

//$mpdf->Output('tmp.pdf',true);

//$mpdf->Output('tmp.pdf','d');

//$mpdf->Output();

exit;

?>

PASS:需要注意的是,PHP文件要是UTF-8。不用心情天空贴出的代码,自己写时出现方格乱码时,可以在config.php文件里的$this->useAdobeCJK = false;修改成true或者必须标注:$mpdf->useAdobeCJK = true; 官方有文档,可以自己摸索。

这个不完美方法,MPDF只能解析相对简单的css(不能解析js和css中ul li等标签)。现在既然使用了wkhtmltoimage扩展,也就不在乎wkhtmltopdf的使用了。
同样,wkhtmltoimage 0.11会出现错误,需要下载0.10.0_rc2版。

32位:

wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.10.0_rc2-static-i386.tar.bz2

tar jxf wkhtmltopdf-0.10.0_rc2-static-i386.tar.bz2

cp wkhtmltoimage-i386 /usr/local/bin/wkhtmltopdf

 
64位
wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.10.0_rc2-static-amd64.tar.bz2

mv wkhtmltoimage-0.10.0_rc2-static-amd64.tar.bz2 wkhtmltoimage-0.10.0_rc2-static-amd64.tar

tar -xvf wkhtmltopdf-0.10.0_rc2-static-amd64.tar

mv wkhtmltoimage-amd64 /usr/bin/wkhtmltopdf测试 wkhtmltopdf http://www.你的域名.com/ 你的域名.pdfphp shell_exec() 执行shell_exec('/usr/local/bin/wkhtmltopdf http://www.你的域名.com/ /usr/local/wwwroot/你的域名.com/你的域名.pdf');

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
php下用GD生成生成缩略图的两个选择和区别
Apr 17 PHP
php 页面执行时间计算代码
Dec 04 PHP
PHP 程序授权验证开发思路
Jul 09 PHP
php 正则匹配函数体
Aug 25 PHP
PDO版本问题 Invalid parameter number: no parameters were bound
Jan 06 PHP
PHP中auto_prepend_file与auto_append_file用法实例分析
Sep 22 PHP
ThinkPHP2.x防范XSS跨站攻击的方法
Sep 25 PHP
php简单实现多语言切换的方法
May 09 PHP
thinkPHP数据库增删改查操作方法实例详解
Dec 06 PHP
实例讲解YII2中多表关联的使用方法
Jul 21 PHP
PHP实现的策略模式简单示例
Aug 25 PHP
php实现websocket实时消息推送
Mar 30 PHP
PHP面向对象精要总结
Nov 07 #PHP
PHP使用feof()函数读文件的方法
Nov 07 #PHP
php几个预定义变量$_SERVER用法小结
Nov 07 #PHP
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
Nov 06 #PHP
php中常见的sql攻击正则表达式汇总
Nov 06 #PHP
php中实现记住密码下次自动登录的例子
Nov 06 #PHP
php网站被挂木马后的修复方法总结
Nov 06 #PHP
You might like
php删除与复制文件夹及其文件夹下所有文件的实现代码
2013/01/23 PHP
php 批量添加多行文本框textarea一行一个
2014/06/03 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
JS获取scrollHeight问题想到的标准问题
2007/05/27 Javascript
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
2009/06/14 Javascript
jQuery使用动态渲染表单功能完成ajax文件下载
2013/01/15 Javascript
js 图片随机不定向浮动的实现代码
2013/07/02 Javascript
js整数字符串转换为金额类型数据(示例代码)
2013/12/26 Javascript
JavaScript学习小结之使用canvas画“哆啦A梦”时钟
2016/07/24 Javascript
ES6概念 Symbol.keyFor()方法
2016/12/25 Javascript
深究AngularJS中ng-drag、ng-drop的用法
2017/06/12 Javascript
原生js jquery ajax请求以及jsonp的调用方法
2017/08/04 jQuery
基于zepto.js实现登录界面
2017/10/09 Javascript
node下使用UglifyJS压缩合并JS文件的方法
2018/03/07 Javascript
vue 多入口文件搭建 vue多页面搭建的实例讲解
2018/03/12 Javascript
详解微信小程序之提高应用速度小技巧
2020/01/07 Javascript
vue组件传值的实现方式小结【三种方式】
2020/02/05 Javascript
通过javascript实现扫雷游戏代码实例
2020/02/09 Javascript
[02:04]2018DOTA2亚洲邀请赛Secret赛前采访
2018/04/03 DOTA
Python操作RabbitMQ服务器实现消息队列的路由功能
2016/06/29 Python
Python命令启动Web服务器实例详解
2017/02/23 Python
Django为窗体加上防机器人的验证码功能过程解析
2019/08/14 Python
jupyter实现重新加载模块
2020/04/16 Python
一些高难度的SQL面试题
2016/11/29 面试题
军校大学生个人的自我评价
2014/02/17 职场文书
少年闰土教学反思
2014/02/22 职场文书
聘任书的写作格式及范文
2014/03/29 职场文书
“六查”、“三学”、“三干”查摆问题整改措施
2014/09/27 职场文书
党员评议表自我评价范文
2014/10/20 职场文书
骨干教师考核评语
2014/12/31 职场文书
综合测评个人总结
2015/03/03 职场文书
golang中的空slice案例
2021/04/27 Golang
python实现过滤敏感词
2021/05/08 Python
Opencv实现二维直方图的计算及绘制
2021/07/21 Python
JavaScript 定时器详情
2021/11/11 Javascript
vmware虚拟机打不开vmx文件怎么办 ?vmware虚拟机vmx文件打开方法
2022/04/08 数码科技