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

 更新时间:2014年11月07日 10:23:19   投稿:shichen2014  
这篇文章主要介绍了PHP实现HTML生成PDF文件的方法,可实现linux中利用HTML2FPDF与wkhtmltoimage把网页html直接生成pdf格式的文件,需要的朋友可以参考下

本文实例讲述了在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编码规范

    为了提高工作效率,保证开发的有效性和合理性,并最大程度提高程序代码的可读性和可重复利用性,提高沟通效率,需呀一份代码编辑规范。
    2015-09-09
  • php使用filter_var函数判断邮箱,url,ip格式示例

    php使用filter_var函数判断邮箱,url,ip格式示例

    这篇文章主要介绍了php使用filter_var函数判断邮箱,url,ip格式,简单分析了php filter_var函数的功能、参数,并结合实例形式给出了filter_var函数判断邮箱,url,ip格式的相关操作技巧,需要的朋友可以参考下
    2019-07-07
  • PHP swoole中http_server的配置与使用方法实例分析

    PHP swoole中http_server的配置与使用方法实例分析

    这篇文章主要介绍了PHP swoole中http_server的配置与使用方法,结合实例形式分析了swoole中swoole_http_server类的功能及http_server的配置、创建服务相关使用技巧,需要的朋友可以参考下
    2020-03-03
  • php+mysql实现数据库随机重排实例

    php+mysql实现数据库随机重排实例

    这篇文章主要介绍了php+mysql实现数据库随机重排,讲述了MySQL的查找及更新等处理技巧,有一定的参考借鉴价值,需要的朋友可以参考下
    2014-10-10
  • php自定义函数实现统计中文字符串长度的方法小结

    php自定义函数实现统计中文字符串长度的方法小结

    这篇文章主要介绍了php自定义函数实现统计中文字符串长度的方法,结合实例形式总结分析了php针对中文的判定、编码与运算相关操作技巧,需要的朋友可以参考下
    2017-04-04
  • 在html文件中也可以执行php语句的方法

    在html文件中也可以执行php语句的方法

    这篇文章主要介绍了在html文件中也可以执行php语句的方法,需要的朋友可以参考下
    2015-04-04
  • 基于laravel制作APP接口(API)

    基于laravel制作APP接口(API)

    这篇文章主要介绍了基于laravel制作APP接口(API)的相关资料,需要的朋友可以参考下
    2016-03-03
  • PHP实现网络请求的方法总结

    PHP实现网络请求的方法总结

    对于php发送网络请求,我们最常用的请求就是curl,有时我们也会用到file_get_contents函数发送网络请求。本文为大家总结了php实现网络请求的方法及函数,感兴趣的可以学习一下
    2022-06-06
  • php swoole多进程/多线程用法示例【基于php7nts版】

    php swoole多进程/多线程用法示例【基于php7nts版】

    这篇文章主要介绍了php swoole多进程/多线程用法,结合实例形式分析了基于php7nts版使用swoole进行多线程创建、调用相关操作技巧,需要的朋友可以参考下
    2019-08-08
  • thinkphp(php)插件钩子(hooks)分析的简单实现机制

    thinkphp(php)插件钩子(hooks)分析的简单实现机制

    现在主流的cms或者blog等系统中,都内置的有插件系统,但是层层深入、剖析实现的方式,其实都是最简单的钩子的复杂化的实现。这篇文章主要介绍了thinkphp(php)插件钩子(hooks)分析的简单实现机制,需要的朋友可以参考下
    2023-03-03

最新评论