tecnickcom/tc-lib-pdf
GitHub: tecnickcom/tc-lib-pdf
一个功能成熟的 PHP PDF 生成库,是经典 TCPDF 的现代化重构版本,支持多语言排版、条形码、加密签名等丰富特性。
Stars: 1797 | Forks: 243
# tc-lib-pdf
***PHP PDF 库***
[](https://packagist.org/packages/tecnickcom/tc-lib-pdf)

[](https://codecov.io/gh/tecnickcom/tc-lib-pdf)
[](https://packagist.org/packages/tecnickcom/tc-lib-pdf)
[](https://packagist.org/packages/tecnickcom/tc-lib-pdf)
* **category** 库
* **package** \Com\Tecnick\Pdf
* **author** Nicola Asuni
* **copyright** 2002-2026 Nicola Asuni - Tecnick.com LTD
* **license** https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (见 LICENSE.TXT)
* **link** https://tcpdf.org
* **source** https://github.com/tecnickcom/tc-lib-pdf
* **SRC DOC** https://tcpdf.org/docs/srcdoc/tc-lib-pdf
## 描述
一个用于动态生成 PDF 文档的 PHP 库。
这是 TCPDF 库的最新迭代版本;一旦所有功能都迁移完毕,之前的版本将被弃用。
**注意:** 第一个完全稳定的版本是 8.1.0。后续版本遵循语义化版本控制:PATCH 版本保留用于向后兼容的错误修复,MINOR 版本用于向后兼容的功能增强,MAJOR 版本用于破坏向后兼容性的更改。有关更多详细信息,请参阅 [semver.org](https://semver.org/)。
### 主要特性
***带有删除线的特性计划在未来版本中发布,目前尚不可用。***
* 所有标准页面格式、自定义页面格式、自定义页边距和度量单位;
* UTF-8 Unicode 和从右至左(RTL)语言;
* TrueTypeUnicode, OpenTypeUnicode v1, TrueType, OpenType v1, Type1 和 CID-0 字体;
* 字体子集化;
* SVG
* CSS
* ~~HTML~~ (开发中)
* JavaScript
* 图像、图形(几何图形)和变换方法;
* 原生支持 JPEG, PNG 和 SVG 图像,支持 GD 支持的所有图像 (GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM) 以及通过 ImagMagick 支持的所有图像 (http://www.imagemagick.org/script/formats.php)
* 通过 tc-lib-barcode 支持 1D 和 2D 条形码。
* JPEG 和 PNG ICC 配置文件,灰度,RGB,CMYK,专色 PDF 和透明度;
* 页面通用内容支持(页眉/页脚);
* 高达 256 位的文档加密和数字签名认证;
* PDF 注释,包括链接、文本和文件附件;
* 文本渲染模式(填充、描边和裁剪);
* 多栏模式;
* 禁止写入页面区域;
* 书签、命名目标和目录;
* 文本连字符;
* 文本拉伸和间距(字间距调整);
* 自动分页、换行和包括两端对齐在内的文本对齐;
* 自动页码编号和页面分组;
* 移动和删除页面;
* 页面压缩(需要 php-zlib 扩展);
* XOBject 模板;
* 图层和对象可见性。
* 支持 PDF/A-1b。
### 第三方字体
本库可能包含以不同许可证发布的第三方字体文件。
fonts 目录中的所有 PHP 文件均受通用 TCPDF 许可证 (GNU-LGPLv3) 管辖,
它们不包含任何二进制数据,仅包含特定字体的一般属性描述。
这些文件也可以使用字体工具和 TCPDF 方法动态生成。
所有原始二进制 TTF 字体文件已重命名以兼容 TCPDF,并使用 gzcompress PHP 函数(使用 ZLIB 数据格式)进行压缩(.z 文件)。
以 "free" 前缀开头的二进制文件是从 GNU FreeFont 集合 中提取的。
以 "pdfa" 前缀开头的二进制文件派生自 GNU FreeFont,因此受相同许可证管辖。
有关版权、许可证和其他信息的详细信息,请检查 fonts/freefont-20120503 目录中的文件
链接:https://www.gnu.org/software/freefont/
以 "dejavu" 前缀开头的二进制文件是从 DejaVu fonts 2.33 (Bitstream) 集合中提取的。
有关版权、许可证和其他信息的详细信息,请检查 fonts/dejavu-fonts-ttf-2.33 目录中的文件
链接:http://dejavu-fonts.org
以 "ae" 前缀开头的二进制文件是从 Arabeyes.org 集合 中提取的。
链接:http://projects.arabeyes.org/
### ICC 配置文件
TCPDF 包含来自 icc-profiles-free Debian 软件包的 sRGB.icc 配置文件:
https://packages.debian.org/source/stable/icc-profiles-free
## 入门指南
首先,您需要使用 [Composer](https://getcomposer.org/) 安装所有开发依赖项:
```
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
```
您可以通过 composer 安装此库:
```
composer require tecnickcom/tc-lib-pdf
```
本项目包含一个 Makefile,允许您使用简单的命令测试和构建项目。
要查看所有可用选项:
```
make help
```
要安装所有开发依赖项:
```
make deps
```
## 运行所有测试
在提交代码之前,请检查它是否通过了所有测试,使用
```
make qa
```
所有构件将在 target 目录中生成。
## 示例
示例位于 `example` 目录中。
使用以下命令启动开发服务器(需要 PHP 8.1+):
```
make server
```
并在浏览器中访问
## 安装
在您的项目根目录中创建一个 composer.json:
```
{
"require": {
"tecnickcom/tc-lib-pdf": "^8.4"
},
}
```
## 打包
此库主要旨在通过 Composer 在其他 PHP 项目中使用和包含。
然而,由于某些生产环境要求以 RPM 或 DEB 包的形式安装任何应用程序,
此库包含用于构建这些包的 make 目标(`make rpm` 和 `make deb`)。
包将在 `target` 目录下生成。
当使用 RPM 或 DEB 包安装此库时,您可以通过包含自动加载器在代码中使用它:
```
require_once ('/usr/share/php/Com/Tecnick/Barcode/autoload.php');
```
## 开发者联系方式
*2026 Nicola Asuni
标签:Composer, ffuf, ffuf, HTML转PDF, LGPL许可证, OpenVAS, Packagist, PDF, PDF库, PDF生成, PHP, PHP组件, SOC Prime, SVG, Syscall, tc-lib-pdf, TCPDF, Unicode, UTF-8, Web开发, 动态文档, 后端开发, 字体处理, 开发工具, 开源库, 搜索引擎爬虫, 文档处理