Html ke perpustakaan pdf php

Pembuatan otomatis file PDF adalah salah satu poin terpenting dari sebuah proyek (komersial atau tidak). Karena mungkin, PDF yang dibuat bukan untuk Anda atau tim, tetapi untuk klien yang menuntut, Anda perlu memberikan solusi yang memenuhi semua harapan dan persyaratan

Dalam beberapa kasus, bukan karena persyaratan pelanggan yang berlebihan tetapi perpustakaan yang Anda gunakan untuk menghasilkan PDF, Anda akan menemukan diri Anda terbatas dan kemungkinan besar dalam masalah untuk memberikan solusi bagi klien

Pada artikel ini, kami akan menunjukkan 5 pustaka pembuatan PDF yang paling penting yang akan membantu Anda mencapai PDF yang kompleks dan luas itu

Bagian atas ini didasarkan pada poin yang berbeda seperti seberapa mudah penerapannya, kasus penggunaan, pengguna library, fungsi, dan status pengembangan

5. FPDF

Contoh

FPDF adalah kelas PHP yang memungkinkan untuk menghasilkan file PDF dengan PHP murni, artinya tanpa menggunakan pustaka PDFlib. F dari FPDF adalah singkatan dari Free. Anda dapat menggunakannya untuk segala jenis penggunaan dan memodifikasinya sesuai dengan kebutuhan Anda

FPDF memiliki keunggulan lain. fungsi tingkat tinggi, antara fitur utamanya adalah

  • Pilihan satuan ukuran, format halaman, dan margin
  • Manajemen header dan footer halaman
  • Hentian halaman otomatis
  • Pemisahan baris otomatis dan pembenaran teks
  • Dukungan gambar (JPEG, PNG dan GIF)
  • Warna
  • Tautan
  • Dukungan TrueType, Type1, dan penyandian
  • Kompresi halaman

FPDF tidak memerlukan ekstensi (kecuali Zlib untuk mengaktifkan kompresi dan GD untuk dukungan GIF). Versi terbaru membutuhkan setidaknya PHP 5. 1

Cuplikan berikut menunjukkan PDF dasar yang dibuat dengan FPDF

<?php
require('fpdf/fpdf.php');

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

4. mPDF

mPDF adalah kelas PHP yang menghasilkan file PDF dari HTML yang disandikan UTF-8. Ini didasarkan pada FPDF dan HTML2FPDF , dengan sejumlah penyempurnaan. mPDF ditulis oleh Ian Back dan dirilis di bawah lisensi GNU GPL v2 .

Sebelum mulai menggunakannya, kami mendorong Anda untuk membaca dokumentasi yang ada di https. //mpdf. github. io/ .

Cuplikan berikut menampilkan PDF dasar setelah penginstalan komposer dengan mPDF

<?php
require_once __DIR__ . '/vendor/autoload.php';

$mpdf = new mPDF();

// Write some HTML code:

$mpdf->WriteHTML('<h1>Hello World</h1><br><p>My first PDF with mPDF</p>');

// Output a PDF file directly to the browser
$mpdf->Output();
?>
_

3. DOMPDF

Github

Dompdf (kebanyakan) adalah CSS 2. 1 tata letak HTML yang sesuai dan mesin rendering yang ditulis dalam PHP. Ini adalah perender gaya-driven. itu akan mengunduh dan membaca lembar gaya eksternal, tag gaya sebaris, dan atribut gaya dari masing-masing elemen HTML. Ini juga mendukung sebagian besar atribut HTML presentasional

Fitur

  • Menangani sebagian besar CSS 2. 1 dan beberapa properti CSS3, termasuk aturan @import, @media & @halaman
  • Mendukung sebagian besar presentasi HTML 4. 0 atribut
  • Mendukung stylesheet eksternal, baik lokal maupun melalui http/ftp (melalui fopen-wrappers)
  • Mendukung tabel kompleks, termasuk rentang baris & kolom, model batas terpisah & diciutkan, gaya sel individual
  • Dukungan gambar (gif, png (8, 24 dan 32 bit dengan saluran alfa), bmp dan jpeg)
  • Tidak ada ketergantungan pada pustaka PDF eksternal, berkat kelas R&OS PDF
  • Dukungan PHP sebaris
  • Dukungan SVG dasar

Persyaratan

  • PHP versi 5. 3. 0 atau lebih tinggi
  • ekstensi DOM
  • ekstensi GD
  • ekstensi MBString
  • php-font-lib
  • php-svg-lib

Rekomendasi

  • OPcache (OPcache, XCache, APC, dll. ). meningkatkan kinerja
  • Ekstensi IMagick atau GMagick. meningkatkan kinerja pemrosesan gambar

Cuplikan berikut menunjukkan cara membuat PDF sederhana dan menghasilkan unduhan langsung menggunakan Dompdf

<?php
require_once 'dompdf/autoload.inc.php';
// reference the Dompdf namespace
use Dompdf\Dompdf;

// instantiate and use the dompdf class
$dompdf = new Dompdf();
$dompdf->loadHtml('<h1>DOMPDF Demo</h1><br><p>Hello World !</p>');

// (Optional) Setup the paper size and orientation
$dompdf->setPaper('A4', 'portrait');

// Render the HTML as PDF
$dompdf->render();

// Output the generated PDF to Browser
$dompdf->stream();

2. Snappy (wkhtmltopdf)

Perpustakaan Github Snappy. Github wkhtmltopdf

Snappy adalah perpustakaan PHP5 yang memungkinkan pembuatan thumbnail, snapshot, atau PDF dari url atau halaman html. Ini menggunakan wkhtmltopdf dan wkhtmltoimage berbasis webkit yang sangat baik yang tersedia di OSX, linux, windows. Anda harus mengunduh wkhtmltopdf 0. 12. x untuk menggunakan Snappy

wkhtmltopdf dan wkhtmltoimage adalah alat baris perintah open source (LGPLv3) untuk merender HTML menjadi PDF dan berbagai format gambar menggunakan mesin rendering Qt WebKit. Ini berjalan sepenuhnya "tanpa kepala" dan tidak memerlukan layanan tampilan atau tampilan

Anda bahkan dapat mengunduh distribusi wkhtmltopdf sebagai dependensi komposer dan mereferensikan Biner secara dinamis dalam proyek Anda

Cuplikan berikut menampilkan PDF dasar dari HTML menggunakan wkhtmltopdf di Windows dengan beranda Github

<?php

require __DIR__ . '/vendor/autoload.php';

use Knp\Snappy\Pdf;

// For example, in windows use the wkhtmltopdf executable file
$snappy = new Pdf('wkhtmltopdf.exe');

// Download the streamed PDF
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename="file.pdf"');
echo $snappy->getOutput('http://www.github.com');

1. TCPDF

Github. Beranda

TCPDF adalah perpustakaan PHP untuk menghasilkan dokumen PDF dengan cepat dengan mudah dan dengan beberapa baris. Ini mendukung penyesuaian dan banyak fitur utama saat Anda bekerja dengan pembuatan file PDF

Pustaka ini mendukung font Unicode dan dikelola secara aktif oleh Nicola Asuni di repositori Github

Ini memiliki banyak contoh dan cuplikan yang siap diuji di beranda resminya. TCPDF memiliki fitur utama

  • Tidak ada perpustakaan eksternal yang diperlukan untuk fungsi dasar
  • semua format halaman standar, format halaman kustom, margin kustom, dan satuan ukuran
  • UTF-8 Unicode dan bahasa Kanan-Ke-Kiri
  • TrueTypeUnicode, OpenTypeUnicode v1, TrueType, OpenType v1, Type1 dan font CID-0
  • subset font
  • metode untuk menerbitkan beberapa kode XHTML + CSS, Javascript dan Formulir
  • gambar, grafik (angka geometris) dan metode transformasi
  • mendukung gambar JPEG, PNG, dan SVG secara asli, semua gambar didukung oleh GD (GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM) dan semua gambar didukung melalui ImagMagick (http. // www. imagemagick. org/skrip/format. php)
  • barcode 1D dan 2D. CODE 39, ANSI MH10. 8M-1983, USD-3, 3 dari 9, KODE 93, USS-93, Standar 2 dari 5, Interleaved 2 dari 5, KODE 128 A/B/C, Ekstensi Berbasis UPC 2 dan 5 Digit, EAN 8, EAN
  • Profil ICC JPEG dan PNG, Skala abu-abu, RGB, CMYK, Warna Spot, dan Transparansi
  • manajemen header dan footer halaman otomatis
  • enkripsi dokumen hingga 256 bit dan sertifikasi tanda tangan digital
  • transaksi ke perintah UNDO
  • Anotasi PDF, termasuk tautan, teks, dan lampiran file
  • mode rendering teks (isi, coretan, dan kliping)
  • mode beberapa kolom
  • wilayah halaman tanpa tulis
  • bookmark, tujuan bernama dan daftar isi
  • tanda hubung teks
  • peregangan dan penspasian teks (pelacakan)
  • jeda halaman otomatis, jeda baris, dan perataan teks termasuk pembenaran
  • penomoran halaman otomatis dan grup halaman
  • memindahkan dan menghapus halaman
  • Kompresi halaman (memerlukan ekstensi php-zlib)
  • Templat XOBject
  • Lapisan dan visibilitas objek
  • Dukungan PDF/A-1b

Berikut contoh cara merender HTML menjadi PDF dengan TCPDF

<?php 
// Include the main TCPDF library (search for installation path).
require_once('tcpdf_include.php');

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

// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Our Code World');
$pdf->SetTitle('Example Write Html');

// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 006', PDF_HEADER_STRING);

// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));

// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);

// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);

// add a page
$pdf->AddPage();

$html = '<h4>PDF Example</h4><br><p>Welcome to the Jungle</p>';
 
$pdf->writeHTML($html, true, false, true, false, '');
// add a page
$pdf->AddPage();

$html = '<h1>Hey</h1>';
// output the HTML content
$pdf->writeHTML($html, true, false, true, false, '');

// reset pointer to the last page
$pdf->lastPage();
//Close and output PDF document
$pdf->Output('example_006.pdf', 'I');
_

TCPDF di tempat pertama, mengapa?. Secara teoritis, tempat pertama harus dari wkhtmltopdf karena menggunakan webkit untuk merender HTML Anda dan mungkin akan lebih membantu untuk merender sesuatu sebagai kanvas, SVG, dll. Namun, Anda perlu tahu bahwa tidak setiap pengembang dapat menyertakan binari (aplikasi atau executable) pada proyeknya atau menikmati hak istimewa untuk melakukan apa pun yang dia inginkan dengan server, saat itulah TCPDF menjadi pilihan pertama bagi sebagian besar pengembang.

TCPDF berada di tempat pertama dari atas ini karena ini adalah pustaka PHP yang paling mudah digunakan untuk membuat PDF dan bagaimanapun, yang paling lengkap dan luas karena tidak memerlukan file yang dapat dieksekusi karena semuanya bekerja dengan PHP Biasa. Ini mencakup persyaratan dasar semua project yang memerlukan fitur pembuatan PDF

Jika Anda tahu perpustakaan PHP lain yang luar biasa untuk menghasilkan PDF, silakan bagikan dengan komunitas di kotak komentar di bawah, selamat bersenang-senang

Bagaimana cara mengonversi file HTML ke PDF di PHP?

Anda juga dapat mengonversi kode HTML mentah, cukup gunakan metode convertString() alih-alih convertUrl(). $pdf = $client->convertString("");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");");"); Atau gunakan convertFile() untuk mengonversi lokal . $pdf = $client->convertFile("/path/ke/MyLayout.

Bagaimana cara mencetak halaman HTML sebagai PDF di PHP?

php'; . // www. contoh. com"); // menyetel tajuk respons HTTP tajuk("Tipe-Konten. aplikasi/pdf"); tajuk

Pustaka PDF mana yang terbaik untuk PHP?

Ada empat pustaka PHP yang mampu mem-parsing HTML/CSS dan mengubahnya menjadi PDF. .
TCPDF (suatu saat akan diganti dengan tc-lib-pdf)
Dompdf
mengeset. sh (berbayar)

Bagaimana cara mengubah halaman PHP ke PDF menggunakan PHP?

php memerlukan_once('tcpdf_include. php');