Sebagai format fail universal, fail PDF digunakan secara meluas dalam pelbagai senario aplikasi, seperti e-buku, laporan, kontrak, dsb. Semasa proses pembangunan, kita selalunya perlu menjana, mengedit, membaca dan operasi lain pada fail PDF. Sebagai bahasa skrip, PHP juga boleh menyelesaikan tugasan ini dengan mudah. Artikel ini akan memperkenalkan cara menggunakan PHP untuk memproses fail PDF.
1. Jana fail PDF
Terdapat banyak cara untuk menjana fail PDF, yang paling biasa ialah menggunakan pustaka PDF. Perpustakaan PDF ialah alat untuk menjana dokumen PDF, yang menyediakan fungsi penjanaan dokumen PDF untuk PHP. Perpustakaan PDF yang paling biasa digunakan dalam PHP ialah FPDF dan TCPDF.
FPDF ialah perpustakaan PDF sumber terbuka berdasarkan PHP yang membolehkan pengguna menjana dokumen PDF secara dinamik. FPDF adalah ringkas dan mudah digunakan, menyokong aksara Cina, dan menyediakan pelbagai fon dan tetapan susun atur halaman.
Berikut ialah contoh penggunaan FPDF untuk menjana dokumen PDF ringkas:
require('fpdf.php'); $pdf = new FPDF(); $pdf->AddPage(); $pdf->SetFont('Arial','B',16); $pdf->Cell(40,10,'Hello World!'); $pdf->Output();
Kod di atas menggunakan perpustakaan FPDF untuk mencipta dokumen PDF ringkas, tetapkan fon halaman, saiz dan kandungan , dan output ke penyemak imbas. Jalankan kod di atas dan anda boleh melihat dokumen PDF yang dihasilkan dalam penyemak imbas.
TCPDF ialah satu lagi pustaka PDF sumber terbuka yang biasa digunakan Serupa dengan FPDF, ia juga menyediakan banyak ciri, seperti sokongan aksara Cina, berbilang fon dan reka letak halaman . Berbanding dengan FPDF, TCPDF lebih berkuasa dan menyediakan antara muka yang lebih berfungsi, seperti menetapkan tera air, menambah gambar, dsb.
Berikut ialah contoh penggunaan TCPDF untuk menjana dokumen PDF ringkas:
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');
Kod di atas menggunakan perpustakaan TCPDF untuk mencipta dokumen PDF mudah, menetapkan sifat halaman, fon, saiz dan kandungan dan output ke penyemak imbas.
2. Edit fail PDF
Dalam pembangunan sebenar, kita selalunya perlu mengedit fail PDF sedia ada, seperti menambah, memadam, mengalih dan mengubah suai kandungan halaman. Walaupun PHP sendiri tidak boleh mengedit fail PDF secara langsung, ia boleh dicapai dengan bantuan beberapa perpustakaan PDF yang matang.
FPDI ialah perpustakaan PHP yang menyediakan kaedah untuk mengimport dan menggunakan semula dokumen PDF sedia ada. FPDI boleh membaca setiap halaman PDF dan menggunakannya sebagai asas untuk penyuntingan atau penggunaan semula seterusnya.
Berikut ialah contoh penggunaan FPDI untuk membaca dan melompat ke halaman fail 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');
Kod di atas menggunakan perpustakaan FPDF dan memanggil kaedah FPDI untuk membaca dokumen PDF sedia ada dan lompat ke halaman yang ditentukan. Kemudian, fon, warna teks dan koordinat ditetapkan dan dikeluarkan kepada penyemak imbas.
PDFlib ialah perpustakaan generasi PDF lanjutan untuk PHP yang membolehkan pengguna menjana, mengedit dan mengeluarkan fail PDF secara dinamik. PDFlib menyediakan set ciri yang kaya, menyokong pelbagai fon teks, berbilang format output imej, grafik dinamik dan elemen PDF standard.
Berikut ialah contoh penggunaan PDFlib untuk mencipta dokumen PDF, menambah teks dan menyimpannya:
$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());
Kod di atas menggunakan perpustakaan PDFlib untuk mencipta dokumen PDF baharu, menambah teks dan kemudian simpannya ke fail tempatan.
3. Membaca fail PDF
Membaca fail PDF ialah fungsi yang sangat penting. Dalam kebanyakan kes, kita perlu membaca kandungan dalam fail PDF, seperti menjana laporan, mengekstrak data, dsb. PHP menyediakan banyak perpustakaan untuk melaksanakan operasi membaca fail PDF.
pdftotext ialah alat untuk menukar dokumen PDF kepada format teks. Ia boleh dipanggil daripada PHP untuk mendapatkan kandungan teks fail PDF.
Berikut ialah contoh menggunakan perpustakaan pdftotext untuk membaca dokumen PDF dan mengekstrak teks:
$text = shell_exec('pdftotext example.pdf -'); echo $text;
Kod di atas menggunakan perpustakaan pdftotext untuk membaca dokumen PDF dan mengeluarkan kandungan teksnya kepada pelayar.
PDF Parser ialah perpustakaan PHP yang menyediakan cara untuk mengekstrak kandungan daripada dokumen PDF sedia ada. PDF Parser dapat membaca semua kandungan teks dalam dokumen PDF dan menukarnya ke dalam format yang mudah diproses.
Berikut ialah contoh menggunakan PDF Parser untuk membaca dokumen PDF dan mengekstrak teks:
require_once('vendor/autoload.php'); $parser = new SmalotPdfParserParser(); $pdf = $parser->parseFile('example.pdf'); $text = $pdf->getText(); echo $text;
Kod di atas menggunakan perpustakaan PDF Parser untuk membaca dokumen PDF dan mengeluarkan kandungan teksnya ke pelayar.
Ringkasan
Artikel ini memperkenalkan cara menggunakan PHP untuk memproses fail PDF. Kami belajar menggunakan perpustakaan PDF untuk menjana fail PDF, menggunakan FPDI dan PDFlib untuk mengedit fail PDF, dan menggunakan pdftotext dan PDF Parser untuk membaca fail PDF. Walaupun kaedah ini merangkumi banyak tugas pemprosesan PDF biasa, perpustakaan dan alatan PDF yang disediakan oleh PHP mempunyai lebih banyak fungsi untuk diterokai dan dilombong Pembaca boleh memilih kaedah yang berbeza untuk memproses fail PDF mengikut keperluan mereka.
Atas ialah kandungan terperinci Bagaimana untuk memproses fail PDF menggunakan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!