PHP HTML 生成 PDF (轉)

有時咱們須要使用腳本動態的建立PDF文檔,這裏介紹一些免費的開源PHP腳原本生成PDF 的方法。php


1.FPDF: PDF生成器 css


FPDF是一個純粹的經過PHP類來生成PDF文檔的方法,須要生成的內容直接在PHP代碼中來指定,生成文字,圖片,線條等等,都有本身的方法。下面介紹一個用FPDF來生成」Hello World」的PDF文檔:html

 

Php代碼 複製代碼  收藏代碼
  1. <?php   
  2. require(‘fpdf.php’);   
  3.   
  4. $pdf=new FPDF();   
  5. $pdf->AddPage();   
  6. $pdf->SetFont(‘Arial’,'B’,16);   
  7. $pdf->Cell(40,10,’Hello World!’);   
  8. $pdf->Output();   
  9. ?>  
<?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。git


而後,咱們須要創建一個FPDF對象使用默認構造FPDF(),這種構造能夠經過三個值即頁面方向(縱向或橫向),計量單位,和頁面大小( A4,A5……),默認狀況下,頁面大小爲A4,計量單位是毫米。sql


它也能夠被明確地指明:dom

 

Php代碼 複製代碼  收藏代碼
  1. $pdf=new FPDF(‘P’,'mm’,'A4′);  
$pdf=new FPDF(‘P’,'mm’,'A4′);
 

而後用AddPage()函數來增長一個頁面,左上角和頁面的內容在默認狀況下邊距爲1釐米,固然咱們可使用SetMargins()來改變。要生成一段文本,首先咱們要使用SetFont()來選擇一種字體和字號。tcp

 

Php代碼 複製代碼  收藏代碼
  1. $pdf->SetFont(‘Arial’,'B’,16);  
$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代碼 複製代碼  收藏代碼
  1. <?php   
  2. require('html2fpdf.php');   
  3.   
  4. $pdf=new HTML2FPDF();   
  5. $pdf->AddPage();   
  6. $fp = fopen("sample.html","r");   
  7. $strContent = fread($fpfilesize("sample.html"));   
  8. fclose($fp);   
  9. $pdf->WriteHTML($strContent);   
  10. $pdf->Output("sample.pdf");   
  11. echo "PDF file is generated successfully!";   
  12. ?>  
<?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

這裏有這個例子的代碼供你們下載

 

 

 

另附: 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屬性。

 

 

相關文章
相關標籤/搜索