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 相关文章推荐
图书管理程序(三)
Oct 09 PHP
我的群发邮件程序
Oct 09 PHP
php实现的在线人员函数库
Apr 09 PHP
php 接口类与抽象类的实际作用
Nov 26 PHP
php表单提交问题的解决方法
Apr 12 PHP
FireFox浏览器使用Javascript上传大文件
Oct 30 PHP
destoon会员注册提示“数据校验失败(2)”解决方法
Jun 21 PHP
PHP实现即时输出、实时输出内容方法
May 27 PHP
php简单统计字符串单词数量的方法
Jun 19 PHP
php统计数组不同元素的个数的实例方法
Sep 26 PHP
php生成HTML文件的类方法
Oct 11 PHP
phpstorm激活码2020附使用详细教程
Sep 25 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
神族 Protoss 历史背景
2020/03/14 星际争霸
PHP5.0对象模型探索之抽象方法和抽象类
2006/09/05 PHP
使用php检测用户当前使用的浏览器是否为IE浏览器
2013/12/03 PHP
php版淘宝网查询商品接口代码示例
2014/06/17 PHP
Laravel框架中实现使用阿里云ACE缓存服务
2015/02/10 PHP
如何通过Apache在本地配置多个虚拟主机
2020/07/29 PHP
关于JavaScript的gzip静态压缩方法
2007/01/05 Javascript
Javascript 个人笔记(没有整理,很乱)
2007/07/07 Javascript
JavaScript 一行代码,轻松搞定浮动快捷留言-V2升级版
2010/04/02 Javascript
新手常遇到的一些jquery问题整理
2010/08/16 Javascript
JavaScript中的关键字&quot;VAR&quot;使用详解 分享
2013/07/31 Javascript
Jquery 复选框取值兼容FF和IE8(测试有效)
2013/10/29 Javascript
浅析JS中document对象的一些重要属性
2014/03/06 Javascript
jQuery的Ajax用户认证和注册技术实例教程(附demo源码)
2015/12/08 Javascript
js实现多行文本框统计剩余字数功能
2017/03/28 Javascript
Vue2.0利用vue-resource上传文件到七牛的实例代码
2017/07/28 Javascript
Javascript实现一朵从含苞到绽放的玫瑰
2019/03/30 Javascript
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
2019/10/28 Javascript
绘制微信小程序验证码功能的实例代码
2021/01/05 Javascript
python实现用户答题功能
2018/01/17 Python
Python使用sklearn库实现的各种分类算法简单应用小结
2019/07/04 Python
react+django清除浏览器缓存的几种方法小结
2019/07/17 Python
django商品分类及商品数据建模实例详解
2020/01/03 Python
Python如何基于Tesseract实现识别文字功能
2020/06/05 Python
python为什么要安装到c盘
2020/07/20 Python
HTML5给汉字加拼音收起展开组件的实现代码
2020/04/08 HTML / CSS
瑞典时尚服装购物网站:Miinto.se
2017/10/30 全球购物
Book Depository美国:全球领先的专业网上书店之一
2019/08/14 全球购物
MAC彩妆澳洲官网:M·A·C AU
2021/01/17 全球购物
自荐信的基本格式
2014/02/22 职场文书
小区文明倡议书
2014/05/16 职场文书
离婚协议书范文2014
2014/10/16 职场文书
教务处干事工作总结
2015/08/14 职场文书
2016年推广普通话宣传周活动总结
2016/04/06 职场文书
利用python实时刷新基金估值(摸鱼小工具)
2021/09/15 Python
Win11电源已接通但未充电怎么办?Win11电源已接通未充电的解决方法
2022/04/05 数码科技