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 header 详细使用说明与使用心得

    php header 详细使用说明与使用心得

    下面是关于header函数的详细使用说明
    2009-11-11
  • PHP中file_exists与is_file,is_dir的区别介绍

    PHP中file_exists与is_file,is_dir的区别介绍

    很显然file_exists是受了asp的影响,因为asp不但有fileExists还有folderExists,driverExists,那么PHP中file_exists是什么意思呢
    2012-09-09
  • PHP strncasecmp字符串比较的小技巧

    PHP strncasecmp字符串比较的小技巧

    好象,大多时候,我们对于字符串的比较都是采用了 strtolower或者strtoupper之后,再判断是否相等。
    2011-01-01
  • 详解PHP框架EasySwoole

    详解PHP框架EasySwoole

    EasySwoole是一款常驻内存型的分布式swoole框架,专为API而生,支持同时混合监听HTTP、WebSocket、自定义TCP、UDP协议,且拥有丰富的组件,例如协程 连接池、TP风格的协程ORM、协程微信SDK等诸多组件。让开发者编写出多进程,可异步,高可用的应用服务。
    2021-05-05
  • phar绕过phar与HALT实现文件上传功能

    phar绕过phar与HALT实现文件上传功能

    这篇文章主要介绍了phar绕过phar与HALT实现文件上传功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-12-12
  • PHP的几个常用加密函数

    PHP的几个常用加密函数

    在网站的开发过程中,常常需要对部分数据(如用户密码)进行加密,本文主要介绍PHP的几个常见的加密函数,需要的朋友可以参考下
    2016-02-02
  • PHP中设置时区方法小结

    PHP中设置时区方法小结

    今天发现一段PHP代码中的时间判断语句出了点问题,研究了一下发现问题出在PHP的时区设置上,PHP所取的时间默认是格林威治标准时间,所以和北京时间相差8小时
    2012-06-06
  • PHP Ajax实现无刷新附件上传

    PHP Ajax实现无刷新附件上传

    这篇文章为大家详细主要介绍了PHP Ajax实现无刷新附件上传功能的具体代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • PHP动态生成指定大小随机图片的方法

    PHP动态生成指定大小随机图片的方法

    这篇文章主要介绍了PHP动态生成指定大小随机图片的方法,涉及PHP根据传入参数动态生成图片的相关技巧,需要的朋友可以参考下
    2016-03-03
  • 浅析Laravel5中队列的配置及使用

    浅析Laravel5中队列的配置及使用

    Laravel5提供了完善的队列功能,只需要简单的配置即可使用。这里简单记录下Laravel5中关于队列的配置及使用。
    2016-08-08

最新评论