PHP HTML 生成 PDF - Just Code - ITeye博客


本站和网页 https://www.iteye.com/blog/justcoding-601108 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

PHP HTML 生成 PDF - Just Code - ITeye博客
首页
资讯
精华
论坛
问答
博客
专栏
群组
下载
资源
搜索
您还未登录!
登录
天梯梦
浏览:
13405156 次
性别:
来自:
洛杉矶
最近访客
更多访客>>
bcrun
hur5457
lng87108
fuhongyao
博主相关
博客
微博
相册
收藏
留言
关于我
文章分类
全部博客 (1994)
Php / Pear / Mysql / Node.js (378)
Javascript /Jquery / Bootstrap / Web (435)
Phone / IOS / Objective-C / Swift (137)
Ubuntu / Mac / Github / Aptana / Nginx / Shell / Linux (335)
Perl / Koha / Ruby / Markdown (8)
Java / Jsp (12)
Python 2 / Wxpython (25)
Codeigniter / CakePHP (32)
Div / Css / XML / HTML5 (179)
WP / Joomla! / Magento / Shopify / Drupal / Moodle / Zimbra (275)
Apache / VPN / Software (31)
AS3.0/2.0 / Flex / Flash (45)
Smarty (6)
SEO (24)
Google / Facebook / Pinterest / SNS (80)
Tools (22)
社区版块
我的资讯 (
0)
我的论坛 (
16)
我的问答 (
0)
存档分类
2016-09
5)
2016-08
50)
2016-07
70)
更多存档...
最新评论
1455975567:
xuezhongyu01 写道wocan23 写道我想问下那个 ...
Mysql: LBS实现查找附近的人 (两经纬度之间的距离)
xuezhongyu01:
wocan23 写道我想问下那个111.1是怎么得来的我也看不 ...
Mysql: LBS实现查找附近的人 (两经纬度之间的距离)
18335864773:
试试 pageoffice 在线打开 PDF 文件吧. pag ...
jquery在线预览PDF文件,打开PDF文件
青春依旧:
opacity: 0.5; 个人喜欢这种方式!关于其他css特 ...
css透明度的设置 (兼容所有浏览器)
July01:
推荐用StratoIO打印控件,浏览器和系统的兼容性都很好,而 ...
搞定网页打印自动分页问题
天梯梦
PHP HTML 生成 PDF
博客分类: Php / Pear / Mysql / Node.js
HTMLPHPFP脚本CSS
阅读更多
有时我们需要使用脚本动态的创建PDF文档,这里介绍一些免费的开源PHP脚本来生成PDF 的方法。
1.FPDF: PDF生成器
FPDF是一个纯粹的通过PHP类来生成PDF文档的方法,需要生成的内容直接在PHP代码中来指定,生成文字,图片,线条等等,都有自己的方法。下面介 绍一个用FPDF来生成”Hello World”的PDF文档:
<?php
require(‘fpdf.php’);
$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont(‘Arial’,'B’,16);
$pdf->Cell(40,10,’Hello World!’);
$pdf->Output();
?>
要生成PDF文档,首先我们需要包括库文件fpdf.php。
然后,我们需要建立一个FPDF对象使用默认构造FPDF(),这种构造可以通过三个值即页面方向(纵向或横向),计量单位,和页面大小( A4,A5……),默认情况下,页面大小为A4,计量单位是毫米。
它也可以被明确地指明:
$pdf=new FPDF(‘P’,'mm’,'A4′);
然后用AddPage()函数来增加一个页面,左上角和页面的内容在默认情况下边距为1厘米,当然我们可以使用SetMargins()来改变。要生成一 段文本,首先我们要使用SetFont()来选择一种字体和字号。
$pdf->SetFont(‘Arial’,'B’,16);
我们使用Cell()函数来输出一个文本。一个Cell()是一个载有文字的矩形区域。 最后,我们要关闭这个文件并且把它输出,这就是用到了$pdf->Output();,我们还可以在这里指定我们想要使用的文件名, 如$pdf->Output(’sample.pdf’);
这里只是简要的分析了一个例子,如果想获得更多的帮助,大家可以浏览:http://www.fpdf.org
2.HTML2FPDF: HTML到PDF的转换
HTML2FPDF是一个PHP类库使用FPDF类库HTML文件转换为PDF文件。这个库由三个类别即PDF格式, HTML2FPDF和FPDF组成。
下面介绍一个用HTML2FPDF来转换HTML
<?php
require('html2fpdf.php');
$pdf=new HTML2FPDF();
$pdf->AddPage();
$fp = fopen("sample.html","r");
$strContent = fread($fp, filesize("sample.html"));
fclose($fp);
$pdf->WriteHTML($strContent);
$pdf->Output("sample.pdf");
echo "PDF file is generated successfully!";
?>
首先,我们需要包括库文件html2fpdf.php,使用HTML2FPDF()构造函数来构造一个实例。
然后使 用$pdf->AddPage()为新的PDF添加一个新的页面。这时我们可以使用PHP自带的文件操作函数来读取一个HTML文件,把这个HTML文件的内容传给函数$pdf->WriteHTML($strContent),这样HTML内容就被写入到PDF文件中了,最后和 FPDF 的操作一样,通过output(),将文件输出。
这也只是一个简单的例子,如果想获得更多的帮助,可以浏览:http://html2fpdf.sourceforge.net 这里有这个例子的代码供大家下载
3.TCPDF: PDF的转换
特性
TCPDF具有以下特性:
1、支持页面页脚;
2、支持HTML标签代码;
3、支持jpg/png/gif/svg图形图像;
4、支持表格;
5、支持中文字符;(有些PDF类不支持中文或者处理中文相当麻烦)
6、自动分页,自动页码,等等。
如何使用
您可以从TCPDF官网获取最新版本:http://www.tcpdf.org。官网提供了几十个示例以及说明文档,下载解压后一定要注意文件路径,如何使用TCPDF,可以从以下5个步骤完成:
1、require_once导入tcpdf.php文件及相关配置信息;
2、实例化TCPDF;
3、设置PDF文档的格式,包括文档信息、页眉、页尾、字体、外间距、图片边框、分页等;
4、导入PDF文档的内容,可以是单行或多行简单字符串,也可以HTML格式的字符串等;
5、输出PDF文档。
代码示例:
require_once('tcpdf.php');
//实例化
$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);
// 设置文档信息
$pdf->SetCreator('Helloweba');
$pdf->SetAuthor('yueguangguang');
$pdf->SetTitle('Welcome to helloweba.com!');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, PHP');
// 设置页眉和页脚信息
$pdf->SetHeaderData('logo.png', 30, 'Helloweba.com', '致力于WEB前端技术在中国的应用',
array(0,64,255), array(0,64,128));
$pdf->setFooterData(array(0,64,0), array(0,64,128));
// 设置页眉和页脚字体
$pdf->setHeaderFont(Array('stsongstdlight', '', '10'));
$pdf->setFooterFont(Array('helvetica', '', '8'));
// 设置默认等宽字体
$pdf->SetDefaultMonospacedFont('courier');
// 设置间距
$pdf->SetMargins(15, 27, 15);
$pdf->SetHeaderMargin(5);
$pdf->SetFooterMargin(10);
// 设置分页
$pdf->SetAutoPageBreak(TRUE, 25);
// set image scale factor
$pdf->setImageScale(1.25);
// set default font subsetting mode
$pdf->setFontSubsetting(true);
//设置字体
$pdf->SetFont('stsongstdlight', '', 14);
$pdf->AddPage();
$str1 = '欢迎来到Helloweba.com';
$pdf->Write(0,$str1,'', 0, 'L', true, 0, false, false, 0);
//输出PDF
$pdf->Output('t.pdf', 'I');
 保存后用浏览器打开,如果您的系统安装了PDF阅读器或者使用google chrome直接在浏览器中打开,否则会提示下载生成的PDF。
TCPDF官网示例(含六七十个示例代码)
官网下载地址:http://sourceforge.net/projects/tcpdf/files/
下载
另附: php生成PDF的常用类
FPDF
FPDF 这个PHP Class允许你采用纯PHP(更确切地说就是不需要使用PDFlib)来生成PDF文件。它所具有的特点包括:可选择的unit大小,页面格式和页边 距;页眉和页脚管理;自动分页;自动换行与文本自动对齐;支持JPEG与PNG图片格式;支持着色和文件超链接;支持TrueType,Type1与 encoding;支持页面压缩。
HTML2PDF
HTML2PDF能够把一个HTML文本转换成一个打印机友好的PDF文件。这个PHP脚本构建在FPDF PHP脚本之上。
TCPDF
TCPDF是一个用于快速生成PDF文件的PHP5函数包。TCPDF基于FPDF进行扩展和改进。支持UTF-8,Unicode,HTML和 XHTML。
html2ps
html2ps 能够把带有图片,复杂表格(包含rowspan/colspan) ,layer/div和css样式的HTML转换成Postscript与PDF。 html2ps对CSS2.1支持非常好,并且很好地兼容不正确的HMTL。它甚至能够转换几乎是采用CSS设计的网站如msn.com。
HTML_ToPDF
HTML_ToPDF能够把任何HTML文档转换成在任何平台和打印机下界面格式都一样的PDF文档。它包括支持图片转换,使用样式表来定制PDF 文件和错误处理。
cPdfWriter
cPdfWriter是一个能够输出PDF文档的PHP5 class。基于TCPDF,FPDF和其它相关脚本。
dompdf
dompdf是一个HTML到PDF的转换工具。它的核心是一个遵循大部份CSS2.1样式的Rendering引擎。dompdf采用样式驱动, 它能够下载并读取外部样式,整个样式标签和单个HTML元素的样式属性。它同样支持目当大部份HTML属性。
html2pdf_sample.rar (96.5 KB)
下载次数: 1454
doc152-html-zh_CN.zip (35.4 KB)
下载次数: 611
fpdf16.zip (190.5 KB)
下载次数: 714
分享到:
PHP 使用header函数设置HTTP头的示例方法 ...
Joomla!程序中加载JS和CSS的方法
2010-02-24 00:48
浏览 73140
评论(4)
分类:编程语言
查看更多
评论
4 楼
51ask
2017-03-03
PHP 生成 PDFhttp://www.51ask.org/article/232php 将html转为pdf。不影响htmlhttp://www.51ask.org/question/229
3 楼
wjywjy678
2010-07-13
可能,我在上海这里一直打不开
2 楼
天梯梦
2010-07-08
我这里(纽约)是可以打开的,是不是你那里网络的原因?
1 楼
wjywjy678
2010-07-08
http://www.fpdf.org打不开了?
发表评论
您还没有登录,请您登录后再发表评论
相关推荐
php生成PDF插件
这是php 生成PDF的一个插件。 “HTML2PDF” ,它是把 html 代码转成pdf文件。 所以我要做的就是,用php 构建html 字符串。 详细看例子。很简单的,一看就明白。
TCPD类 PHP生成PDF417二维条码
PHP通过TCPD类可生成PDF417二维条码。 使用方法:实例化类 TCPDF2DBarcode(文件tcpdf_barcodes_2d.php),使用getBarcodePNG方法即可生成。 例:新建个PHP文件 barcode.php <?php require_once ("tcpdf_barcodes_...
Web页面生成PDF(html to pdf)
wkhtmltopdf,支持web页面生成PDF,比其他pdf生成工具兼容性好一点,易用一点,方便一点。PHP html to pdf
多个HTML利用php批量生产PDF报告
为了实现批量化,利用php脚本实现HTML报告批量生产PDF
PHP实现HTML生成PDF文件的方法
主要介绍了PHP实现HTML生成PDF文件的方法,可实现linux中利用HTML2FPDF与wkhtmltoimage把网页html直接生成pdf格式的文件,需要的朋友可以参考下
PHP生成PDF所需的FPDF类库
经常会要生成PDF文件,那么PDF类库必不可少,这个类库文件可以插入HTML代码生成PDF文件,也可以单独写入每行文字制作PDF文件,使用方式参考链接:https://www.jianshu.com/p/b4c55c675c06
MPDF HTML网页生成PDF文件并下载
通过MPDF工具,实现HTML5网页内容生成PDF文件,并实现PDF文件的预览和下载,PDF内容和网页内容一致
mPDF一个将UTF8编码的HTML生成PDF文件的PHP库
它基于FPDF和HTML2FPDF,并具有许多增强功能
MPDF类库插入HTML生成PDF
生成PDF所需的MPDF类库,使用MPDF可以直接将HTML插入到PDF中来生成PDF文件,使用案例参考链接:https://www.jianshu.com/p/90b431070a0c
mpdf6.0 PHP生成pdf插件
PHP代码通过利用mpdf插件可以将html文档生成pdf文档。
强大的php生成word ,html,rtf,pdf框架(包含中文文档)
添加GD生成图片14 添加水印14 添加对象15 添加标题15 添加目录16 表格17 添加表格17 添加行17 添加单元格17 单元格样式19 表格样式20 页脚22 页眉23 模版23 其他问题修改25 解决文本缩进问题25 表格...
MPDF php生成pdf类
mpdf将html文件生成pdf 完美支持css 完美支持书签,分页
使用PHP把HTML生成PDF文件的几个开源项目介绍
但是如今,已经有很多函数库可以使用了,并且能够从你提供的HTML文件生成PDF文档。这让原先耗时的工作变得非常简单了。 FPDF是很早就被使用的,其特点如下: FPDF FPDF是一个允许使用纯PHP生成PDF文档的PHP类,...
php html转pdf 工具类包html2pdf
求解该资源生成的pdf内容无法实现居中功能,最要命的是蚊子内容不换行。求解决方法啊。哎。
PHP库从UTF-8编码HTML生成PDF文件-PHP开发
mPDF是一个PHP库,可以从UTF-8编码HTML生成PDF文件。 它基于FPDF和HTML2FPDF(请参阅CREDITS),具有许多增强功能。 mPDF由Ian Back编写,并根据GNU GPL v2许可发布。 N mPDF是一个PHP库,可以从UTF-8编码HTML生成...
PHP中使用TCPDF生成PDF文档实例
实际工作中,我们要使用PHP动态的创建PDF文档,目前有许多开源的PHP创建PDF的类库,今天我给大家来介绍一款优秀的PDF库,它就是TCPDF,TCPDF是一个用于快速生成PDF文件的PHP5函数包。TCPDF基于FPDF进行扩展和改进,...
laravel-pdf:从Laravel 5内部HTML轻松生成PDF文档
Laravel PDF:Laravel 5的mPDF包装器使用此mPDF包装器,可以从Laravel内部HTML轻松生成PDF文档。安装在composer.json需要此软件包,或通过运行以下命令进行安装: composer require niklasravnsborg/laravel-pdf注意...
PHP: 在类(class)中加载动态函数, 变量函数或半变量函数 variable function/method
2016-09-03 07:54
6965
最终实例在下方
以前 ...
MySQL入门 (七) : 储存引擎与资料型态
2016-09-03 07:49
4374
1 表格与储存引擎
表格(table)是资料库中用来储存 ...
MySQL入门 (六) : 字元集与资料库
2016-09-03 07:47
4363
1 Character Set与Collation
任何 ...
MySQL入门 (五) : CRUD 与资料维护
2016-09-03 07:46
5322
1 取得表格资讯
1.1 DESCRIBE指令
「 ...
MySQL入门 (四) : JOIN 与UNION 查询
2016-09-03 07:42
4296
1 使用多个表格
在「world」资料库的「countr ...
PHP: 关键字global 和 超全局变量$GLOBALS的用法、解释、区别
2016-08-31 12:07
4862
$GLOBALS 是一个关联数组,每一个变量为一个 ...
MySQL入门 (三) : 运算式与函式
2016-08-31 12:01
4185
运算式(expressions)已经 ...
MySQL入门 (二) : SELECT 基础查询
2016-08-31 11:56
4532
1 查询资料前的基本概念
1.1 表格、纪录 ...
MySQL入门 (一) : 资料库概论与MySQL的安装
2016-08-31 11:51
4294
1. 储存与管理资料
储存与管理资料一直是资讯应用上最基本 ...
MySQL入门 (九) : 子查询 Subquery
2016-08-30 02:26
4307
1 一个叙述中的查询叙述
子查询(subquery)是一 ...
PHP: 用readonly取代disabled来获取input值 submit a disabled input in a form could not ge
2016-08-30 02:21
2509
The form is like below;
<f ...
PHP7革新与性能优化
2016-08-30 02:20
2010
有幸参与2015年的PHP技 ...
Mysql: 图解 inner join、left join、right join、full outer join、union、union all的区别
2016-08-18 06:03
2934
对于SQL的Join,在学习起来可能是比较乱的。我们知道, ...
Comet 反Ajax: 基于jQuery与PHP实现Ajax长轮询(LongPoll)
2016-08-18 06:00
1232
传统的AJAX轮询方式,客服端以用户定义的时间间隔去服务器上 ...
PHP:ServerPush (Comet推送) 技术的探讨
2016-08-18 05:58
894
PHP中Push(推送)技术的探讨  [http://vi ...
PHP: 手把手编写自己的 MVC 框架实例教程
2016-08-16 05:33
1652
1 什么是MVC
MVC模式(Model-View-Con ...
PHP5: mysqli 插入, 查询, 更新和删除 Insert Update Delete Using mysqli (CRUD)
2016-07-29 12:55
1452
原文: PHP5: mysqli 插入, 查询, 更新 ...
MongoDB 教程索引 (附有视频)
2016-07-27 10:54
615
MongoDB 教程索引
MongoDB 教程一: ...
Node.js 模块之Nimble流程控制
2016-07-18 12:59
944
NodeJS异步的特性有时候 ...
Node.js web应用模块之Supervisor
2016-07-18 12:56
2174
在开发或调试Node.js应 ...
Global site tag (gtag.js) - Google Analytics