❶ 怎麼用PHP在HTML中生成PDF文件
FPDF是一個允許使用純PHP生成PDF文檔的PHP類,換句話說,沒有使用PDFlib 函數庫。中的F代表免費和自由:你可以在任何情況下使用,並且支持自定義,來滿足你特定的需求,特點:
1、可以選擇單元、頁面格式和邊距
2、可以管理頁眉和頁腳
3、自動分頁
4、自動換行和文本對齊
5、支持圖片(JPEG,PNG,gif)
6、色彩豐富,支持鏈接
順便也介紹一些可以直接從HTML生成PDF的函數庫。
DomPDF
domPDF將HTML轉換為PDF。DomPDF遵循CSS2.1的HTML布局,它是用PHP編寫的渲染引擎。DomPDF以樣式為主導:它會下載並讀取外鏈樣式表,內聯樣式和HTML元素的style屬性值。並且還支持大部分的HTML可見屬性。
特點:
1、處理大部分CSS2.1和少許CSS3屬性,包括@import, @media & @page 規則
2、支持大部分HTML 4.1的可見屬性
3、支持外部樣式表,包括本地或者http/ftp鏈接的(通過fopen-wrappers)
4、支持復雜的表結構,包括行和列的span,separate & collapsed border models和獨立的cell樣式
5、支持圖片(gif, png, bmp & jpeg)
6、不依賴於其他的PDF函數庫
TCPDF
TCPDF也可以用於生成PDF文檔,並且它是一個開源的PHP類庫。
TCPDF項目開始於2002年,現在已經被成千上萬的人自由使用。TCPDF is a Free Libre Open Source Software (FLOSS).
特點:
1、基本功能不依賴於其他PDF函數庫
2、標准頁面格式、支持頁面格式自定義、邊距自定義和單元計量
3、支持UTF-8編碼和文字方向從右到左的語言。
4、支持TrueTypeUnicode, OpenTypeUnicode, TrueType, OpenType, Type1 and CID-0等字體
5、支持字體子集,並提供方法發布一些XHTML + CSS code, Javascript and Forms
6、支持圖片和圖形的轉換
7、支持頁面壓縮(需要php-zlib擴展)
8、自動管理頁眉和頁腳
❷ 如何使用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, '', 'http://www.tcpdf.org', '', true, 150);
// ---------------------------------------------------------
//Close and output PDF document
$pdf->Output('example_009.pdf', 'I');
?>
❸ php生成PDF格式文件並且加密
本文給大家介紹的是如何使用php生成pdf文件,並且把該文件加密或設置訪問密碼的方法,有需要的小夥伴可以參考下。
項目需求:php生成pdf文件,並且把該文件加密或設置訪問密碼
開源的TCPDF是基於PHP的一套類庫,它能夠很好的生成PDF格式的文檔。並且支持文件加密,在目前的開源PHP框架、系統、應用中也使用得很廣。這里是設置PDF文檔的相關屬性的方法原型,其中就可以設置密碼
?
1
2
3
4
5
6
7
8
TCPDF::SetProtection
(
$permissions
=
array('print',
'modify',
'',
'annot-forms',
'fill-forms',
'extract',
'assemble',
'print-high'),
$user_pass
=
'',
$owner_pass
=
null,
$mode
=
0,
$pubkeys
=
null
)
通過SetProtection()方法設置後,生成的PDF文檔就是加密過的,在用戶打開PDF文檔的時候就會要求輸入訪問密碼
❹ 請問通過介面返回的pdf的文件流,怎麼用php把這些文件流轉為pdf文件
直接將文件流內抄容寫入文件,而文件的後綴名設為 pdf 格式就可以了;PHP 不管保存文件流還是文本,都是用這種方式;
$path="demo.pdf";
$ret=file_put_contents($path,$arr['data']);
if($ret){
echo'保存成功';//然後可以取查看文件
}
❺ 如何通過php將fpdf生成的pdf文檔自動保存到伺服器指定的路徑
$pdf->SetDisplayMode("real");
$date_dir = date('Ymd');
$pdf->Output('a.pdf', 'F');
❻ php下載pdf
PHP下載什麼文件的方法都是一樣的:
$content=file_get_contents('http://....../xxx.pdf');//下載到內存
file_put_contents('xxx.pdf', $content);//存檔
只是不要內下載大容文件喲