Bagaimana untuk memproses fail PDF menggunakan PHP
Jun 19, 2023 pm 02:41 PMSebagai 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
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
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
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); // 訪問導(dǎo)入的文檔中的信息 $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
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(); // 創(chuàng)建PDF文件 if ($p->begin_document("", "") == 0) { die("Error: " . $p->get_errmsg()); } // 設(shè)置編碼及頁(yè)碼 $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
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
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!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tostaycurrentwithphpdevelopmentsandbestpractices, followeyNewsssourcesLikePhp.netandphpweekly, engageWithCommunitiesonforumsandconference, keeptoolingupdatedandgraduallyAdoptNewFeatures, dan readribcoursourcourceSource

Phpbecamepopularforwebdevelopmentduetoitseaseoflearning, seamlessintegrationwithhtml, widespreadhostingsupport, andalargeecosystemincludingframeworkslikelaravelandcmsplatformsLikeWordPress.itexcelsinhandessubmissions

TosetTheRightTimeZoneinPhp, USEDATE_DEFAULT_TIMEZONE_SET () functionAtthestArtAfyourscriptwithavalididentifiersuchas'america/new_york'.1.usedate_default_timeSet ()

TOVALIDATEUSERIputInphp, UsEbuilt-InvalidationFunctionsLikeFilter_var () danFilter_Input (), applyRegularExpressionsforcustomformatssuchasususerorphonenumbers, checkdatatypesfornumericressplimeSpriceSprice, setLengthacheAngeAgeorpriceSprice, setLengthacheArpesenprice,

ThPhpFunctionserialize () andUnserialize () diselaraskanToConvertComplexDataStructructDestoresIntoStorasandabackagain.1.Serialize () C overtsdatalikeCarraysorObjectSrayStringContainingTyPeanStructureStructureStructureStructure.2.2Serialize ()

Anda boleh membenamkan kod PHP ke dalam fail HTML, tetapi pastikan fail itu mempunyai lanjutan .php supaya pelayan dapat menghuraikannya dengan betul. Gunakan tag standard untuk membungkus kod PHP, masukkan kandungan dinamik di mana sahaja di HTML. Di samping itu, anda boleh menukar PHP dan HTML beberapa kali dalam fail yang sama untuk merealisasikan fungsi dinamik seperti rendering bersyarat. Pastikan anda memberi perhatian kepada konfigurasi pelayan dan ketepatan sintaks untuk mengelakkan masalah yang disebabkan oleh label pendek, kesilapan tanda petikan atau label akhir yang ditinggalkan.

Kunci untuk menulis kod PHP yang bersih dan mudah dijaga terletak pada penamaan yang jelas, berikutan piawaian, struktur yang munasabah, menggunakan komen dan kesesuaian yang baik. 1. Gunakan pembolehubah, fungsi dan nama kelas yang jelas, seperti $ userData dan calculateToTalPrice (); 2. Ikuti gaya kod bersatu piawai PSR-12; 3. Pecahkan struktur kod mengikut tanggungjawab, dan aturnya menggunakan katalog MVC atau Laravel; 4. Elakkan kod gaya mi dan memecah logik ke dalam fungsi kecil dengan satu tanggungjawab; 5. Tambah komen pada mata utama dan tulis dokumen antara muka untuk menjelaskan parameter, pulangan nilai dan pengecualian; 6. Meningkatkan kebolehlihatan, mengguna pakai suntikan pergantungan, mengurangkan kaedah keadaan global dan statik. Amalan ini meningkatkan kualiti kod, kecekapan kerjasama dan kemudahan pasca penyelenggaraan.

Ya, youpanrunsqlqueriesusingphp, danTheProcessinvolveschoosingadatabaseextension, connectingTothedatabase, executingqueriSafely, andclosingconnectionswhendone.todothis, firstChoosebetweBetbeSquLiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpdob
