PHP程序pdf格式文件函數(shù)庫(kù)
創(chuàng)新互聯(lián)IDC提供業(yè)務(wù):光華機(jī)房服務(wù)器托管,成都服務(wù)器租用,光華機(jī)房服務(wù)器托管,重慶服務(wù)器租用等四川省內(nèi)主機(jī)托管與主機(jī)租用業(yè)務(wù);數(shù)據(jù)中心含:雙線機(jī)房,BGP機(jī)房,電信機(jī)房,移動(dòng)機(jī)房,聯(lián)通機(jī)房。
本函數(shù)庫(kù)共有65個(gè)函數(shù)
PDF是Adobe所發(fā)展的可攜式文件格式,它的文件可以在網(wǎng)絡(luò)上傳輸、瀏覽,甚至使用印表機(jī)印出,或使用其它輸出裝置輸出,都可以保存原來的文字及圖片的編排。詳細(xì)的信息可以參考 Adobe 的網(wǎng)站。參考其中有關(guān) PDF 或 Acrobat 的部份。
在 UNIX 系統(tǒng)中,可以使用 Thomas Merz 開發(fā)的 PDF 函數(shù)庫(kù)。將它編譯安裝完成后,再編譯 PHP 程序方可供 PHP 使用 pdflib。編譯時(shí)可能要 JPEG library 及 TIFF library。
除了用這個(gè)函數(shù)庫(kù)可以建立 PDF 文件外,F(xiàn)astIO 公司發(fā)展的產(chǎn)品 ClibPDF 也可以處理 PDF 文件。
以下為處理 PDF 文件的范例,本例對(duì) 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.php3finished/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: 配置文件標(biāo)題。
PDF_set_info_subject: 配置文件主題。
PDF_set_info_keywords: 配置文件的關(guān)鍵字。
PDF_set_info_author: 配置文件作者。
PDF_open: 建立新的 PDF 檔。
PDF_close: 關(guān)閉 PDF 檔。
PDF_begin_page: 啟始 PDF 文件頁(yè)面。
PDF_end_page: 關(guān)閉 PDF 文件頁(yè)面。
PDF_show: 輸出字符串到 PDF 文件。
PDF_show_xy: 輸出字符串到指定坐標(biāo)。
PDF_set_font: 配置使用的字型及大小。
PDF_set_leading: 配置行距。
PDF_set_text_rendering: 配置文字表現(xiàn)方式。
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: 計(jì)算字符串的寬度。
PDF_save: 儲(chǔ)存環(huán)境變量。
PDF_restore: 還原環(huán)境變量。
PDF_translate: 移動(dòng)原點(diǎn)。
PDF_scale: 縮放類。
PDF_rotate: 旋轉(zhuǎn)類。
PDF_setflat: 配置平滑值。
PDF_setlinejoin: 配置連接參數(shù)。
PDF_setlinecap: 配置 linecap 參數(shù)。
PDF_setmiterlimit: 配置斜邊界限。
PDF_setlinewidth: 配置線寬。
PDF_setdash: 配置虛線樣式。
PDF_moveto: 配置處理的坐標(biāo)點(diǎn)。
PDF_curveto: 繪貝氏曲線。
PDF_lineto: 繪直線。
PDF_circle: 繪圓。
PDF_arc: 繪弧。
PDF_rect: 繪長(zhǎng)方形。
PDF_closepath: 形成封閉的向量形狀。
PDF_stroke: 沿向量繪線。
PDF_closepath_stroke: 形成封閉的向量形狀并沿向量繪線。
PDF_fill: 填滿目前的向量。
PDF_fill_stroke: 填滿目前的向量并沿向量繪線。
PDF_closepath_fill_stroke: 形成封閉的向量形狀沿向量繪線并填滿。
PDF_endpath: 關(guān)閉目前向量。
PDF_clip: 組合所有向量。
PDF_setgray_fill: 指定填入的顏色為灰階。
PDF_setgray_stroke: 指定繪圖的顏色為灰階。
PDF_setgray: 指定繪圖的顏色為灰階并填入。
PDF_setrgbcolor_fill: 指定填入的顏色為彩色。
PDF_setrgbcolor_stroke: 指定繪圖的顏色為彩色。
PDF_setrgbcolor: 指定繪圖的顏色為彩色并填入。
PDF_add_outline: 目前頁(yè)面加入書簽。
PDF_set_transition: 配置頁(yè)的轉(zhuǎn)換。
PDF_set_duration: 配置二頁(yè)的切換時(shí)間。
PDF_open_gif: 打開 GIF 圖檔。
PDF_open_memory_image: 打開內(nèi)存圖檔。
PDF_open_jpeg: 打開 JPEG 圖檔。
PDF_close_image: 關(guān)閉圖檔。
PDF_place_image: 放置圖片到 PDF 檔指定位置。
PDF_put_image: 放置圖片到 PDF 檔。
PDF_execute_image: 放置 PDF 檔中圖片到指定位置。
PDF_add_annotation: 加入注釋。
下載不了了,選擇最長(zhǎng)的stream/endstream中間部分,然后用Zlib解壓,通常能看到shellcode,shellcode繼續(xù)解密就行了
猜的沒錯(cuò)的話解出來應(yīng)該是load.php?id=30
使用附件的文件里面的字體fonts,直接解壓到tcpdf文件夾下的fonts下,然后使 用$pdf-SetFont("stsongstdlight", "", 12);
就是用stsongstdlight這個(gè)字體,就可以顯示出來簡(jiǎn)體、繁體中文了
注意:要顯示繁體字,只需將輸入法設(shè)為繁體即可
注意:
如果:
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
那么:
頁(yè)面記得也設(shè)為utf-8
輸入文字:
單行文本
Cell($w, $h=0, $txt='', $border=0, $ln=0, $align='', $fill=0, $link='', $stretch=0)
Cell(寬, 高, 內(nèi)容, 邊框, 是否換行, 文字對(duì)齊, 文字底色,連接, 變寬)
多行文本
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(寬, 高, 內(nèi)容, 邊框,文字對(duì)齊, 文字底色, 是否換行, x坐標(biāo), y坐標(biāo), 變高, 變寬, 是否支持html, 自動(dòng)填充, 最大高度)
html文字
setHtmlLinksStyle($color=array(0,0,255), $fontstyle='U');
setHtmlLinksStyle(顏色默認(rèn)藍(lán)色, U有下劃線);
addHtmlLink($url, $name, $fill=0, $firstline=false, $color='', $style=-1);
addHtmlLink(超鏈接地址, 顯示文字, 是否有底色, $firstline=false, $color='', $style=-1);
換行
Ln($h='', $cell=false);
Ln(行數(shù), 是否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);
注意:把圖片放語句放在前面,并且使用絕對(duì)坐標(biāo)定位,即可做背景。
輸出pdf
$pdf-Output(doc.pdf', 'I');/* 默認(rèn)是I:在瀏覽器中打開,D:下載,F(xiàn):在服務(wù)器生成pdf ,S:只返回pdf的字符串,個(gè)人感覺無實(shí)在意義 */
$fp?=?fopen("./static/pdf/pdf/Report.pdf",?"r");
header("Content-type:?application/pdf");
fpassthru($fp);
fclose($fp);
這樣可以直接看,不知道符不符合你的要求。