Heim >Backend-Entwicklung >PHP-Tutorial >PDF in PHP erstellen

PDF in PHP erstellen

WBOY
WBOYnach vorne
2024-02-28 10:16:461141Durchsuche

Das Erstellen von PDFs in PHP ist eine sehr nützliche Fähigkeit, die Website-Entwicklern dabei helfen kann, verschiedene Arten dynamischer PDF-Dateien wie Rechnungen, Berichte, Zertifikate usw. zu erstellen. Durch die Verwendung von Bibliotheken und Erweiterungen in PHP können Entwickler Daten einfach in das PDF-Format konvertieren und sie auf der Website für Benutzer zum Herunterladen oder Drucken verfügbar machen. In diesem Artikel wird erläutert, wie Sie mithilfe gängiger Bibliotheken und Erweiterungen PDF-Dateien in PHP erstellen, sowie einige praktische Tipps und Überlegungen.


Erstellen Sie PDF mit der Bibliothek in mpdfphp

Wir können externe Bibliotheken mpdf 在 PHP 中创建 PDF。我们可以从数据库中检索数据,将它们存储在 PDF 中,然后下载 PDF。使用这个库,我们可以从 html 文档创建 PDF。HTML 文档应以 UTF-8 编码。我们可以从数据库中以 HTML 格式检索要添加到 PDF 的数据。我们可以通过命令 composer require mpdf/mpd项目目录下载它以使用库。该命令将在项目目录中安装 mpdf 库。将创建一个 vendor 文件,我们需要使用 require() 函数来包含位于 vendor 文件夹内的文件 autoload.php verwenden, um PDFs in PHP zu erstellen. Wir können Daten aus der

Datenbank

abrufen, sie als PDF speichern und das PDF dann herunterladen. Mit dieser Bibliothek können wir PDFs aus Mpdf() 构造函数创建一个对象,并使用 WriteHTML()output() 等方法来创建 PDF。我们可以在不同的模式下输出 PDF。我们可以在 output() 方法的第二个参数中指定模式。不同的模式由 DIFS 选项表示。选项 D 将在脚本运行后强制下载 PDF。脚本运行后,选项 I 将在浏览器中显示 PDF。同时,选项 F 将下载 PDF 保存在相对于 PHP 文件的文件夹中。最后,仅当将 output() 方法分配给变量时,选项 FHTML

-Dokumenten erstellen. HTML-Dokumente sollten in UTF-8 kodiert sein. Wir können die Daten, die dem PDF hinzugefügt werden sollen, aus der Datenbank im HTML-Format abrufen. Wir können die Bibliothek verwenden, indem wir sie über den Befehl composer require mpdf/mpd aus dem Verzeichnis

projectphprow 的数据库,其中包含一个名为 Persons 的表。表 Persons herunterladen. Dieser Befehl installiert die

-Bibliothek im Projektverzeichnis. Es wird eine vendor-Datei erstellt und wir müssen die Funktion require() verwenden, um die Datei autoload.phpvendor code> Ordner /code>. Wir müssen sicherstellen, dass das Verzeichnis, in dem die Bibliothek installiert ist, über Schreibberechtigung verfügt. <p> <code>require() 函数来包含 vender/autoload.php 文件。然后,创建并建立数据库连接,运行 sql 查询以从数据库中选择数据,并在 $html 变量中创建一个表。使用 . 运算符将 $html 变量与表的主体连接起来。创建一个表头为 IDNameAddress 的表。然后通过从 Persons Wir werden das PDF erst ab

im Browser ausgeben.

Wir haben beispielsweise eine Datei mit dem Namen

, die die folgenden Daten enthält. $html 中。我们使用了 .

<code>
<code class="language-sql hljs" data-lang="sql"><span style="display:flex;"><span><span style="color:#666">+</span><span style="color:#408080;font-style:italic">----------+----------+-----------+
</span></span></span><span style="display:flex;"><span><span style="color:#666">|</span><span style="color:#bbb"> </span>PersonID<span style="color:#bbb"> </span><span style="color:#666">|</span><span style="color:#bbb"> </span>Name<span style="color:#bbb"> </span><span style="color:#666">|</span><span style="color:#bbb"> </span>Address<span style="color:#bbb"> </span><span style="color:#666">|</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#666">+</span><span style="color:#408080;font-style:italic">----------+----------+-----------+
</span></span></span><span style="display:flex;"><span><span style="color:#666">|</span><span style="color:#bbb"> </span><span style="color:#666">22</span><span style="color:#bbb"> </span><span style="color:#666">|</span><span style="color:#bbb"> </span>Harry<span style="color:#bbb"> </span>M<span style="color:#bbb"></span><span style="color:#666">|</span><span style="color:#bbb"> </span>England<span style="color:#bbb"> </span><span style="color:#666">|</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#666">|</span><span style="color:#bbb"> </span><span style="color:#666">32</span><span style="color:#bbb"> </span><span style="color:#666">|</span><span style="color:#bbb"> </span>Paul<span style="color:#bbb"> </span>P<span style="color:#bbb"> </span><span style="color:#666">|</span><span style="color:#bbb"> </span>France<span style="color:#bbb"></span><span style="color:#666">|</span><span style="color:#bbb"> 
</span></span></span><span style="display:flex;"><span><span style="color:#666">+</span><span style="color:#408080;font-style:italic">----------+----------+-----------+
</span></span></span></code></code>
Binden Sie zunächst die Datei vender/autoload.php mit der Funktion require() ein. Erstellen und richten Sie dann eine Datenbankverbindung ein, führen Sie eine

