Mencipta PDF dalam PHP ialah kemahiran yang sangat berguna yang boleh membantu pembangun laman web menjana pelbagai jenis fail PDF dinamik seperti invois, laporan, sijil, dsb. Dengan menggunakan perpustakaan dan sambungan dalam PHP, pembangun boleh menukar data ke dalam format PDF dengan mudah dan menyediakannya di tapak web untuk dimuat turun atau dicetak oleh pengguna. Artikel ini menerangkan cara membuat fail PDF dalam PHP menggunakan perpustakaan dan sambungan biasa, bersama dengan beberapa petua dan pertimbangan praktikal.
mpdf
php
Kami boleh menggunakan perpustakaan luaran mpdf
在 PHP 中创建 PDF。我们可以从数据库中检索数据,将它们存储在 PDF 中,然后下载 PDF。使用这个库,我们可以从 html 文档创建 PDF。HTML 文档应以 UTF-8 编码。我们可以从数据库中以 HTML 格式检索要添加到 PDF 的数据。我们可以通过命令 composer require mpdf/mpd
从项目目录下载它以使用库。该命令将在项目目录中安装 mpdf
库。将创建一个 vendor
文件,我们需要使用 require()
函数来包含位于 vendor
文件夹内的文件 autoload.php
untuk mencipta PDF dalam PHP. Kami boleh mendapatkan semula data daripada
, menyimpannya dalam PDF, dan kemudian memuat turun PDF. Menggunakan perpustakaan ini kita boleh membuat PDF daripada dokumen Mpdf()
构造函数创建一个对象,并使用 WriteHTML()
和 output()
等方法来创建 PDF。我们可以在不同的模式下输出 PDF。我们可以在 output()
方法的第二个参数中指定模式。不同的模式由 D
、I
、F
和 S
选项表示。选项 D
将在脚本运行后强制下载 PDF。脚本运行后,选项 I
将在浏览器中显示 PDF。同时,选项 F
将下载 PDF 保存在相对于 PHP 文件的文件夹中。最后,仅当将 output()
方法分配给变量时,选项 F
html
projectphprow
的数据库,其中包含一个名为 Persons
的表。表 Persons
melalui arahan composer require mpdf/mpd
. Perintah ini akan memasang perpustakaan
vendor
akan dibuat dan kita perlu menggunakan fungsi require()
untuk memasukkan fail autoload.phpvendor kod> folder /kod>. Kita perlu memastikan bahawa direktori tempat perpustakaan dipasang harus mempunyai kebenaran menulis. <p>
<code>require()
函数来包含 vender/autoload.php
文件。然后,创建并建立数据库连接,运行 sql 查询以从数据库中选择数据,并在 $html
变量中创建一个表。使用 .
运算符将 $html
变量与表的主体连接起来。创建一个表头为 ID
、Name
和 Address
的表。然后通过从 Persons
Kami hanya akan mengeluarkan pdf dalam penyemak imbas daripada . Sebagai contoh, kami mempunyai fail bernama
yang mengandungi data berikut. $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>
vender/autoload.php
menggunakan fungsi require()
. Kemudian, buat dan wujudkan sambungan pangkalan data, jalankan pertanyaan sql$mpdf
的变量。使用 new
关键字将 Mpdf()
构造函数的对象分配给变量。使用 $html
变量作为对象的参数调用 WriteHTML()
函数。然后创建另一个变量 $file
来存储 PDF。将 files/
与 time()
函数连接起来,并再次将其与 .pdf
连接起来以创建文件名。将其存储在 $file
变量中。最后,使用 $file
作为第一个参数和选项 I
作为第二个参数调用 output()
untuk memilih data daripada pangkalan data dan buat jadual dalam pembolehubah $html
. Gunakan operator .
untuk menyertai pembolehubah $html
dengan badan jadual. Buat jadual dengan pengepala ID
, Nama
dan Alamat
. Jadual kemudian diisi dengan mendapatkan semula data di atas daripada jadual Orang
.
Kod contoh: 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>
menyertai semua elemen jadual. Jadi, kami bersedia untuk menulis dokumen HTML ke PDF.
dompdf
. Selepas skrip berjalan, PDF akan dipaparkan dalam pelayar. Kami boleh memuat turun PDF daripada penyemak imbas. 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>
loadHtml()
, render()
dan stream()
. Kami perlu memuat turun perpustakaan ke direktori kerja kami menggunakan arahan composer require dompdf/dompdf
. Ia akan mencipta folder vendor
dan composer.🎜JSON🎜
dan composer.lock
fail seperti kaedah pertama. 🎜
例如,要求 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>
Atas ialah kandungan terperinci Buat PDF dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!