PHP Master | Tukar HTML ke PDF dengan DOMPDF
PDF adalah format standard yang asalnya dicipta oleh Adobe untuk mewakili teks dan imej dalam dokumen lapisan tetap. Ia tidak biasa untuk aplikasi web untuk menyokong data memuat turun, seperti invois atau laporan, dalam format PDF, jadi dalam artikel ini kita akan melalui bagaimana kita boleh dengan mudah menghasilkan dokumen PDF menggunakan PHP.
DOMPDF adalah perpustakaan yang hebat, yang mampu menghasilkan PDF dari gaya HTML dan gaya CSS (kebanyakannya mematuhi CSS 2.1 dan mempunyai sokongan untuk beberapa sifat CSS3). Kita boleh menentukan bagaimana kandungan kita harus melihat menggunakan teknologi yang biasa ini, dan kemudian dengan mudah menukarnya ke dalam dokumen tetap. Perpustakaan ini mempunyai banyak ciri berguna dan menarik juga.
Takeaways Key
Bermula
DOMPDF boleh didapati di GitHub dan boleh dipasang menggunakan komposer. Mendapatkan pemasangan berasaskan komposer dan berjalan dengan betul diakui masih agak rumit, jadi saya cadangkan hanya menggunakan Git untuk memasang DompDF.
Perpustakaan memerlukan php> = 5.0 dengan sambungan MBSTRING dan DOM diaktifkan. Ia juga memerlukan beberapa fon, yang biasanya terdapat pada kebanyakan mesin.
Navigasi ke mana sahaja anda mahu meletakkan perpustakaan dan laksanakan:
git clone https://github.com/dompdf/dompdf.git
git submodule init
git submodule update
<span><span><?php
</span></span><span><span>set_include_path(get_include_path() . PATH_SEPARATOR . "/path/to/dompdf");
</span></span><span>
</span><span><span>require_once "dompdf_config.inc.php";
</span></span><span>
</span><span><span>$dompdf = new DOMPDF();
</span></span><span>
</span><span><span>$html = <span><span><<<'ENDHTML'</span>
</span></span></span><span><span><html>
</span></span><span><span> <body>
</span></span><span><span> <h1>Hello Dompdf</h1>
</span></span><span><span> </body>
</span></span><span><span></html>
</span></span><span><span><span>ENDHTML<span>;</span></span>
</span></span><span>
</span><span><span>$dompdf->load_html($html);
</span></span><span><span>$dompdf->render();
</span></span><span>
</span><span><span>$dompdf->stream("hello.pdf");</span></span>
Kami telah menjana PDF yang sangat mudah di sini, tetapi itu tidak begitu praktikal. Pada hakikatnya kita sering mempunyai keperluan mengenai saiz kertas, orientasi halaman, pengekodan aksara, dan lain-lain. Terdapat bilangan pilihan konfigurasi yang boleh kita tetapkan untuk menjadikan DOMPDF lebih sesuai untuk keperluan dunia sebenar kita. Semuanya disenaraikan dan dijelaskan dalam dompdf_config.inc.php
yang menetapkan mereka pada nilai lalai mereka. Anda boleh menukar nilai ini dengan mengemas kini fail konfigurasi tersuai DOMPDF_CONFIG.CUSTOM.INC.PHP. Beberapa tetapan penting adalah:
Penggunaan lanjutan
Sekarang mari kita bercakap tentang beberapa kegunaan dOMPDF lanjutan. Mungkin kita mahu menyimpan dokumen PDF yang dihasilkan ke cakera dan bukannya menghantarnya ke pelayar. Begini:
git clone https://github.com/dompdf/dompdf.git
git submodule init
git submodule update
<span><span><?php
</span></span><span><span>set_include_path(get_include_path() . PATH_SEPARATOR . "/path/to/dompdf");
</span></span><span>
</span><span><span>require_once "dompdf_config.inc.php";
</span></span><span>
</span><span><span>$dompdf = new DOMPDF();
</span></span><span>
</span><span><span>$html = <span><span><<<'ENDHTML'</span>
</span></span></span><span><span><html>
</span></span><span><span> <body>
</span></span><span><span> <h1>Hello Dompdf</h1>
</span></span><span><span> </body>
</span></span><span><span></html>
</span></span><span><span><span>ENDHTML<span>;</span></span>
</span></span><span>
</span><span><span>$dompdf->load_html($html);
</span></span><span><span>$dompdf->render();
</span></span><span>
</span><span><span>$dompdf->stream("hello.pdf");</span></span>
Adalah mungkin untuk mengelakkan menggunakan PHP sebaris dan mencapai kesan yang sama secara langsung dari PHP, seperti SO:
git clone https://github.com/dompdf/dompdf.git
git submodule init
git submodule update
Kesimpulan
Dalam artikel ini, kami membincangkan cara menukar HTML dengan mudah menggunakan DOMPDF. Walaupun DOMPDF adalah perpustakaan yang hebat, ia bukan penyelesaian peluru untuk menghasilkan dokumen PDF; Ia mempunyai beberapa batasan dan isu. DOMPDF tidak benar-benar bertolak ansur dengan HTML yang kurang terbentuk, dan jadual besar dapat dengan mudah menyebabkan anda kehabisan ingatan. Sesetengah ciri CSS asas seperti Float tidak disokong sepenuhnya dan hanya ada sokongan terhad untuk CSS3. Jika anda memerlukan ciri -ciri yang tidak disokong oleh DOMPDF, sesuatu seperti WKHTMLTOPDF mungkin penyelesaian yang lebih baik untuk anda. Namun, DompDF agak mudah dan sesuai untuk majoriti keperluan eksport PDF.
Sangat sukar untuk menerangkan semua ciri yang disediakan oleh perpustakaan dalam artikel seperti ini, jadi pastikan untuk menyemak dokumentasi dan kod sumber juga untuk mempelajari ciri -ciri sejuk seperti menambahkan panggilan balik, menggunakan fon tersuai, dan lain -lain. Juga, i Saya gembira dapat membantu anda dalam kepakaran saya yang terhad. Jangan ragu untuk meninggalkan soalan anda dan berkongsi pengalaman anda di bahagian komen.
imej melalui Fotolia
Dan jika anda suka membaca siaran ini, anda akan suka dipelajari; Tempat untuk mempelajari kemahiran dan teknik segar dari Sarjana. Ahli mendapat akses segera ke semua ebook dan kursus dalam talian interaktif SitePoint, seperti Jump Start PHP.
Komen mengenai artikel ini ditutup. Ada soalan mengenai PHP? Mengapa tidak bertanya di forum kami?
Soalan Lazim (Soalan Lazim) Mengenai Menukar HTML ke PDF dengan DompDF
Apa itu DompDF dan mengapa ia digunakan? Ia digunakan kerana ia boleh mengendalikan susun atur HTML yang kompleks, termasuk gaya CSS, JavaScript, dan imej. Ia adalah alat yang berkuasa untuk pemaju yang perlu menghasilkan dokumen PDF dari kandungan HTML. Ia mudah digunakan, fleksibel, dan boleh diintegrasikan ke dalam aplikasi PHP. Anda boleh memasang komposer dan kemudian menjalankan 'komposer perintah memerlukan dompdf/dompdf'. Ini akan memuat turun dan memasang perpustakaan DOMPDF dalam projek anda.
Bolehkah saya menggunakan CSS dengan DOMPDF?
Ya, DompDF menyokong CSS. Anda boleh menggunakan CSS sebaris dalam HTML anda, atau anda boleh menghubungkan ke fail CSS luaran. DOMPDF akan menggunakan gaya apabila menjana PDF. Walau bagaimanapun, sila ambil perhatian bahawa tidak semua sifat CSS disokong.
Bagaimana saya menambah imej ke PDF saya? . Atribut 'SRC' harus menunjuk pada fail imej. DOMPDF akan memasukkan imej dalam PDF yang dihasilkan.
Bolehkah saya menghasilkan PDF dengan beberapa halaman? Sekiranya kandungan HTML anda cukup lama untuk merangkumi beberapa halaman, DOMPDF akan secara automatik memisahkannya ke halaman. Anda juga boleh menambah pecahan halaman secara manual menggunakan CSS.
Bagaimana saya menetapkan saiz dan orientasi halaman?
Anda boleh menetapkan saiz dan orientasi halaman menggunakan kaedah 'set_paper'. Sebagai contoh, anda boleh menggunakan '$ dompdf-> set_paper (' a4 ',' landscape ')' untuk menetapkan saiz halaman ke A4 dan orientasi ke landskap. > Ya, DompDF boleh digunakan dengan Laravel. Terdapat pakej Laravel yang dipanggil 'laravel-dompdf' yang menyediakan cara mudah untuk menggunakan dompdf dalam aplikasi laravel. PDF yang dihasilkan ke fail menggunakan kaedah 'output' dan fungsi 'file_put_contents'. Sebagai contoh, anda boleh menggunakan 'file_put_contents (' mypdf.pdf ', $ dompdf-> output ())' untuk menyimpan pdf ke fail bernama 'mypdf.pdf'. Sebagai respons dalam aplikasi web? Anda boleh menggunakan kaedah 'Stream' untuk menghantar PDF terus ke penyemak imbas. Adalah penting untuk memastikan pemasangan DOMPDF anda terkini dan mengkaji garis panduan keselamatan yang disediakan oleh pasukan DOMPDF.
Atas ialah kandungan terperinci PHP Master | Tukar HTML ke PDF dengan DOMPDF. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

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

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

