細說phppdf
① 怎麼用php在HTML中生成PDF文件
FPDF是一個允許使用純PHP生成PDF文檔的PHP類,換句話說,沒有使用PDFlib 函數庫。FPDF中的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的擴展庫如何使用
首先引入pdf擴展
然後下面這些方法 組合著用,就跟拼頁面一樣就可以啦,差什麼放什麼?不知道的結合下擴展文檔或者試一下,不難的!
pdf->SetFont();
pdf->Cell();
pdf->writeHTML();
pdf->Image( 'foot.png');
pdf->AddPage();
pdf->output();
......
借花獻佛
③ 如何使用php修改pdf中的內容,並且保證格式不亂
誒,最終是找到一個不太令人滿意的辦法,客戶端上傳pdf改為docx,然後通過phpword中模板替換變數的方法去替換,最後在伺服器端用libreoffice對docx進行PDF的轉換,這樣勉強能達到效果。感覺上php還是不太適合做這樣的事情,如果要排版完全不亂,提交的docx文檔必須是通過libreoffic編寫的。還有就是微軟的office是厲害,親自試了一下,無論是libreoffice還是wps編寫的docx,都能排版完好的轉換為pdf。
到後盾人上去看看.你要的答案很多.都是一線教師親自錄制的.內容比較多
④ 請問通過介面返回的pdf的文件流,怎麼用php把這些文件流轉為pdf文件
直接將文件流內容寫入文件,而文件的後綴名設為 pdf 格式就可以了;PHP 不管保存文件流還是文本,都是用這種方式;
$path="demo.pdf";
$ret=file_put_contents($path,$arr['data']);
if($ret){
echo'保存成功';//然後可以取查看文件
}
⑤ 為什麼我下載的PDF文件是PHP格式
PHP是網頁,你的PDF文件在PHP做的網頁中,但是下載的時候沒有跳轉,或者本身下載出錯,就會出現你的這種情況。
解決:換個別的網站。或者再次點擊下載。
PS:這種鏈接只能用滑鼠左鍵點擊了等跳轉,不能右鍵(迅雷、QQ旋風)等下載。
⑥ 如何從php程序讀取pdf文檔中的文本信息
PHP程序pdf格式文件函數庫
本函數庫共有65個函數
PDF是Adobe所發展的可攜式文件格式,它的文件可以在網路上傳輸、瀏覽,甚至使用印表機印出,或使用其它輸出裝置輸出,都可以保存原來的文字及圖片的編排。詳細的信息可以參考 Adobe 的網站。參考其中有關 PDF 或 Acrobat 的部份。
在 UNIX 系統中,可以使用 Thomas Merz 開發的 PDF 函數庫。將它編譯安裝完成後,再編譯 PHP 程序方可供 PHP 使用 pdflib。編譯時可能要 JPEG library 及 TIFF library。
除了用這個函數庫可以建立 PDF 文件外,FastIO 公司發展的產品 ClibPDF 也可以處理 PDF 文件。
以下為處理 PDF 文件的範例,本例對 test.pdf 加工後等待用戶讀取。
<?php
$fp = fopen("test.pdf", "w");
$pdf = PDF_open($fp);
pdf_set_info_author($pdf, "Uwe Steinmann");
PDF_set_info_title($pdf, "Test for PHP wrapper of PDFlib 2.0");
PDF_set_info_author($pdf, "Name of Author");
pdf_set_info_creator($pdf, "See Author");
pdf_set_info_subject($pdf, "Testing");
PDF_begin_page($pdf, 595, 842);
PDF_add_outline($pdf, "Page 1");
pdf_set_font($pdf, "Times-Roman", 30, 4);
pdf_set_text_rendering($pdf, 1);
PDF_show_xy($pdf, "Times Roman outlined", 50, 750);
pdf_moveto($pdf, 50, 740);
pdf_lineto($pdf, 330, 740);
pdf_stroke($pdf);
PDF_end_page($pdf);
PDF_close($pdf);
fclose($fp);
echo "<A HREF=getpdf.php3>finished</A>";
?>
上例中的 gettest.php3 可能像下面的樣子
<?php
$fp = fopen("test.pdf", "r");
header("Content-type: application/pdf");
fpassthru($fp);
fclose($fp);
?>
PDF_get_info: 返迴文件信息。
PDF_set_info_creator: 配置建檔者字元串。
PDF_set_info_title: 配置文件標題。
PDF_set_info_subject: 配置文件主題。
PDF_set_info_keywords: 配置文件的關鍵字。
PDF_set_info_author: 配置文件作者。
PDF_open: 建立新的 PDF 檔。
PDF_close: 關閉 PDF 檔。
PDF_begin_page: 啟始 PDF 文件頁面。
PDF_end_page: 關閉 PDF 文件頁面。
PDF_show: 輸出字元串到 PDF 文件。
PDF_show_xy: 輸出字元串到指定坐標。
PDF_set_font: 配置使用的字型及大小。
PDF_set_leading: 配置行距。
PDF_set_text_rendering: 配置文字表現方式。
PDF_set_horiz_scaling: 配置文字水平間距。
PDF_set_text_rise: 配置文字高度。
PDF_set_text_matrix: 配置文字矩陣。
PDF_set_text_pos: 配置文字位置。
PDF_set_char_spacing: 配置字元間距。
PDF_set_word_spacing: 配置字間距。
PDF_continue_text: 輸出文字。
PDF_stringwidth: 計算字元串的寬度。
PDF_save: 儲存環境變數。
PDF_restore: 還原環境變數。
PDF_translate: 移動原點。
PDF_scale: 縮放類。
PDF_rotate: 旋轉類。
PDF_setflat: 配置平滑值。
PDF_setlinejoin: 配置連接參數。
PDF_setlinecap: 配置 linecap 參數。
PDF_setmiterlimit: 配置斜邊界限。
PDF_setlinewidth: 配置線寬。
PDF_setdash: 配置虛線樣式。
PDF_moveto: 配置處理的坐標點。
PDF_curveto: 繪貝氏曲線。
PDF_lineto: 繪直線。
PDF_circle: 繪圓。
PDF_arc: 繪弧。
PDF_rect: 繪長方形。
PDF_closepath: 形成封閉的向量形狀。
PDF_stroke: 沿向量繪線。
PDF_closepath_stroke: 形成封閉的向量形狀並沿向量繪線。
PDF_fill: 填滿目前的向量。
PDF_fill_stroke: 填滿目前的向量並沿向量繪線。
PDF_closepath_fill_stroke: 形成封閉的向量形狀沿向量繪線並填滿。
PDF_endpath: 關閉目前向量。
PDF_clip: 組合所有向量。
PDF_setgray_fill: 指定填入的顏色為灰階。
PDF_setgray_stroke: 指定繪圖的顏色為灰階。
PDF_setgray: 指定繪圖的顏色為灰階並填入。
PDF_setrgbcolor_fill: 指定填入的顏色為彩色。
PDF_setrgbcolor_stroke: 指定繪圖的顏色為彩色。
PDF_setrgbcolor: 指定繪圖的顏色為彩色並填入。
PDF_add_outline: 目前頁面加入書簽。
PDF_set_transition: 配置頁的轉換。
PDF_set_ration: 配置二頁的切換時間。
PDF_open_gif: 打開 GIF 圖檔。
PDF_open_memory_image: 打開內存圖檔。
PDF_open_jpeg: 打開 JPEG 圖檔。
PDF_close_image: 關閉圖檔。
PDF_place_image: 放置圖片到 PDF 檔指定位置。
PDF_put_image: 放置圖片到 PDF 檔。
PDF_execute_image: 放置 PDF 檔中圖片到指定位置。
PDF_add_annotation: 加入注釋。