Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mari kita bincangkan tentang penyelesaian untuk templat percetakan php

Mari kita bincangkan tentang penyelesaian untuk templat percetakan php

PHPz
PHPzasal
2023-04-21 09:05:33935semak imbas

Dalam pembangunan web, fungsi pencetakan adalah keperluan yang sangat biasa Biasanya kita perlu menukar kandungan halaman web ke dalam PDF atau mencetaknya terus. Bagi pembangun PHP, adalah amalan biasa untuk menggunakan templat percetakan untuk mencapai keperluan ini.

Templat pencetakan ialah dokumen pratakrif yang merangkumi reka letak, gaya dan pemformatan elemen yang perlu dicetak. Dalam templat percetakan, pembangun boleh menambah kandungan dinamik (seperti pembolehubah, gelung, pertimbangan, dll.) untuk menjana kandungan yang perlu dicetak. Kelebihan cetakan templat ialah ia boleh menjana kandungan yang perlu dicetak dengan cepat, dan pada masa yang sama memastikan ketekalan dan keindahan cetakan.

Di bawah ini kami akan memperkenalkan beberapa penyelesaian untuk templat pencetakan php dan cara menggunakannya untuk menjana output PDF atau cetakan.

1. TCPDF

TCPDF ialah perpustakaan PDF php popular yang menyediakan API untuk mencipta fail PDF. TCPDF menyokong berbilang fon, jadual, imej, aksara Unicode, dsb. Pembangun boleh mencipta fail PDF melalui TCPDF dan kemudian memuat turun atau mengeluarkannya ke penyemak imbas.

Untuk menggunakan TCPDF, kita perlu memperkenalkan kelas TCPDF dahulu ke dalam projek dan kemudian membuat instantiat objek TCPDF. Kemudian jana kandungan PDF yang diperlukan melalui kaedah yang disediakan oleh objek TCPDF. Berikut ialah contoh mudah:

require_once('tcpdf/tcpdf.php');

$pdf = new TCPDF();

// 设置PDF文档的头部信息
$pdf->SetHeaderData($ln='', $lw=0, $title='TCPDF Example', $subject='TCPDF Tutorial', $creator='TCPDF', $author='Nicola Asuni', $header=true, $footer=false);

// 设置PDF文档的基本信息
$pdf->SetTitle('TCPDF Example');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example');

// 创建一页PDF
$pdf->AddPage();

// 添加一些文本内容
$pdf->SetFont('helvetica', '', 14);
$pdf->Write(0, 'Hello World!', '', 0, 'C', true, 0, false, false, 0);

// 输出PDF
$pdf->Output('example.pdf', 'D');

Dalam contoh ini, kami mencipta fail PDF menggunakan TCPDF, menambah beberapa kandungan teks, dan kemudian memuat turunnya terus. Sudah tentu, kita juga boleh mengeluarkannya ke penyemak imbas.

2. FPDF

FPDF ialah satu lagi perpustakaan php untuk menjana fail PDF. Berbeza daripada TCPDF, API FPDF agak mudah dan lebih ringan daripada TCPDF. Tetapi ia hanya menyokong pengekodan ISO-8859-1.

Menggunakan FPDF, kita boleh mula-mula memperkenalkan kelas FPDF dan kemudian membuat instantiat objek FPDF. Untuk menghasilkan dokumen PDF, kita perlu memanggil beberapa kaedah pada objek FPDF, seperti SetFont, Cell, Output, dll. Berikut ialah contoh mudah:

require_once('fpdf/fpdf.php');

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

Dalam contoh ini, kami menggunakan FPDF untuk mencipta fail PDF, menambah beberapa kandungan teks, dan kemudian mengeluarkannya ke penyemak imbas.

3. DOMPDF

DOMPDF ialah perpustakaan yang menggunakan php dan CSS untuk menjana fail PDF. Ia boleh menukar html dan css ke dalam fail PDF, dan juga menyokong beberapa sifat dan pemilih CSS biasa. Kelebihan DOMPDF ialah ia menyokong CSS, membolehkan pembangun mereka bentuk gaya elemen dalam fail PDF melalui CSS.

Untuk menggunakan DOMPDF, kita perlu memperkenalkan kelas DOMPDF dahulu dan kemudian membuat instantiat objek DOMPDF. Kemudian kita boleh meletakkan kod HTML yang perlu ditukar dalam rentetan, dan kemudian menggunakan kaedah load_html objek DOMPDF untuk memuatkannya ke dalam DOMPDF untuk rendering. Akhir sekali, kami memanggil kaedah Output objek DOMPDF untuk mengeluarkan fail PDF yang dihasilkan ke penyemak imbas atau menyimpannya ke fail. Berikut ialah contoh mudah:

require_once 'dompdf/autoload.inc.php';

use Dompdf\Dompdf;

$html = '<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello World</title>
<style>
body {
    font-family: Arial, sans-serif;
}
</style>
</head>
<body>
<div>
<p>Hello World!</p>
</div>
</body>
</html>';

$dompdf = new Dompdf();
$dompdf->loadHtml($html);
$dompdf->setPaper('A4', 'portrait');
$dompdf->render();
$dompdf->output();

4. PrintJS

PrintJS ialah perpustakaan percetakan moden yang menyediakan pengalaman pencetakan yang konsisten untuk semua penyemak imbas pada halaman yang sama. PrintJS boleh menjana fail PDF, mencetak kandungan HTML dan menghantar arahan kepada pencetak.

Untuk menggunakan PrintJS, kita perlu memperkenalkan perpustakaan PrintJS dahulu, dan kemudian memanggil kaedah objek PrintJS pada halaman untuk melaksanakan operasi pencetakan. Berikut ialah contoh mudah:

<script src="print.min.js"></script>

<button onclick="printJS(&#39;example.pdf&#39;)">Print PDF</button>

<button onclick="printJS(&#39;example.html&#39;, &#39;html&#39;)">Print HTML</button>

Dalam contoh ini, kami menggunakan PrintJS untuk mencetak fail PDF dan kandungan HTML. Kita boleh menggunakan butang cetak untuk mencetuskan operasi pencetakan.

Ringkasan

Dalam pembangunan PHP, templat percetakan ialah alat yang sangat praktikal, yang menyediakan cara untuk menjana kandungan yang perlu dicetak dengan cepat. Dalam artikel ini, kami memperkenalkan beberapa penyelesaian templat percetakan PHP, termasuk TCPDF, FPDF, DOMPDF dan PrintJS. Sama ada anda perlu menukar kandungan anda kepada fail PDF atau mencetaknya terus, penyelesaian ini boleh membantu anda menyelesaikan kerja. Saya berharap kaedah ini dapat membantu pembangun PHP dalam melaksanakan fungsi percetakan.

Atas ialah kandungan terperinci Mari kita bincangkan tentang penyelesaian untuk templat percetakan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn