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 相关文章推荐
第二节--PHP5 的对象模型
Nov 16 PHP
推荐php模板技术[转]
Jan 04 PHP
判断是否为指定长度内字符串的php函数
Feb 16 PHP
提高PHP编程效率的53个要点(经验小结)
Sep 04 PHP
php启动时候提示PHP startup的解决方法
May 07 PHP
php的sprintf函数的用法 控制浮点数格式
Feb 14 PHP
php密码生成类实例
Sep 24 PHP
php实现的树形结构数据存取类实例
Nov 29 PHP
PHP中让curl支持sock5的代码实例
Jan 21 PHP
Laravel 5框架学习之表单验证
Apr 08 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
Oct 21 PHP
php5.6.x到php7.0.x特性小结
Aug 17 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/04/27 PHP
ThinkPHP内置jsonRPC的缺陷分析
2014/12/18 PHP
PHP实现的策略模式简单示例
2017/08/25 PHP
PHP Primary script unknown 解决方法总结
2019/08/22 PHP
Laravel中正确地返回HTTP状态码方法示例
2019/09/10 PHP
jQuery ctrl+Enter shift+Enter实现代码
2010/02/07 Javascript
AngularJS入门教程之学习环境搭建
2014/12/06 Javascript
js用拖动滑块来控制图片大小的方法
2015/02/27 Javascript
js实现文字垂直滚动和鼠标悬停效果
2015/12/31 Javascript
BootStrap创建响应式导航条实例代码
2016/05/31 Javascript
Vue.js表单标签中的单选按钮、复选按钮和下拉列表的取值问题
2017/11/22 Javascript
微信小程序开发的基本流程步骤
2019/01/31 Javascript
图文讲解vue的v-if使用方法
2019/02/11 Javascript
Jquery Datatables的使用详解
2020/01/30 jQuery
[06:42]DOTA2每周TOP10 精彩击杀集锦vol.1
2014/06/25 DOTA
python 中文字符串的处理实现代码
2009/10/25 Python
python正则匹配抓取豆瓣电影链接和评论代码分享
2013/12/27 Python
利用Python如何生成便签图片详解
2018/07/09 Python
Python 实现取多维数组第n维的前几位
2019/11/26 Python
python paramiko远程服务器终端操作过程解析
2019/12/14 Python
pytorch方法测试——激活函数(ReLU)详解
2020/01/15 Python
网页布局中CSS样式无效的十个重要原因详解
2017/08/10 HTML / CSS
html5关于外链嵌入页面通信问题(postMessage解决跨域通信)
2020/07/20 HTML / CSS
彪马美国官网:PUMA美国
2017/03/09 全球购物
互动出版网:专业书籍
2017/03/21 全球购物
Clarks鞋法国官方网站:英国其乐鞋品牌
2018/02/11 全球购物
Bose英国官方网站:美国知名音响品牌
2020/01/26 全球购物
电钳专业个人求职信
2014/01/04 职场文书
化妆师职业生涯规划书
2014/02/16 职场文书
团代会主持词
2014/04/02 职场文书
服务行业口号
2014/06/11 职场文书
2014教师研修学习体会
2014/07/08 职场文书
党员查摆问题及整改措施
2014/10/10 职场文书
迎新生欢迎词
2015/01/23 职场文书
2019年妇科护士的自我鉴定(3篇)
2019/09/26 职场文书
Java数组详细介绍及相关工具类
2022/04/14 Java/Android