SQL$mpdf 的变量。使用 new 关键字将 Mpdf() 构造函数的对象分配给变量。使用 $html 变量作为对象的参数调用 WriteHTML() 函数。然后创建另一个变量 $file 来存储 PDF。将 files/time() 函数连接起来,并再次将其与 .pdf 连接起来以创建文件名。将其存储在 $file 变量中。最后,使用 $file 作为第一个参数和选项 I 作为第二个参数调用 output()-Abfrage aus, um Daten aus der Datenbank auszuwählen, und erstellen Sie eine Tabelle in der Variablen $html. Verwenden Sie den Operator ., um die Variable $html mit dem Tabellenkörper zu verbinden. Erstellen Sie eine Tabelle mit den Überschriften ID, Name und Adresse. Die Tabelle wird dann gefüllt, indem die oben genannten Daten aus der Tabelle Persons abgerufen werden.

Beispielcode: files 文件夹中创建了一个以当前时间为名称且扩展名为 .pdf

<code>
<code class="language-php hljs" data-lang="php"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">require</span>(<span style="color:#ba2121">'vendor/autoload.php'</span>);
</span></span><span style="display:flex;"><span><span style="color:#19177c">$con</span><span style="color:#666">=</span><strong class="keylink">Mysql</strong>i_connect(<span style="color:#ba2121">'localhost'</span>,<span style="color:#ba2121">'root'</span>,<span style="color:#ba2121">''</span>,<span style="color:#ba2121">'phprow'</span>);
</span></span><span style="display:flex;"><span><span style="color:#19177c">$res</span><span style="color:#666">=</span><strong class="keylink">mysql</strong>i_query(<span style="color:#19177c">$con</span>,<span style="color:#ba2121">"select * from Persons"</span>);
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span>(mysqli_num_rows(<span style="color:#19177c">$res</span>)<span style="color:#666">></span><span style="color:#666">0</span>){
</span></span><span style="display:flex;"><span><span style="color:#19177c">$html</span><span style="color:#666">=</span><span style="color:#ba2121">'<table>'</span>;
</span></span><span style="display:flex;"><span><span style="color:#19177c">$html</span><span style="color:#666">.=</span><span style="color:#ba2121">'<tr><td>ID</td><td>Name</td><td>Address</td>'</span>;
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">while</span>(<span style="color:#19177c">$row</span><span style="color:#666">=</span>mysqli_fetch_assoc(<span style="color:#19177c">$res</span>)){
</span></span><span style="display:flex;"><span><span style="color:#19177c">$html</span><span style="color:#666">.=</span><span style="color:#ba2121">'<tr><td>'</span><span style="color:#666">.</span><span style="color:#19177c">$row</span>[<span style="color:#ba2121">'PersonID'</span>]<span style="color:#666">.</span><span style="color:#ba2121">'</td><td>'</span><span style="color:#666">.</span><span style="color:#19177c">$row</span>[<span style="color:#ba2121">'Name'</span>]<span style="color:#666">.</span><span style="color:#ba2121">'</td><td>'</span><span style="color:#666">.</span><span style="color:#19177c">$row</span>[<span style="color:#ba2121">'Address'</span>]<span style="color:#666">.</span><span style="color:#ba2121">'</td></tr>'</span>;
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span><span style="color:#19177c">$html</span><span style="color:#666">.=</span><span style="color:#ba2121">'</table>'</span>;
</span></span><span style="display:flex;"><span>}
</span></span></code></code>
Im obigen Beispiel speichern wir die Daten aus der Datenbank in einer Variablen und der

-Operator verknüpft alle Tabellenelemente. Wir sind also bereit, ein HTML-Dokument in eine PDF-Datei zu schreiben.


