很多站长朋友们都不太清楚phppdf操作库,今天小编就来给大家整理phppdf操作库,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 许昌鲤鱼IT电脑计算机软件编程培训中心教你如何利用PHP生成PDF文件? 2、 PHP生成PDF,用什么类库好 3、 如何使用PHP创建和修改PDF文档 4、 php处理PDF的扩展库如何使用? 5、 怎么用PHP在HTML中生成PDF文件 许昌鲤鱼IT电脑计算机软件编程培训中心教你如何利用PHP生成PDF文件?在PHP代码中生成PDF文件是一项非常耗时的工作,早期的程序员通常是在PHP代码中利用FPDF生成PDF文件。但在如今,有很多的函数库可以使用,借助它们你可以从你提供的HTML文档生成PDF文件,从而让工作变得简单方便起来。
FPDF是一个PHP类,它允许用纯PHP代码生成PDF文件,这也就是说我们不用使用PDFlib库。FPDF中的F就代表着自由:你可以以各种方式使用它,并根据你的需求调整它。下面我们来看看FPDF的特征:
1. 自由选择单元格,页面格式和边距;
2. 管理页眉和页脚;
3. 自动分页;
4. 自动换行和文本对齐;
5. 支持图片(JPEG,PNG,GIF);
6. 颜色管理;
7. 支持链接;
接下来再介绍一下可以直接从HTML生成PDF的函数库。
DomPDF
DomPDF是一个从HTML到PDF的转换器,它遵循CSS2.1的HTML布局,还有是用PHP编写的渲染引擎。DomPDF以样式为主导:它可以下载和读取外链样式表,内链样式标签和HTML元素的属性。它的特点包括:
1. 处理CSS属性,包括了@import,@media和@page规则;
2. 支持HTML的可见属性;
3. 支持外部样式表,通过本地或http/ftp;
4. 支持复杂的表结构;
8. 支持图片(JPEG,BMP,PNG,GIF);
5. 不依赖于其他PDF库;
TCPDF
TCPDF是一个用于生成PDF文件的开源PHP类,该项目起源于2002年,现在已经有全世界成千上万的人在使用。它的提点包括:
1. 基本功能不需要外部函数库;
2. 支持标准页面格式,自定义页面格式;
3. 支持UTF-8编码和从右向左的语言;
4. 支持各种字体;
5. 支持图片和图形的转换;
6. 支持页面压缩;
7. 支持页眉和页脚管理;
PHP生成PDF,用什么类库好public static function pdfForceView($file_full_path, $title) {
self::clean_before_output();
if(!is_readable($file_full_path)){
return false;
}
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-type: application/pdf');
$filename = trim($title).'.pdf';
if(strpos($_SERVER["HTTP_USER_AGENT"], 'MSIE') !== false){
$filename = rawurlencode($filename);
}
header('Content-Disposition: inline; filename="' . $filename . '"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($file_full_path));
header('Accept-Ranges: bytes');
readfile($file_full_path);
}
用header是最简单的。复杂的建议用 mpdf ,对中文的支持也很友好,也支持js.
如何使用PHP创建和修改PDF文档示例一:使用PHP生成一个简单的PDF文档
以下为引用的内容:
require_once('config/lang/eng.php');
require_once('tcpdf.php');
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 002');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
// remove default header/footer
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
//set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
//set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
//set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
//set some language-dependent strings
$pdf->setLanguageArray($l);
// ---------------------------------------------------------
// set font
$pdf->SetFont('times', 'BI', 20);
// add a page
$pdf->AddPage();
// print a line using Cell()
$pdf->Cell(0, 10, 'Example 002', 1, 1, 'C');
// ---------------------------------------------------------
//Close and output PDF document
$pdf->Output('example_002.pdf', 'I');
?>
使用PHP修改PDF文档
下面我们讨论如何使用PHP修改PDF文档。假设我们需要将一张图片通过PHP程序加入到PDF中,示例代码如下:
示例二:使用PHP在PDF中增加一张图片
以下为引用的内容:
require_once('config/lang/eng.php');
require_once('tcpdf.php');
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 009');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);
// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
//set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
//set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
//set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
//set some language-dependent strings
$pdf->setLanguageArray($l);
// ---------------------------------------------------------
// add a page
$pdf->AddPage();
// set JPEG quality
$pdf->setJPEGQuality(75);
// Image example
$pdf->Image('images/image_demo.jpg', 50, 50, 100, 150, '', '', '', true, 150);
// ---------------------------------------------------------
//Close and output PDF document
$pdf->Output('example_009.pdf', 'I');
?>
php处理PDF的扩展库如何使用?使用附件的文件里面的字体fonts,直接解压到tcpdf文件夹下的fonts下,然后使 用$pdf->SetFont("stsongstdlight", "", 12);
就是用stsongstdlight这个字体,就可以显示出来简体、繁体中文了
注意:要显示繁体字,只需将输入法设为繁体即可
注意:
如果:
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
那么:
页面记得也设为utf-8
输入文字:
单行文本
Cell($w, $h=0, $txt='', $border=0, $ln=0, $align='', $fill=0, $link='', $stretch=0)
Cell(宽, 高, 内容, 边框, 是否换行, 文字对齐, 文字底色,连接, 变宽)
多行文本
MultiCell($w, $h, $txt, $border=0, $align='J', $fill=0, $ln=1, $x='', $y='', $reseth=true, $stretch=0, $ishtml=false, $autopadding=true, $maxh=0)
MultiCell(宽, 高, 内容, 边框,文字对齐, 文字底色, 是否换行, x坐标, y坐标, 变高, 变宽, 是否支持html, 自动填充, 最大高度)
html文字
setHtmlLinksStyle($color=array(0,0,255), $fontstyle='U');
setHtmlLinksStyle(颜色默认蓝色, U有下划线);
addHtmlLink($url, $name, $fill=0, $firstline=false, $color='', $style=-1);
addHtmlLink(超链接地址, 显示文字, 是否有底色, $firstline=false, $color='', $style=-1);
换行
Ln($h='', $cell=false);
Ln(行数, 是否cell);
加密
SetProtection($permissions=array(), $user_pass='', $owner_pass=null);
例如:
$pdf->SetProtection(array('print','modify','copy','annot-forms'), '854230');
图片背景
Image($file, $x, $y, $w, $h, $type, $link, $align, $resize, $dpi, $palign, $ismask, $imgmask, $border);
注意:把图片放语句放在前面,并且使用绝对坐标定位,即可做背景。
输出pdf
$pdf->Output(doc.pdf', 'I');/* 默认是I:在浏览器中打开,D:下载,F:在服务器生成pdf ,S:只返回pdf的字符串,个人感觉无实在意义 */
怎么用PHP在HTML中生成PDF文件php有很多开源的生成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测试数据!');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, PHP');
// 设置页眉和页脚信息
$pdf->SetHeaderData('logo.png', 30, 'Helloweba测试数据', '致力于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测试数据';
$pdf->Write(0,$str1,'', 0, 'L', true, 0, false, false, 0);
//输出PDF
$pdf->Output('t.pdf', 'I');
关于phppdf操作库的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于phppdf操作库 php fpdf的详细内容...