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与C#分别格式化文件大小的代码
May 14 PHP
使用phpQuery采集网页的方法
Nov 13 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
Oct 01 PHP
php清除和销毁session的方法分析
Mar 19 PHP
php获取远程图片并下载保存到本地的方法分析
Oct 08 PHP
CakePHP框架Model关联对象用法分析
Aug 04 PHP
Laravel学习教程之request validation的编写
Oct 25 PHP
Yii框架分页技术实例分析
Aug 30 PHP
Yii框架操作cookie与session的方法实例详解
Sep 04 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
Mar 26 PHP
PHP7变量处理机制修改
Mar 09 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 上传文件大小限制
2009/07/05 PHP
PHP中数字检测is_numeric与ctype_digit的区别介绍
2012/10/04 PHP
Yii统计不同类型邮箱数量的方法
2016/10/18 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
2019/04/17 PHP
js 操作符实例代码
2009/10/24 Javascript
js添加table的行和列 具体实现方法
2013/07/22 Javascript
js几秒以后倒计时跳转示例
2013/12/26 Javascript
Javascript动态引用CSS文件的2种方法介绍
2014/06/06 Javascript
Node.js实现Excel转JSON
2015/04/24 Javascript
js实现a标签超链接提交form表单的方法
2015/06/24 Javascript
实例讲解jQuery中对事件的命名空间的运用
2016/05/24 Javascript
利用Javascript实现BMI计算器
2016/08/16 Javascript
JavaScript转换数据库DateTime字段类型方法
2017/06/27 Javascript
[01:53]3.19 DOTA2发布会 现场精彩Coser表演
2014/03/25 DOTA
python操作MySQL数据库具体方法
2013/10/28 Python
python实现数组插入新元素的方法
2015/05/22 Python
Python中的数学运算操作符使用进阶
2016/06/20 Python
1分钟快速生成用于网页内容提取的xslt
2018/02/23 Python
Numpy数据类型转换astype,dtype的方法
2018/06/09 Python
Python实现的简单计算器功能详解
2018/08/25 Python
关于pymysql模块的使用以及代码详解
2019/09/01 Python
python使用PIL剪切和拼接图片
2020/03/23 Python
Python join()函数原理及使用方法
2020/11/14 Python
python 如何上传包到pypi
2020/12/24 Python
python利用proxybroker构建爬虫免费IP代理池的实现
2021/02/21 Python
CSS的background属性及CSS3的背景图片设置总结
2016/06/13 HTML / CSS
html5录音功能实战示例
2019/03/25 HTML / CSS
营销专业应届生求职信
2013/11/26 职场文书
庆祝国庆节演讲稿2014
2014/09/19 职场文书
碧霞祠导游词
2015/02/09 职场文书
幼儿教师辞职信
2015/02/27 职场文书
学校党支部公开承诺书
2015/04/30 职场文书
教师节祝酒词
2015/08/11 职场文书
新郎父母婚礼答谢词
2015/09/29 职场文书
JDK8中String的intern()方法实例详细解读
2022/09/23 Java/Android