使用PHP處理PDF文件的方法

WBOY
發布: 2023-06-19 14:42:01
原創
3843 人瀏覽過

PDF文件作為一種通用的文件格式,被廣泛應用於各種應用場景,如電子書、報表、合約等等。在開發過程中,我們常常需要對PDF檔案進行產生、編輯、讀取等操作。而PHP作為一種腳本語言,也能夠輕鬆地完成這些任務。本文將介紹使用PHP處理PDF文件的方法。

一、 產生PDF檔

產生PDF檔有許多方法,其中最常見的是使用PDF庫。 PDF庫是一種產生PDF文件的工具,它為PHP提供了PDF文件生成功能。 PHP中最常用的PDF庫是FPDF和TCPDF。

  1. FPDF

FPDF是一個基於PHP的開源PDF庫,它允許使用者動態產生PDF文件。 FPDF簡單易用,支援中文字符,並提供了多種字體和頁面佈局設定。

以下是使用FPDF產生簡單PDF文檔的範例:

require('fpdf.php');

$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();
登入後複製

上述程式碼使用了FPDF庫創建了一個簡單的PDF文檔,設定了頁面字體、大小和內容,並輸出至瀏覽器。執行上述程式碼,便可在瀏覽器中看到產生的PDF文件。

  1. TCPDF

TCPDF是另一個常用的開源PDF庫,與FPDF類似,也提供了許多特性,如中文字元支援、多種字體和頁面佈局設定.相對於FPDF,TCPDF功能更加強大,提供了更多的功能接口,如設定浮水印、新增圖片等。

以下是使用TCPDF產生簡單PDF文檔的範例:

require_once('TCPDF/tcpdf.php');

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('John Doe');
$pdf->SetTitle('TCPDF Example');
$pdf->SetSubject('TCPDF Tutorial');

$pdf->SetFont('dejavusans', '', 14);
$pdf->AddPage();
$pdf->Write(5, 'Hello World');

$pdf->Output('example.pdf', 'I');
登入後複製

上述程式碼使用了TCPDF庫創建了一個簡單的PDF文檔,設定了頁面屬性、字體、大小和內容,並輸出至瀏覽器。

二、編輯PDF檔案

在實際開發中,我們常常需要對現有的PDF檔案進行編輯,例如新增、刪除、移動和修改頁面內容。雖然PHP本身不能直接編輯PDF文件,但是可以藉助一些成熟的PDF庫來實現。

  1. FPDI

FPDI是一個PHP函式庫,它提供了能夠匯入和重複使用現有的PDF文件的方法。 FPDI能夠讀取PDF的每一頁,將其作為後續編輯或重複使用的基礎。

以下是使用FPDI讀取並跳到PDF檔案頁的範例:

require_once('fpdf/fpdf.php');
require_once('fpdi/fpdi.php');

$pdf = new FPDI();
$pageCount = $pdf->setSourceFile("example.pdf");
$pageId = 1;
$templateId = $pdf->importPage($pageId);

$pdf->AddPage();
$pdf->useTemplate($templateId,0,0);

// 访问导入的文档中的信息
$textWidth = $pdf->GetStringWidth('Hello World');
$pdf->SetFont('Arial', null, 14);
$pdf->SetTextColor(255, 0, 0);
$pdf->SetXY(105 - $textWidth / 2, 130);
$pdf->Write(0, 'Hello World');

$pdf->Output('example.pdf','I');
登入後複製

上述程式碼使用FPDF函式庫,並呼叫了FPDI的方法讀取了一個現有的PDF文檔,並跳到指定的頁面。然後,設定了字體、文字顏色和座標,並輸出至瀏覽器。

  1. PDFlib

PDFlib是一個可用於PHP的高階PDF產生庫,它允許使用者動態產生、編輯和輸出PDF檔案。 PDFlib提供的功能非常豐富,支援各種文字字體、多種影像輸出格式、動態圖形和標準PDF元素。

以下是使用PDFlib創建PDF文檔、添加文字和存儲的範例:

$p = new PDFlib();

// 创建PDF文件
if ($p->begin_document("", "") == 0) {
    die("Error: " . $p->get_errmsg());
}

// 设置编码及页码
$p->set_info("Creator", "Hello World");
$p->set_info("Author", "John Doe");
$p->set_info("Title", "Hello World");

$p->begin_page_ext(595, 842, "");

// 加载字体
$font = $p->load_font("Helvetica", "winansi", "");

$p->setfont($font, 24.0);
$p->set_text_pos(50, 700);
$p->show("Hello, World!");

$p->end_page_ext("");
$p->end_document("");

// 保存到本地文件
file_put_contents("example.pdf", $p->get_buffer());
登入後複製

上述程式碼使用PDFlib庫創建了一個新的PDF文檔並添加了文字,然後將其存儲到本地文件中。

三、讀取PDF檔案

讀取PDF檔案是一種非常重要的功能。在許多情況下,我們需要讀取PDF文件中的內容,如產生報表、提取資料等。 PHP提供了許多函式庫來實作PDF檔的讀取操作。

  1. pdftotext

pdftotext是用來將PDF文件轉換為文字格式的工具。它可以從PHP中調用,取得PDF檔案的文字內容。

以下是使用pdftotext庫讀取PDF文檔並提取文字的範例:

$text = shell_exec('pdftotext example.pdf -');
echo $text;
登入後複製

上述程式碼使用pdftotext庫讀取PDF文檔,並將其文字內容輸出至瀏覽器。

  1. PDF Parser

PDF Parser是一個PHP函式庫,它提供了一個從現有PDF文件中提取內容的方法。 PDF Parser能夠讀取PDF文件中的所有文字內容,並將其轉換為易於處理的格式。

以下是使用PDF Parser讀取PDF文檔並提取文字的範例:

require_once('vendor/autoload.php');

$parser = new SmalotPdfParserParser();
$pdf = $parser->parseFile('example.pdf');

$text = $pdf->getText();
echo $text;
登入後複製

上述程式碼使用PDF Parser庫讀取PDF文檔,並將其文字內容輸出至瀏覽器。

總結

本文介紹了使用PHP處理PDF檔案的方法。我們學習了使用PDF庫產生PDF文件、使用FPDI和PDFlib編輯PDF文件以及使用pdftotext和PDF Parser讀取PDF文件。儘管這些方法涵蓋了許多常見的PDF處理任務,但PHP提供的PDF庫和工具還有更多功能待探索和挖掘,讀者可以根據需要選用不同的方法來處理PDF文件。

以上是使用PHP處理PDF文件的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!