當前位置:首頁 » 編程語言 » php解析pdf

php解析pdf

發布時間: 2024-12-23 14:40:01

1. 如何從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: 加入注釋。

2. php 如何實現在線預覽文件如:txt,doc,pdf等

第一種 預覽

$file = fopen($path,"r"); // 打開文件
// 輸入文件標簽
Header("Content-type: application/pdf");
// Header("filename:" . $file_name);
// 輸出文件內容
echo fread($file,filesize($path));
fclose($file);

第二種下載

Header("Content-type: application/pdf");// 文件將被稱為 downloaded.pdf
header("Content-Disposition:attachment;filename='downloaded.pdf'");readfile($path);
第三種預覽
Header("Content-type: application/pdf");// 文件將被稱為 downloaded.pdf
header("Content-Disposition:inline;filename='downloaded.pdf'");readfile($path);
第四種下載
$file = fopen($path,"r"); // 打開文件
// 輸入文件標簽
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-Length: ".filesize($path));
Header("Content-Disposition: attachment; filename=" . $file_name);
// 輸出文件內容
echo fread($file,filesize($path));
fclose($file);

3. 為什麼我下載的PDF文件是PHP格式

PHP是網頁,你的PDF文件在PHP做的網頁中,但是下載的時候沒有跳轉,或者本身下載出錯,就會出現你的這種情況。
解決:換個別的網站。或者再次點擊下載。
PS:這種鏈接只能用滑鼠左鍵點擊了等跳轉,不能右鍵(迅雷、QQ旋風)等下載。

4. 請問通過介面返回的pdf的文件流,怎麼用php把這些文件流轉為pdf文件

直接將文件流內容寫入文件,而文件的後綴名設為 pdf 格式就可以了;PHP 不管保存文件流還是文本,都是用這種方式;

$path="demo.pdf";
$ret=file_put_contents($path,$arr['data']);
if($ret){
echo'保存成功';//然後可以取查看文件
}
熱點內容
安卓上哪裡下大型游戲 發布:2024-12-23 15:10:58 瀏覽:188
明日之後目前適用於什麼配置 發布:2024-12-23 14:56:09 瀏覽:52
php全形半形 發布:2024-12-23 14:55:17 瀏覽:827
手機上傳助手 發布:2024-12-23 14:55:14 瀏覽:731
什麼樣的主機配置吃雞開全效 發布:2024-12-23 14:55:13 瀏覽:828
安卓我的世界114版本有什麼 發布:2024-12-23 14:42:17 瀏覽:708
vbox源碼 發布:2024-12-23 14:41:32 瀏覽:275
詩經是怎麼存儲 發布:2024-12-23 14:41:29 瀏覽:659
屏蔽視頻廣告腳本 發布:2024-12-23 14:41:24 瀏覽:418
php解析pdf 發布:2024-12-23 14:40:01 瀏覽:818