Undress AI Tool
Gambar buka pakaian secara percuma

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

Alipay Php ...

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Sesi rampasan boleh dicapai melalui langkah -langkah berikut: 1. Dapatkan ID Sesi, 2. Gunakan ID Sesi, 3. Simpan sesi aktif. Kaedah untuk mengelakkan rampasan sesi dalam PHP termasuk: 1. Gunakan fungsi Sesi_Regenerate_ID () untuk menjana semula ID Sesi, 2. Data sesi stor melalui pangkalan data, 3.

Penerapan prinsip pepejal dalam pembangunan PHP termasuk: 1. Prinsip Tanggungjawab Tunggal (SRP): Setiap kelas bertanggungjawab untuk hanya satu fungsi. 2. Prinsip Terbuka dan Tutup (OCP): Perubahan dicapai melalui lanjutan dan bukannya pengubahsuaian. 3. Prinsip Penggantian Lisch (LSP): Subkelas boleh menggantikan kelas asas tanpa menjejaskan ketepatan program. 4. Prinsip Pengasingan Antara Muka (ISP): Gunakan antara muka halus untuk mengelakkan kebergantungan dan kaedah yang tidak digunakan. 5. Prinsip Inversi Ketergantungan (DIP): Modul peringkat tinggi dan rendah bergantung kepada abstraksi dan dilaksanakan melalui suntikan ketergantungan.

