Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk menjana fail PDF dalam PHP

Bagaimana untuk menjana fail PDF dalam PHP

PHPz
Lepaskan: 2023-08-27 09:26:01
asal
2381 orang telah melayarinya

Dalam artikel ini, kita akan membincangkan cara menjana fail PDF menggunakan PHP. Kami akan membuat dokumen PDF secara pemrograman menggunakan perpustakaan TCPDF.

Jika anda sedang membangunkan tapak web yang membenarkan pengguna memuat turun atau mencetak dokumen seperti resit pesanan, bil atau invois, anda mempunyai beberapa pilihan. Anda boleh memaparkan dokumen sebaris dalam penyemak imbas atau menyediakannya untuk dimuat turun. PDF ialah salah satu format terbaik ketika memuat turun dokumen dan sangat baik dalam mengekalkan pemformatan teks.

Jadi, jika anda ingin belajar cara menjana fail PDF di tapak web PHP anda, anda telah datang ke tempat yang betul!

Cara memasang perpustakaan TCPDF

Dalam bahagian ini, kita akan belajar cara memasang perpustakaan TCPDF.

Terdapat pelbagai cara untuk memasang perpustakaan TCPDF pada pelayan. Pustaka TCPDF tersedia pada Packagist dan GitHub, jadi anda boleh menggunakan Komposer atau mengklonkannya daripada GitHub. Dalam kes kami, kami akan memasangnya menggunakan Komposer.

Teruskan dan jalankan arahan berikut untuk memasang perpustakaan TCPDF menggunakan Komposer.

$composer require tecnickcom/tcpdf
Using version ^6.3 for tecnickcom/tcpdf
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Installing tecnickcom/tcpdf (6.3.5): Downloading (100%)         
Writing lock file
Generating autoload files
Salin selepas log masuk

Selepas pemasangan berjaya, anda perlu memasukkan fail autoload.php dalam skrip PHP anda seperti yang ditunjukkan dalam coretan kod berikut.

<?php
require "./vendor/autoload.php";
...
?>
Salin selepas log masuk

Dengan cara ini, anda boleh menggunakan semua kaedah praktikal yang disediakan oleh perpustakaan TCPDF.

Cara menggunakan perpustakaan TCPDF

Dalam bahagian ini, kami akan membina contoh praktikal yang menunjukkan cara menjana invois PDF. Pustaka TCPDF menyediakan banyak templat siap pakai yang boleh anda gunakan sebagai rujukan untuk menjana dokumen PDF. Walau bagaimanapun, kami akan menjana invois dari awal.

Seperti yang telah saya nyatakan di bahagian sebelumnya, perpustakaan TCPDF menyediakan banyak templat siap sedia yang membolehkan anda menjana fail PDF universal dengan pengepala dan pengaki. Ini berguna jika anda berpuas hati dengan format dan tetapan lalai. Tetapi jika anda ingin menyesuaikan pengepala dan pengaki serta kandungan, anda mesti melanjutkan kelas TCPDF dan mengatasi kaedah yang sepadan. TCPDF 类并重写相应的方法。

在我们的示例中,我们将创建两个文件:customPdfGenerator.phpexample.php。在 customPdfGenerator.php 文件中,我们将创建 CustomPdfGenerator 类,它将扩展核心 TCPDF 类并重写几个方法。在 example.php 文件中,我们将了解如何使用 CustomPdfGenerator 类。

CustomPdfGenerator

继续创建包含以下内容的 customPdfGenerator.php 文件。

<?php
class CustomPdfGenerator extends TCPDF 
{
    public function Header() 
    {
        $image_file = '/web/logo.png';
        $this->Image($image_file, 10, 3, 25, '', 'PNG', '', 'T', false, 300, '', false, false, 0, false, false, false);
        $this->SetFont('helvetica', 'B', 20);
        $this->Cell(0, 15, '', 0, false, 'C', 0, '', 0, false, 'M', 'M');
        $this->Ln();
        $this->Cell(0, 15, 'Katie A Falk', 0, false, 'R', 0, '', 0, false, 'M', 'M');
    }

    public function Footer() 
    {
        $this->SetY(-15);
        $this->SetFont('helvetica', 'I', 15);
        $this->Cell(0, 10, 'Thank you for your business!', 0, false, 'C', 0, '', 0, false, 'T', 'M');
    }

    public function printTable($header, $data)
    {
        $this->SetFillColor(0, 0, 0);
        $this->SetTextColor(255);
        $this->SetDrawColor(128, 0, 0);
        $this->SetLineWidth(0.3);
        $this->SetFont('', 'B', 12);

        $w = array(110, 17, 25, 30);
        $num_headers = count($header);
        for($i = 0; $i < $num_headers; ++$i) {
            $this->Cell($w[$i], 7, $header[$i], 1, 0, 'C', 1);
        }
        $this->Ln();

        // Color and font restoration
        $this->SetFillColor(224, 235, 255);
        $this->SetTextColor(0);
        $this->SetFont('');

        // table data
        $fill = 0;
        $total = 0;

        foreach($data as $row) {
            $this->Cell($w[0], 6, $row[0], 'LR', 0, 'L', $fill);
            $this->Cell($w[1], 6, $row[1], 'LR', 0, 'R', $fill);
            $this->Cell($w[2], 6, number_format($row[2]), 'LR', 0, 'R', $fill);
            $this->Cell($w[3], 6, number_format($row[3]), 'LR', 0, 'R', $fill);
            $this->Ln();
            $fill=!$fill;
            $total+=$row[3];
        }

        $this->Cell($w[0], 6, '', 'LR', 0, 'L', $fill);
        $this->Cell($w[1], 6, '', 'LR', 0, 'R', $fill);
        $this->Cell($w[2], 6, '', 'LR', 0, 'L', $fill);
        $this->Cell($w[3], 6, '', 'LR', 0, 'R', $fill);
        $this->Ln();

        $this->Cell($w[0], 6, '', 'LR', 0, 'L', $fill);
        $this->Cell($w[1], 6, '', 'LR', 0, 'R', $fill);
        $this->Cell($w[2], 6, 'TOTAL:', 'LR', 0, 'L', $fill);
        $this->Cell($w[3], 6, $total, 'LR', 0, 'R', $fill);
        $this->Ln();

        $this->Cell(array_sum($w), 0, '', 'T');
    }
}
Salin selepas log masuk

需要注意的是,CustomPdfGenerator 类扩展了 TCPDF 类,因此我们可以使用 TCPDF 类提供的所有实用方法来格式化和生成 PDF 文档。

创建我们自己的类而不是直接使用 TCPDF 类的唯一目的是我们不想使用内置的页眉和页脚组件。因此,我们重写了类中的 headerfooter 方法。

标头方法

在标题中,我们希望显示公司徽标以及所有者的姓名。让我们通过 header 方法来了解它是如何工作的。

public function Header() 
{
    $image_file = '/web/logo.png';
    $this->Image($image_file, 10, 3, 25, '', 'PNG', '', 'T', false, 300, '', false, false, 0, false, false, false);
    $this->SetFont('helvetica', 'B', 20);
    $this->Cell(0, 15, '', 0, false, 'C', 0, '', 0, false, 'M', 'M');
    $this->Ln();
    $this->Cell(0, 15, 'Katie A Falk', 0, false, 'R', 0, '', 0, false, 'M', 'M');
}
Salin selepas log masuk

首先,我们使用Image方法在左侧绘制公司徽标。重要的是,您需要将徽标图像的绝对路径传递给 Image 方法。接下来,我们使用 SetFont 方法设置文本的字体系列和字体大小,这些文本将添加到标题中。最后,我们使用 Cell 方法在右侧打印所有者姓名。

您会注意到,您可以在这些方法中传递很多参数,我鼓励您详细探索它们,因为不可能在本文中讨论每个参数。

通过上述设置,标题将如下所示:

Bagaimana untuk menjana fail PDF dalam PHP

页脚方法

在页脚中,我们想要显示一些静态文本,因此 Footer 方法非常简单,如以下代码片段所示。

public function Footer() 
{
    $this->SetY(-15);
    $this->SetFont('helvetica', 'I', 15);
    $this->Cell(0, 10, 'Thank you for your business!', 0, false, 'C', 0, '', 0, false, 'T', 'M');
}
Salin selepas log masuk

页脚部分如下所示:

Bagaimana untuk menjana fail PDF dalam PHP

最后是 printTable 方法,我们稍后再讨论这个方法。 printTable 方法与 TCPDF 类无关。相反,它是我们的自定义实用方法,我们将使用它来绘制表格以显示项目信息。

这就是 CustomPdfGenerator 类。在下一节中,我们将了解如何使用它以及其他一些方法来生成完整的 PDF 发票!

example.php 文件

在上一节中,我们创建了 CustomPdfGenerator 包装类,我们可以使用它来生成具有自定义页眉和页脚的 PDF 文件。在本节中,我们将演示如何使用它。

继续创建包含以下内容的 example.php 文件。

<?php
require "./vendor/autoload.php";
require "./customPdfGenerator.php";

$pdf = new CustomPdfGenerator(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->setFontSubsetting(true);
$pdf->SetFont('dejavusans', '', 12, '', true);

// start a new page
$pdf->AddPage();

// date and invoice no
$pdf->Write(0, "\n", '', 0, 'C', true, 0, false, false, 0);
$pdf->writeHTML("<b>DATE:</b> 01/01/2021");
$pdf->writeHTML("<b>INVOICE#</b>12");
$pdf->Write(0, "\n", '', 0, 'C', true, 0, false, false, 0);

// address
$pdf->writeHTML("84 Norton Street,");
$pdf->writeHTML("NORMANHURST,");
$pdf->writeHTML("New South Wales, 2076");
$pdf->Write(0, "\n", '', 0, 'C', true, 0, false, false, 0);

// bill to
$pdf->writeHTML("<b>BILL TO:</b>", true, false, false, false, 'R');
$pdf->writeHTML("22 South Molle Boulevard,", true, false, false, false, 'R');
$pdf->writeHTML("KOOROOMOOL,", true, false, false, false, 'R');
$pdf->writeHTML("Queensland, 4854", true, false, false, false, 'R');
$pdf->Write(0, "\n", '', 0, 'C', true, 0, false, false, 0);

// invoice table starts here
$header = array('DESCRIPTION', 'UNITS', 'RATE $', 'AMOUNT');
$data = array(
   array('Item #1','1','100','100'),
   array('Item #2','2','200','400')
);
$pdf->printTable($header, $data);
$pdf->Ln();

// comments
$pdf->SetFont('', '', 12);
$pdf->writeHTML("<b>OTHER COMMENTS:</b>");
$pdf->writeHTML("Method of payment: <i>PAYPAL</i>");
$pdf->writeHTML("PayPal ID: <i>katie@paypal.com");
$pdf->Write(0, "\n\n\n", '', 0, 'C', true, 0, false, false, 0);
$pdf->writeHTML("If you have any questions about this invoice, please contact:", true, false, false, false, 'C');
$pdf->writeHTML("Katie A Falk, (07) 4050 2235, katie@sks.com", true, false, false, false, 'C');

// save pdf file
$pdf->Output(__DIR__ . '/invoice#12.pdf', 'F');
Salin selepas log masuk

让我们看一下上面文件中的重要片段。

首先,我们添加了 autoload.php 文件,以确保自动加载 TCPDF Dalam contoh kami, kami akan mencipta dua fail: customPdfGenerator.php

dan 🎜example.php🎜. Dalam fail 🎜customPdfGenerator.php🎜, kami akan mencipta kelas CustomPdfGenerator, yang akan melanjutkan kelas TCPDF teras dan mengatasi beberapa kaedah. Dalam fail 🎜example.php🎜 kita akan melihat cara menggunakan kelas CustomPdfGenerator. 🎜 Kelas

CustomPdfGenerator

🎜Teruskan mencipta fail 🎜customPdfGenerator.php🎜 dengan kandungan berikut. 🎜
$pdf = new CustomPdfGenerator(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->setFontSubsetting(true);
$pdf->SetFont('dejavusans', '', 12, '', true);
Salin selepas log masuk
Salin selepas log masuk
🎜Perlu diingat bahawa kelas CustomPdfGenerator memanjangkan kelas TCPDF, jadi kita boleh menggunakan semua kaedah utiliti yang disediakan oleh kelas TCPDF untuk memformat dan menjana dokumen PDF. 🎜 🎜Satu-satunya tujuan mencipta kelas kita sendiri dan bukannya menggunakan kelas TCPDF secara langsung ialah kita tidak mahu menggunakan komponen pengepala dan pengaki terbina dalam. Oleh itu, kami mengatasi kaedah header dan footer dalam kelas. 🎜

PengepalaKaedah

🎜Dalam tajuk kami ingin memaparkan logo syarikat serta nama pemilik. Mari kita lihat kaedah pengepala untuk memahami cara ia berfungsi. 🎜
// start a new page
$pdf->AddPage();
Salin selepas log masuk
Salin selepas log masuk
🎜Pertama, kami melukis logo syarikat di sebelah kiri menggunakan kaedah Imej. Yang penting, anda perlu menghantar laluan mutlak imej logo anda kepada kaedah Imej. Seterusnya, kami menggunakan kaedah SetFont untuk menetapkan keluarga fon dan saiz fon teks yang akan ditambahkan pada tajuk. Akhir sekali, kami menggunakan kaedah Sel untuk mencetak nama pemilik di sebelah kanan. 🎜 🎜Anda akan dapati bahawa anda boleh melepasi banyak parameter dalam kaedah ini dan saya menggalakkan anda untuk menerokanya secara terperinci kerana adalah mustahil untuk membincangkan setiap parameter dalam artikel ini. 🎜 🎜Dengan tetapan di atas, tajuk akan kelihatan seperti ini: 🎜 🎜Cara menjana fail PDF dalam PHP🎜

Kaedah pengaki

🎜Dalam pengaki, kami ingin memaparkan beberapa teks statik, jadi kaedah Footer adalah sangat mudah seperti yang ditunjukkan dalam coretan kod berikut. 🎜
// date and invoice no
$pdf->Write(0, "\n", '', 0, 'C', true, 0, false, false, 0);
$pdf->writeHTML("<b>DATE:</b> 01/01/2021");
$pdf->writeHTML("<b>INVOICE#</b>12");
$pdf->Write(0, "\n", '', 0, 'C', true, 0, false, false, 0);
Salin selepas log masuk
Salin selepas log masuk
🎜Bahagian pengaki kelihatan seperti ini: 🎜 🎜Cara menjana fail PDF dalam PHP🎜 🎜Akhir sekali terdapat kaedah printTable, kita akan membincangkan kaedah ini kemudian. Kaedah printTable adalah bebas daripada kelas TCPDF. Sebaliknya, kaedah utiliti tersuai kami yang akan kami gunakan untuk melukis jadual untuk memaparkan maklumat projek. 🎜 🎜Ini ialah kelas CustomPdfGenerator. Dalam bahagian seterusnya, kita akan melihat cara menggunakannya dan beberapa cara lain untuk menjana invois PDF penuh! 🎜

fail contoh.php

🎜Dalam bahagian sebelumnya, kami mencipta kelas pembalut CustomPdfGenerator, yang boleh kami gunakan untuk menjana fail PDF dengan pengepala dan pengaki tersuai. Dalam bahagian ini kami menunjukkan cara menggunakannya. 🎜 🎜Teruskan dan buat fail 🎜example.php🎜 dengan kandungan berikut. 🎜
// address
$pdf->writeHTML("84 Norton Street,");
$pdf->writeHTML("NORMANHURST,");
$pdf->writeHTML("New South Wales, 2076");
$pdf->Write(0, "\n", '', 0, 'C', true, 0, false, false, 0);

// bill to
$pdf->writeHTML("<b>BILL TO:</b>", true, false, false, false, 'R');
$pdf->writeHTML("22 South Molle Boulevard,", true, false, false, false, 'R');
$pdf->writeHTML("KOOROOMOOL,", true, false, false, false, 'R');
$pdf->writeHTML("Queensland, 4854", true, false, false, false, 'R');
$pdf->Write(0, "\n", '', 0, 'C', true, 0, false, false, 0);
Salin selepas log masuk
Salin selepas log masuk
🎜Mari kita lihat coretan penting daripada fail di atas. 🎜 🎜Mula-mula, kami menambah fail 🎜autoload.php🎜 untuk memastikan kelas TCPDF dimuatkan secara automatik. Seterusnya, kami menambah fail 🎜customPdfGenerator.php🎜 untuk memuatkan kelas tersuai kami. 🎜

接下来,我们实例化了 CustomPdfGenerator 类以及默认设置。在实际开始写入 PDF 文件之前,我们还调用了一些方法来进行默认设置。

$pdf = new CustomPdfGenerator(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->setFontSubsetting(true);
$pdf->SetFont('dejavusans', '', 12, '', true);
Salin selepas log masuk
Salin selepas log masuk

我们在上面代码片段中使用的常量已在 tcpdf_autoconfig.php 文件中定义。要覆盖这些常量之一,您只需在脚本中定义它,TCPDF 库将使用您的值。例如,PDF_PAGE_ORIENTATION 常量的默认值为 P(纵向),如果要将其更改为 L(横向),则只需包含 define ('PDF_PAGE_ORIENTATION', 'L ');脚本中的

接下来,有一个重要的片段,它调用 AddPage 方法,该方法实际上在 PDF 文档中添加一个新页面。

// start a new page
$pdf->AddPage();
Salin selepas log masuk
Salin selepas log masuk

现在我们已经添加了一个页面,我们可以开始在此页面上书写。

接下来,我们使用 WritewriteHTML 方法在左侧打印日期和发票号码。

// date and invoice no
$pdf->Write(0, "\n", '', 0, 'C', true, 0, false, false, 0);
$pdf->writeHTML("<b>DATE:</b> 01/01/2021");
$pdf->writeHTML("<b>INVOICE#</b>12");
$pdf->Write(0, "\n", '', 0, 'C', true, 0, false, false, 0);
Salin selepas log masuk
Salin selepas log masuk

Write 方法从当前位置开始打印文本,您可以使用它来打印纯文本。另一方面, writeHTML 方法允许您保留文本中的 HTML 格式。虽然 writeHTML 方法提供了有限的 HTML 格式支持,但它涵盖了日常开发中经常使用的所有 HTML 标签。

同样,我们在 writeHTML 方法的帮助下打印了地址和收单地址。

// address
$pdf->writeHTML("84 Norton Street,");
$pdf->writeHTML("NORMANHURST,");
$pdf->writeHTML("New South Wales, 2076");
$pdf->Write(0, "\n", '', 0, 'C', true, 0, false, false, 0);

// bill to
$pdf->writeHTML("<b>BILL TO:</b>", true, false, false, false, 'R');
$pdf->writeHTML("22 South Molle Boulevard,", true, false, false, false, 'R');
$pdf->writeHTML("KOOROOMOOL,", true, false, false, false, 'R');
$pdf->writeHTML("Queensland, 4854", true, false, false, false, 'R');
$pdf->Write(0, "\n", '', 0, 'C', true, 0, false, false, 0);
Salin selepas log masuk
Salin selepas log masuk

默认情况下,writeHTML 方法在左侧打印文本。如果要打印右对齐文本,可以传递 R 作为 writeHTML 方法的最后一个参数,如上面的代码片段所示。在我们的例子中,我们希望显示右对齐的收单地址。

让我们快速浏览一下到目前为止我们已经构建的内容。

Bagaimana untuk menjana fail PDF dalam PHP

接下来,我们有一个代码片段,它负责打印项目信息表的繁重工作。

// invoice table starts here
$header = array('DESCRIPTION', 'UNITS', 'RATE $', 'AMOUNT');
$data = array(
   array('Item #1','1','100','100'),
   array('Item #2','2','200','400')
);
$pdf->printTable($header, $data);
$pdf->Ln();
Salin selepas log masuk

还记得我们在customPdfGenerator.php类中定义的printTable方法吗?现在是时候详细探讨它了。让我们拉入 printTable 方法的代码。

public function printTable($header, $data)
{
    $this->SetFillColor(0, 0, 0);
    $this->SetTextColor(255);
    $this->SetDrawColor(128, 0, 0);
    $this->SetLineWidth(0.3);
    $this->SetFont('', 'B', 12);

    $w = array(110, 17, 25, 30);
    $num_headers = count($header);
    for($i = 0; $i < $num_headers; ++$i) {
        $this->Cell($w[$i], 7, $header[$i], 1, 0, 'C', 1);
    }
    $this->Ln();

    // Color and font restoration
    $this->SetFillColor(224, 235, 255);
    $this->SetTextColor(0);
    $this->SetFont('');

    // table data
    $fill = 0;
    $total = 0;

    foreach($data as $row) {
        $this->Cell($w[0], 6, $row[0], 'LR', 0, 'L', $fill);
        $this->Cell($w[1], 6, $row[1], 'LR', 0, 'R', $fill);
        $this->Cell($w[2], 6, number_format($row[2]), 'LR', 0, 'R', $fill);
        $this->Cell($w[3], 6, number_format($row[3]), 'LR', 0, 'R', $fill);
        $this->Ln();
        $fill=!$fill;
        $total+=$row[3];
    }

    $this->Cell($w[0], 6, '', 'LR', 0, 'L', $fill);
    $this->Cell($w[1], 6, '', 'LR', 0, 'R', $fill);
    $this->Cell($w[2], 6, '', 'LR', 0, 'L', $fill);
    $this->Cell($w[3], 6, '', 'LR', 0, 'R', $fill);
    $this->Ln();

    $this->Cell($w[0], 6, '', 'LR', 0, 'L', $fill);
    $this->Cell($w[1], 6, '', 'LR', 0, 'R', $fill);
    $this->Cell($w[2], 6, 'TOTAL:', 'LR', 0, 'L', $fill);
    $this->Cell($w[3], 6, $total, 'LR', 0, 'R', $fill);
    $this->Ln();

    $this->Cell(array_sum($w), 0, '', 'T');
}
Salin selepas log masuk

首先,在实际开始打印发票表的标题行之前,我们调用了几个方法来设置字体大小、填充颜色、线宽和文本颜色。接下来,我们在 Cell 方法的帮助下循环遍历 $header 数组并打印表头标题。

Cell 方法允许您打印具有可选边框、背景颜色和字符串的单元格(矩形区域)。您还可以指定在单元格中打印的文本的对齐方式。因此,Cell 方法是构建表的完美候选方法。

打印表格标题标题后,我们循环遍历 $data 数组并打印它以完成整个表格。最后,我们多次调用 Cell 方法来打印总金额。

表格的快速预览应如下所示:

Bagaimana untuk menjana fail PDF dalam PHP

现在,让我们回到 example.php 文件来查看最后几行代码。

在发票末尾,我们将打印一些评论和联系信息,如以下代码片段所示。

// comments
$pdf->SetFont('', '', 12);
$pdf->writeHTML("<b>OTHER COMMENTS:</b>");
$pdf->writeHTML("Method of payment: <i>PAYPAL</i>");
$pdf->writeHTML("PayPal ID: <i>katie@paypal.com");
$pdf->Write(0, "\n\n\n", '', 0, 'C', true, 0, false, false, 0);
$pdf->writeHTML("If you have any questions about this invoice, please contact:", true, false, false, false, 'C');
$pdf->writeHTML("Katie A Falk, (07) 4050 2235, katie@sks.com", true, false, false, false, 'C');
Salin selepas log masuk

最后,我们使用 Output 方法将 PDF 文件保存到磁盘。如果您不想将 PDF 文件保存在磁盘上,而只想将其发送到浏览器,则需要在 Output 方法的第二个参数中使用 I

继续运行 example.php 文件,它应该生成如下屏幕截图所示的 PDF 文件。

Bagaimana untuk menjana fail PDF dalam PHP

结论

这就是如何使用 TCPDF 库在 PHP 中创建 PDF 文档。我们创建了一个真实示例来演示 TCPDF 库提供的一些不同的 API。

TCPDF 官方文档提供了许多现成的模板,您可以探索它们以了解内置 API,我鼓励您探索它!

如果您想了解有关在网站中包含 PDF 的更多信息,请查看以下链接:

  • Bagaimana untuk menjana fail PDF dalam PHPBagaimana untuk menjana fail PDF dalam PHP Cara membuat pemapar PDF JavaScript Bagaimana untuk menjana fail PDF dalam PHPBagaimana untuk menjana fail PDF dalam PHP Asyraf Hatibelagar 16 Ogos 2021
  • Bagaimana untuk menjana fail PDF dalam PHPBagaimana untuk menjana fail PDF dalam PHP Bagaimana untuk membenamkan dan melindungi fail PDF menggunakan pemalam WordPress Bagaimana untuk menjana fail PDF dalam PHPBagaimana untuk menjana fail PDF dalam PHP Esther berterusan 17 Oktober 2022
  • Bagaimana untuk menjana fail PDF dalam PHPBagaimana untuk menjana fail PDF dalam PHP Bagaimana untuk membenamkan fail PDF di laman web WordPress anda menggunakan pemalam percuma Bagaimana untuk menjana fail PDF dalam PHPBagaimana untuk menjana fail PDF dalam PHP seratus anak lelaki 29 Julai 2019
  • Bagaimana untuk menjana fail PDF dalam PHPBagaimana untuk menjana fail PDF dalam PHP Cara menggunakan pemalam WowBook ​​jQuery Flipbook Bagaimana untuk menjana fail PDF dalam PHPBagaimana untuk menjana fail PDF dalam PHP Asyraf Hatibelagar 16 Januari 2019

Atas ialah kandungan terperinci Bagaimana untuk menjana fail PDF dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan