Maison >développement back-end >Problème PHP >Parlons de la solution pour les modèles d'impression php

Parlons de la solution pour les modèles d'impression php

PHPz
PHPzoriginal
2023-04-21 09:05:33941parcourir

Dans le développement Web, la fonction d'impression est une exigence très courante. Nous devons généralement convertir le contenu d'une page Web en PDF ou l'imprimer directement. Pour les développeurs PHP, il est courant d'utiliser des modèles d'impression pour répondre à ces besoins.

Un modèle d'impression est un document prédéfini qui comprend la mise en page, le style et le formatage des éléments à imprimer. Dans le modèle d'impression, les développeurs peuvent ajouter du contenu dynamique (tel que des variables, des boucles, des jugements, etc.) pour générer le contenu à imprimer. L’avantage des modèles d’impression est qu’ils peuvent générer rapidement le contenu à imprimer tout en garantissant la cohérence et la beauté de l’impression.

Ci-dessous, nous présenterons quelques solutions pour les modèles d'impression php et comment les utiliser pour générer une sortie PDF ou imprimée.

1. TCPDF

TCPDF est une bibliothèque PDF php populaire qui fournit une API pour créer des fichiers PDF. TCPDF prend en charge plusieurs polices, tableaux, images, caractères Unicode, etc. Les développeurs peuvent créer un fichier PDF via TCPDF, puis le télécharger ou l'afficher dans un navigateur.

Pour utiliser TCPDF, nous devons d'abord introduire la classe TCPDF dans le projet puis instancier un objet TCPDF. Générez ensuite le contenu PDF requis via les méthodes fournies par l'objet TCPDF. Voici un exemple simple :

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');

Dans cet exemple, nous créons un fichier PDF à l'aide de TCPDF, ajoutons du contenu texte, puis le téléchargeons directement. Bien sûr, nous pouvons également l'afficher dans le navigateur.

2. FPDF

FPDF est une autre bibliothèque php pour générer des fichiers PDF. Différente de TCPDF, l'API de FPDF est relativement simple et plus légère que TCPDF. Mais il ne prend en charge que le codage ISO-8859-1.

En utilisant FPDF, nous pouvons d'abord introduire la classe FPDF puis instancier un objet FPDF. Afin de générer un document PDF, nous devons appeler certaines méthodes sur l'objet FPDF, telles que SetFont, Cell, Output, etc. Voici un exemple simple :

require_once('fpdf/fpdf.php');

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

Dans cet exemple, nous créons un fichier PDF à l'aide de FPDF, ajoutons du contenu texte, puis le publions dans le navigateur.

3. DOMPDF

DOMPDF est une bibliothèque qui utilise php et CSS pour générer des fichiers PDF. Il peut convertir le HTML et le CSS en fichiers PDF et prend également en charge certaines propriétés et sélecteurs CSS courants. L'avantage de DOMPDF est qu'il prend en charge CSS, permettant aux développeurs de concevoir des styles d'éléments dans des fichiers PDF via CSS.

Pour utiliser DOMPDF, nous devons d'abord introduire la classe DOMPDF puis instancier un objet DOMPDF. Ensuite, nous pouvons mettre le code HTML qui doit être converti dans une chaîne, puis utiliser la méthode load_html de l'objet DOMPDF pour le charger dans DOMPDF pour le rendu. Enfin, nous appelons la méthode Output de l'objet DOMPDF pour afficher le fichier PDF généré vers le navigateur ou l'enregistrer dans un fichier. Voici un exemple simple :

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 est une bibliothèque d'impression moderne qui offre une expérience d'impression cohérente pour tous les navigateurs sur la même page. PrintJS peut générer des fichiers PDF, imprimer du contenu HTML et envoyer des commandes à l'imprimante.

Pour utiliser PrintJS, nous devons d'abord introduire la bibliothèque PrintJS, puis appeler la méthode de l'objet PrintJS sur la page pour effectuer l'opération d'impression. Voici un exemple simple :

<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>

Dans cet exemple, nous utilisons PrintJS pour imprimer des fichiers PDF et du contenu HTML. Nous pouvons utiliser le bouton d'impression pour déclencher l'opération d'impression.

Résumé

Dans le développement PHP, le modèle d'impression est un outil très pratique, qui permet de générer rapidement du contenu qui doit être imprimé. Dans cet article, nous présentons plusieurs solutions de modèles d'impression PHP, notamment TCPDF, FPDF, DOMPDF et PrintJS. Que vous ayez besoin de convertir votre contenu en fichier PDF ou de l'imprimer directement, ces solutions peuvent vous aider à faire le travail. J'espère que ces méthodes pourront aider les développeurs PHP à implémenter la fonction d'impression.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn