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脚本的10个技巧(4)
Oct 09 PHP
ThinkPHP页面跳转success与error方法概述
Jun 25 PHP
PHP实现事件机制的方法
Jul 10 PHP
微信公众平台开发之配置与请求
Aug 26 PHP
WordPress中用于获取文章信息以及分类链接的函数用法
Dec 18 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
Jul 20 PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
Oct 25 PHP
PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)
Dec 02 PHP
PHP异常处理定义与使用方法分析
Jul 25 PHP
php ajax confirm 删除实例详解
Mar 06 PHP
PHP中遍历数组的三种常用方法实例分析
Jun 24 PHP
YII2框架中日志的配置与使用方法实例分析
Mar 18 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
综合图片计数器
2006/10/09 PHP
php数组查找函数in_array()、array_search()、array_key_exists()使用实例
2014/04/29 PHP
PHP进程通信基础之信号量与共享内存通信
2017/02/19 PHP
javascript之更有效率的字符串替换
2008/08/02 Javascript
jquery multiSelect 多选下拉框
2010/07/09 Javascript
javascript函数以及基础写法100多条实用整理
2013/01/13 Javascript
JQuery判断子iframe何时加载完成解决方案
2013/08/20 Javascript
jquery遍历筛选数组的几种方法和遍历解析json对象
2013/12/13 Javascript
JavaScript调用浏览器打印功能实例分析
2015/07/17 Javascript
jquery.validate提示错误信息位置方法
2016/01/22 Javascript
javascript中利用柯里化函数实现bind方法【推荐】
2016/04/29 Javascript
ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法
2016/09/22 Javascript
Bootstrap基本组件学习笔记之下拉菜单(7)
2016/12/07 Javascript
详解Node.js利用node-git-server快速搭建git服务器
2017/09/27 Javascript
如何实现小程序tab栏下划线动画效果
2019/05/18 Javascript
微信小程序监听用户登录事件的实现方法
2019/11/11 Javascript
[30:37]【全国守擂赛】第三周擂主赛 Dark Knight vs. Leopard Gaming
2020/05/04 DOTA
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
2018/05/11 Python
python实现字符串加密成纯数字
2019/03/19 Python
Python3利用print输出带颜色的彩色字体示例代码
2019/04/08 Python
python按比例随机切分数据的实现
2019/07/11 Python
在python中计算ssim的方法(与Matlab结果一致)
2019/12/19 Python
基于pytorch中的Sequential用法说明
2020/06/24 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
2021/01/05 Python
波兰运动鞋网上商店:e-Sporting
2018/02/16 全球购物
英国邮购活的植物主要供应商:Gardening Direct
2019/01/28 全球购物
用C#语言写出与SQLSERVER访问时的具体过程
2013/04/16 面试题
国际金融专业大学生职业生涯规划书
2013/12/28 职场文书
参观监狱心得体会
2014/01/02 职场文书
计算机专业职业生涯规划范文
2014/01/19 职场文书
2014年高考决心书
2014/03/11 职场文书
商业计算机应用专业自荐书
2014/06/09 职场文书
公务员党员评议表自我鉴定
2014/09/14 职场文书
2019交通安全宣传标语集锦!
2019/06/28 职场文书
nginx前后端同域名配置的方法实现
2021/03/31 Servers
海康机器人重磅发布全新算法开发平台VM4.2
2022/04/21 数码科技