Heim >Backend-Entwicklung >PHP-Tutorial >PDF in PHP erstellen
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.
mpdf
php
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
abrufen, sie als PDF speichern und das PDF dann herunterladen. Mit dieser Bibliothek können wir PDFs aus Mpdf()
构造函数创建一个对象,并使用 WriteHTML()
和 output()
等方法来创建 PDF。我们可以在不同的模式下输出 PDF。我们可以在 output()
方法的第二个参数中指定模式。不同的模式由 D
、I
、F
和 S
选项表示。选项 D
将在脚本运行后强制下载 PDF。脚本运行后,选项 I
将在浏览器中显示 PDF。同时,选项 F
将下载 PDF 保存在相对于 PHP 文件的文件夹中。最后,仅当将 output()
方法分配给变量时,选项 F
HTML
composer require mpdf/mpd
aus dem Verzeichnis projectphprow
的数据库,其中包含一个名为 Persons
的表。表 Persons
herunterladen. Dieser Befehl installiert die
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
变量与表的主体连接起来。创建一个表头为 ID
、Name
和 Address
的表。然后通过从 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.
dompdf
-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
<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!