![](https://products-qa.fileformat.com/zh/pdf/php/tcpdf/header-image.png)
TCPDF
用于 PDF 文档创建和编辑的 PHP 库
用于生成 PDF 文档、字体转租、JPEG 或 PNG 和 SVG 图像的开源 PHP API 原生支持,1D 和 2D 条形码支持。
TCPDF 是一个开源 PHP 库,它使软件开发人员能够使用 PHP 命令生成 PDF 文档,而无需任何外部依赖。 TCPDF 的伟大之处在于它被认为是唯一一个基于 PHP 的库,包括对 UTF-8 Unicode 和从右到左语言的完全支持。
该库支持几个重要功能,例如创建 PDF 文档、字体转租、图像和图形支持、对 JPEG、PNG 和 SVG 图像的原生支持、一维和二维条码支持、管理 PDF 页面页眉和页脚、加密和解密支持、PDF注释、目录、文本渲染模式、自定义页面格式、自定义边距、页面单位等等。
该库被认为是世界上最流行和最常用的 PHP 库之一,因为它已包含在最流行的基于 PHP 的 CMS 和应用程序中,包括 Joomla、Drupal、Moodle、phpMyAdmin 等。
TCPDF 入门
TCPDF 在 packagist.org 上可用,因此您可以使用 composer 下载此库和所有依赖项。请使用以下命令进行顺利安装。
安装 TCPDF 命令
Install Package TCPDF
使用 PHP 库生成 PDF 文档
免费的 PHP 库 TCPDF 包含使软件程序员能够在自己的 PHP 应用程序中以编程方式创建 PDF 文档的功能。您可以使用 utf-8 编码以及对从右到左语言的支持。几个重要功能,例如选择字体类型和大小、自定义边距、度量单位、添加条形码、添加表格、插入页面、移动页面、删除页面等等。
通过 PHP 创建 PDF 文档
// Include the main TCPDF library (search for installation path).
require_once('tcpdf_include.php');
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->setCreator(PDF_CREATOR);
$pdf->setAuthor('Nicola Asuni');
$pdf->setTitle('TCPDF Example 038');
$pdf->setSubject('TCPDF Tutorial');
$pdf->setKeywords('TCPDF, PDF, example, test, guide');
通过 PHP 支持 PDF 文件中的条码
开源 PHP 库提供了使用几行 PHP 代码在 PDF 文档中包含条形码的功能。开发人员可以轻松使用不同类型的一维条码(CODE 39、CODE 128 AUTO、EAN 8、UPC-E、MSI、CODABAR、CODE 11、RMS4CC)和二维条码(QR-Code、Datamatrix ECC200 和 PDF417)。它还支持设置条形码高度、条形码对齐、设置边距、应用校验和等功能。
通过 PHP 创建 PDF 文档
$pdf->SetFont('helvetica', '', 10);
// define barcode style
$style = array(
'position' => '',
'align' => 'C',
'stretch' => false,
'fitwidth' => true,
'cellfitalign' => '',
'border' => true,
'hpadding' => 'auto',
'vpadding' => 'auto',
'fgcolor' => array(0,0,0),
'bgcolor' => false, //array(255,255,255),
'text' => true,
'font' => 'helvetica',
'fontsize' => 8,
'stretchtext' => 4
);
// PRINT VARIOUS 1D BARCODES
// CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9.
$pdf->Cell(0, 0, 'CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9', 0, 1);
$pdf->write1DBarcode('CODE 39', 'C39', '', '', '', 18, 0.4, $style, 'N');
$pdf->Ln();
// CODE 39 + CHECKSUM
$pdf->Cell(0, 0, 'CODE 39 + CHECKSUM', 0, 1);
$pdf->write1DBarcode('CODE 39 +', 'C39+', '', '', '', 18, 0.4, $style, 'N');
$pdf->Ln();
// CODE 39 EXTENDED
$pdf->Cell(0, 0, 'CODE 39 EXTENDED', 0, 1);
$pdf->write1DBarcode('CODE 39 E', 'C39E', '', '', '', 18, 0.4, $style, 'N');
$pdf->Ln();
在 PDF 中添加自定义页眉/页脚
页眉和页脚是 PDF 文档中非常有用的部分,可帮助用户组织他们的 PDF 文件并使其更易于阅读。开源库 TCPDF 通过包含仅用几行 PP 代码向 PDF 文档添加自定义页眉和页脚的功能,使开发人员的工作变得轻松。它支持设置页眉和页脚字体、设置边距、自动分页符、在页眉/页脚中添加图像、添加页码等功能。
通过 PHP 在 PDF 中设置自定义页眉/页脚
// Extend the TCPDF class to create custom Header and Footer
class MYPDF extends TCPDF {
//Page header
public function Header() {
// Logo
$image_file = K_PATH_IMAGES.'logo_example.jpg';
$this->Image($image_file, 10, 10, 15, '', 'JPG', '', 'T', false, 300, '', false, false, 0, false, false, false);
// Set font
$this->SetFont('helvetica', 'B', 20);
// Title
$this->Cell(0, 15, '<< TCPDF Example 003 >>', 0, false, 'C', 0, '', 0, false, 'M', 'M');
}
// Page footer
public function Footer() {
// Position at 15 mm from bottom
$this->SetY(-15);
// Set font
$this->SetFont('helvetica', 'I', 8);
// Page number
$this->Cell(0, 10, 'Page '.$this->getAliasNumPage().'/'.$this->getAliasNbPages(), 0, false, 'C', 0, '', 0, false, 'T', 'M');
}
}
创建目录
开源 PHP 库 TCPDF 提供了在其应用程序中创建目录的功能。目录的使用有助于读者了解文档的结构,并可以快速找到他们正在寻找的信息。要创建目录,您需要为 TOC 添加一个新页面,并且可以在 TOC 页面上编写 TOC 标题和/或其他元素。您还可以轻松地为各种 HTML 元素的各种书签级别定义样式。
如何通过 PHP 在 PDF 中添加 TOC
// add a new page for TOC
$pdf->addTOCPage();
// write the TOC title
$pdf->SetFont('times', 'B', 16);
$pdf->MultiCell(0, 0, 'Table Of Content', 0, 'C', 0, 1, '', '', true, 0);
$pdf->Ln();
$pdf->SetFont('dejavusans', '', 12);
// add a simple Table Of Content at first page
// (check the example n. 59 for the HTML version)
$pdf->addTOC(1, 'courier', '.', 'INDEX', 'B', array(128,0,0));
// end of TOC page
$pdf->endTOCPage();
// ---------------------------------------------------------
//Close and output PDF document
$pdf->Output('example.pdf', 'I');
通过 PHP 库管理 PDF 注释
注释是一套完整的对象,可以在不改变页面内容的情况下添加到 PDF 页面。它进一步有助于解释其内容或扩展已经存在的内容。开源 PHP 库 TCPDF 提供对各种注释创建的支持,例如文本注释、链接注释、标记文本、图章注释等。
通过 PHP 添加文本 PDF 注释
// set font
$pdf->SetFont('times', '', 16);
// add a page
$pdf->AddPage();
$txt = 'Example of Text Annotation.
Move your mouse over the yellow box or double click on it to display the annotation text.';
$pdf->Write(0, $txt, '', 0, 'L', true, 0, false, false, 0);
// text annotation
$pdf->Annotation(83, 27, 10, 10, "Text annotation example\naccented letters test: àèéìòù", array('Subtype'=>'Text', 'Name' => 'Comment', 'T' => 'title example', 'Subj' => 'example', 'C' => array(255, 255, 0)));
// ---------------------------------------------------------
//Close and output PDF document
$pdf->Output('example.pdf', 'I');