tecnickcom/tc-lib-pdf

GitHub: tecnickcom/tc-lib-pdf

一个功能成熟的 PHP PDF 生成库,是经典 TCPDF 的现代化重构版本,支持多语言排版、条形码、加密签名等丰富特性。

Stars: 1797 | Forks: 243

# tc-lib-pdf ***PHP PDF 库*** [![最新稳定版本](https://poser.pugx.org/tecnickcom/tc-lib-pdf/version)](https://packagist.org/packages/tecnickcom/tc-lib-pdf) ![构建](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/e7d5886f81120823.svg) [![覆盖率](https://codecov.io/gh/tecnickcom/tc-lib-pdf/graph/badge.svg?token=rmAqNKVG1c)](https://codecov.io/gh/tecnickcom/tc-lib-pdf) [![许可证](https://poser.pugx.org/tecnickcom/tc-lib-pdf/license)](https://packagist.org/packages/tecnickcom/tc-lib-pdf) [![下载量](https://poser.pugx.org/tecnickcom/tc-lib-pdf/downloads)](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开发, 动态文档, 后端开发, 字体处理, 开发工具, 开源库, 搜索引擎爬虫, 文档处理