Bagaimana cara debug mod CLI dalam phpstorm? Semasa membangun dengan PHPStorm, kadang -kadang kita perlu debug PHP dalam mod Interface Line Command (CLI) ...

Fungsi penghitungan dalam Php8.1 meningkatkan kejelasan dan jenis keselamatan kod dengan menentukan pemalar yang dinamakan. 1) Penghitungan boleh menjadi bilangan bulat, rentetan atau objek, meningkatkan kebolehbacaan kod dan keselamatan jenis. 2) Penghitungan adalah berdasarkan kelas dan menyokong ciri-ciri berorientasikan objek seperti traversal dan refleksi. 3) Penghitungan boleh digunakan untuk perbandingan dan tugasan untuk memastikan keselamatan jenis. 4) Penghitungan menyokong penambahan kaedah untuk melaksanakan logik kompleks. 5) Pemeriksaan jenis dan pengendalian ralat yang ketat boleh mengelakkan kesilapan biasa. 6) Penghitungan mengurangkan nilai sihir dan meningkatkan keupayaan, tetapi memberi perhatian kepada pengoptimuman prestasi.

Bagaimana untuk menetapkan keizinan UnixSocket secara automatik selepas sistem dimulakan semula. Setiap kali sistem dimulakan semula, kita perlu melaksanakan perintah berikut untuk mengubahsuai keizinan UnixSocket: sudo ...

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.