Als nächstes erstellen Sie eine Funktion namens

. dompdf

Daher haben wir die Daten aus der Datenbank abgerufen und anhand der Daten ein PDF erstellt. Das folgende Beispiel befindet sich in der

-Datei. Nachdem das Skript ausgeführt wurde, wird das PDF im Browser angezeigt. Wir können das PDF über den Browser herunterladen. dompdf 库也是在 PHP 中创建和下载 PDF 的一个选项。它让我们将 HTML 加载到 PDF。这个库与 mpdf 库非常相似;只是方法不同。我们将使用 loadHtml()render()stream() 等方法。我们需要使用命令 composer require dompdf/dompdf 将库下载到我们的工作目录。它将像第一种方法一样创建 vendor 文件夹以及 composer.<strong class="keylink">JSON</strong>composer.lock

Beispielcode: 🎜
<code>
<code class="language-php hljs" data-lang="php"><span style="display:flex;"><span><span style="color:#19177c">$mpdf</span><span style="color:#666">=</span><span style="color:#008000;font-weight:bold">new</span> \Mpdf\Mpdf();
</span></span><span style="display:flex;"><span><span style="color:#19177c">$mpdf</span><span style="color:#666">-></span><span style="color:#7d9029">WriteHTML</span>(<span style="color:#19177c">$html</span>);
</span></span><span style="display:flex;"><span><span style="color:#19177c">$file</span><span style="color:#666">=</span><span style="color:#ba2121">'files/'</span><span style="color:#666">.</span>time()<span style="color:#666">.</span><span style="color:#ba2121">'.pdf'</span>;
</span></span><span style="display:flex;"><span><span style="color:#19177c">$mpdf</span><span style="color:#666">-></span><span style="color:#7d9029">output</span>(<span style="color:#19177c">$file</span>,<span style="color:#ba2121">'I'</span>);
</span></span></code></code>
🎜 🎜 Erstellen Sie PDFs in PHP mit der 🎜Bibliothek🎜 🎜 🎜 Bibliothek ist auch eine Option zum Erstellen und Herunterladen von PDFs in PHP. Damit können wir HTML in PDF laden. Diese Bibliothek ist der 🎜-Bibliothek sehr ähnlich; sie hat nur einen anderen Ansatz. Wir werden Methoden wie loadHtml(), render() und stream() verwenden. Wir müssen den Befehl composer require dompdf/dompdf verwenden, um die Bibliothek in unser Arbeitsverzeichnis herunterzuladen. Es erstellt den Ordner vendor und die Dateien composer.🎜JSON🎜 und composer.lock genau wie bei der ersten Methode. 🎜

例如,要求 vendor/autoload.php 作为程序中代码的第一行。然后编写 use 关键字以将 Dompdf 类导入为 use Dompdf/Dompdf。我们可以使用与上述方法相同的 HTML 表来加载 PDF。

<code>
<code class="language-php hljs" data-lang="php"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">require</span> <span style="color:#ba2121">'vendor/autoload.php'</span>;
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">use</span> Dompdf\Dompdf;
</span></span></code></code>

将 HTML 存储在变量 $html 中后,创建另一个变量 $dompdf 以创建类 Dompdf 的对象。然后使用 $html 作为参数调用 loadHtml() 方法。接下来,调用 render() 函数,然后使用 $dompdf 对象调用 stream() 函数。

下面的示例将使用第一种方法中的表格创建 PDF。render() 方法将 HTML 呈现为 PDF 文件,而 stream() 方法将呈现的 HTML 输出到浏览器。因此,我们可以使用 PHP 中的 dompdf 库创建 PDF。

示例代码:

<code>
<code class="language-php hljs" data-lang="php"><span style="display:flex;"><span><span style="color:#19177c">$dompdf</span> <span style="color:#666">=</span> <span style="color:#008000;font-weight:bold">new</span> Dompdf();
</span></span><span style="display:flex;"><span><span style="color:#19177c">$dompdf</span><span style="color:#666">-></span><span style="color:#7d9029">loadHtml</span>(<span style="color:#19177c">$html</span>);
</span></span><span style="display:flex;"><span><span style="color:#19177c">$dompdf</span><span style="color:#666">-></span><span style="color:#7d9029">render</span>();
</span></span><span style="display:flex;"><span><span style="color:#19177c">$dompdf</span><span style="color:#666">-></span><span style="color:#7d9029">stream</span>();
</span></span></code></code>

Das obige ist der detaillierte Inhalt vonPDF in PHP erstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lsjlt.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:Drucken auf der Konsole in PHPNächster Artikel:Drucken auf der Konsole in PHP