当前位置:首页 > PHP教程 > php高级应用 > 列表

如何用PHP导出PDF

发布:smiling 来源: PHP粉丝网  添加日期:2022-04-29 09:23:45 浏览: 评论:0 

实际工作中,我们要使用PHP动态的创建PDF文档,目前有许多开源的PHP创建PDF的类库,今天我给大家来介绍一款优秀的PDF库,它就是TCPDF,TCPDF是一个用于快速生成PDF文件的PHP5函数包。TCPDF基于FPDF进行扩展和改进,增强了实用功能。

准备工作

首先查询了相关的类库,有FPDF,zendPDF,TcPDF等等。首先看了下先选择了FPDF,可以说除了中文字符以外没有什么问题,中文乱码而且看了下最新版本没有很好的解决方案,所以只能放弃。后来就专门找支持中文的发现了TcPDF,开始也是中文字体支持不是很好,但是发现了有人做了中文的语言包才使得TcPDF更加完美起来。

简介

TCPDF 是一个流行的用于生成 PDF 文档的 PHP 类。TCPDF是当前唯一完整支持 UTF-8 Unicode 以及从右至左书写的语言包括双向文稿的 PHP 库。

TCPDF说明文档

一、首先调用TCPDF文件

require_once('tcpdf.php');

二、实例化TCPDF类 页面方向(P =肖像,L =景观)、测量(mm)、页面格式

$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);

代码实现:

  1. vendor('Pdf'); 
  2.         $pdf = new \TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); 
  3.  
  4.         $pdf->SetCreator(PDF_CREATOR); 
  5.         $pdf->SetAuthor('sunnier'); 
  6.         $pdf->SetTitle('123'); 
  7.         $pdf->SetSubject('123'); 
  8.         $pdf->SetKeywords('sunnier'); 
  9.  
  10. // set default header data 
  11.         $pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING); 
  12.  
  13. // set header and footer fonts 
  14.         $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); 
  15.         $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); 
  16.  
  17. // set default monospaced font 
  18.         $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); 
  19.  
  20. // set margins 
  21.         $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); 
  22.         $pdf->SetHeaderMargin(PDF_MARGIN_HEADER); 
  23.         $pdf->SetFooterMargin(PDF_MARGIN_FOOTER); 
  24.  
  25. // set auto page breaks 
  26.         $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); 
  27.  
  28. // set image scale factor 
  29.         $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); 
  30.  
  31. // set some language-dependent strings (optional) 
  32.         global $l
  33.         $pdf->setLanguageArray($l); 
  34.  
  35. // --------------------------------------------------------- 
  36.  
  37. // set font 
  38.         $pdf->SetFont('simfang''', 10); 
  39. // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  40. // Print a table 
  41.  
  42. // add a page 
  43.         $pdf->AddPage(); 
  44.  
  45. // 随便写HTML 
  46.         $html = 'adsf'
  47.  
  48. // output the HTML content 
  49.         $pdf->writeHTML($html, true, false, true, false, ''); 
  50.  
  51. // reset pointer to the last page 
  52.         $pdf->lastPage(); 
  53.         $pdf->Output('哈哈哈'.pdf', 'I'); 

以上,可以不断添加addPage,添加多页,最后Output输出自己的名字的文件即可。

演示图:

如何用PHP导出PDF

可以看到其中可以插入图片也是没有问题的,写法就按照html写就OK,当然不只是支持HTML,只是这里比较适合这种方式。

Tags: 如何用PHP导出PDF

分享到: