TCPDF 是一个用于生成 PDF 的 PHP 类
- 首先,确保已经安装了 TCPDF 库。如果尚未安装,可以使用 Composer 安装:
composer require tecnickcom/tcpdf
- 创建一个 PHP 文件(例如:
pdf_with_bookmarks.php
),并编写以下代码:
<?php
require_once('vendor/autoload.php');
use TCPDF;
// 创建一个新的 TCPDF 对象
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// 设置文档信息
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Your Name');
$pdf->SetTitle('Document Title');
$pdf->SetSubject('Document Subject');
$pdf->SetKeywords('TCPDF, PDF, table, bookmark');
// 设置默认字体为 helvetica
$pdf->SetFont('helvetica', '', 16, '', true);
// 添加一个页面
$pdf->AddPage();
// 设置书签标题和页码
$pdf->Bookmark('Introduction', 0, 0, '', '');
$pdf->Bookmark('Section 1', 1, 0, '', '');
$pdf->Bookmark('Section 2', 2, 0, '', '');
$pdf->Bookmark('Conclusion', 3, 0, '', '');
// 添加表格数据
$table_data = [
['Header 1', 'Header 2', 'Header 3'],
['Row 1, Cell 1', 'Row 1, Cell 2', 'Row 1, Cell 3'],
['Row 2, Cell 1', 'Row 2, Cell 2', 'Row 2, Cell 3'],
['Row 3, Cell 1', 'Row 3, Cell 2', 'Row 3, Cell 3'],
];
$pdf->SetLineStyle([0, 0, 0, 1]); // 设置表格边框样式
$pdf->SetFillColor(255, 255, 255); // 设置单元格背景颜色
$pdf->SetXY(50, 50); // 设置表格起始位置
$pdf->WriteHTMLCell(0, 0, '', '', $table_data, true, false, true, false, '');
// 输出 PDF 文件
$pdf->Output('tcpdf_with_bookmarks.pdf', 'I');
- 在浏览器中运行此 PHP 文件(例如:
php pdf_with_bookmarks.php
),它将生成一个包含书签的 PDF 文件(tcpdf_with_bookmarks.pdf
)。
注意:书签的层级由第二个参数决定,0 表示最高级别,1 表示次高级别,依此类推。在此示例中,我们创建了一个具有四个书签的 PDF 文件,其中 “Introduction” 是最高级别的书签,“Conclusion” 是最低级别的书签。