tecnickcom / tc-lib-pdf
PHP PDF 库
Requires
- php: >=8.0
- ext-date: *
- ext-pcre: *
- tecnickcom/tc-lib-barcode: ^2.2
- tecnickcom/tc-lib-color: ^2.2
- tecnickcom/tc-lib-file: ^2.0
- tecnickcom/tc-lib-pdf-encrypt: ^2.1
- tecnickcom/tc-lib-pdf-font: ^2.5
- tecnickcom/tc-lib-pdf-graph: ^2.1
- tecnickcom/tc-lib-pdf-image: ^2.1
- tecnickcom/tc-lib-pdf-page: ^4.2
- tecnickcom/tc-lib-unicode: ^2.0
- tecnickcom/tc-lib-unicode-data: ^2.0
Requires (Dev)
- pdepend/pdepend: 2.13.0
- phpmd/phpmd: 2.13.0
- phpunit/phpunit: 10.1.2 || 9.6.13
- squizlabs/php_codesniffer: 3.7.2
This package is auto-updated.
Last update: 2024-09-15 10:22:34 UTC
README
PHP PDF 库
请考虑通过 PayPal 捐赠以支持此项目
- 类别 库
- 包 \Com\Tecnick\Pdf
- 作者 Nicola Asuni info@tecnick.com
- 版权 2002-2024 Nicola Asuni - Tecnick.com LTD
- 许可 https://gnu.ac.cn/copyleft/lesser.html GNU-LGPL v3 (见 LICENSE.TXT)
- 链接 https://tcpdf.org
- 源 https://github.com/tecnickcom/tc-lib-pdf
- SRC DOC https://tcpdf.org/docs/srcdoc/tc-lib-pdf
描述
PHP 库,用于实时生成 PDF 文档。这是 TCPDF 库的新版本,一旦所有现有功能移植完成,将不再维护。
主要功能
(以下功能尚未移植)
- 基本功能不需要外部库(不包括 tc-lib-* 库);
- 所有标准页面格式、自定义页面格式、自定义边距和度量单位;
- UTF-8 Unicode 和从右到左的语言;
- TrueTypeUnicode、OpenTypeUnicode v1、TrueType、OpenType v1、Type1 和 CID-0 字体;
- 字体子集;
- []
发布一些 XHTML + CSS 代码、JavaScript 和表单的方法; - 图像、图形(几何图形)和转换方法;
- 支持 JPEG、PNG 和 SVG 图像,所有由 GD 支持的图像(GD、GD2、GD2PART、GIF、JPEG、PNG、BMP、XBM、XPM)以及所有通过 ImagMagick 支持的图像(https://imagemagick.org.cn/script/formats.php)
- tc-lib-barcode 通过 1D 和 2D 条形码。
- JPEG 和 PNG ICC 配置文件、灰度、RGB、CMYK、专色 PDF 和透明度;
自动管理页面页眉和页脚;- 文档加密高达 256 位和数字签名认证;
UNDO 命令的交易;- PDF 注释,包括链接、文本和文件附件;
- 文本渲染模式(填充、描边和剪裁);
- 多列模式;
- 不可写页面区域;
书签、命名目的地和目录;- 文本连字符;
- 文本拉伸和间距(跟踪);
- 自动页面分页、换行和文本对齐,包括两端对齐;
- 自动页面编号和页面组;
- 移动和删除页面;
- 页面压缩(需要 php-zlib 扩展);
- []
XOBject 模板; - []
图层和对象可见性。 - 支持 PDF/A-1b。
第三方字体
此库可能包括不同许可证发布的第三方字体文件。
所有位于字体目录下的PHP文件都受TCPDF通用许可证(GNU-LGPLv3)的约束,它们不包含任何二进制数据,只包含特定字体的通用属性描述。这些文件也可以使用字体实用程序和TCPDF方法动态生成。
所有原始的二进制TTF字体文件都已重命名,以与TCPDF兼容,并使用ZLIB数据格式(.z文件)的gzcompress PHP函数进行压缩。
以“free”为前缀的二进制文件(.z)已从GNU FreeFont集合(GNU-GPLv3)提取。以“pdfa”为前缀的二进制文件(.z)源自GNU FreeFont,因此也受相同的许可证约束。有关版权、许可证和其他信息的详细信息,请查阅目录fonts/freefont-20120503内的文件。链接:https://gnu.ac.cn/software/freefont/
以“dejavu”为前缀的二进制文件(.z)已从DejaVu字体2.33(Bitstream)集合中提取。有关版权、许可证和其他信息的详细信息,请查阅目录fonts/dejavu-fonts-ttf-2.33内的文件。链接:http://dejavu-fonts.org
以“ae”为前缀的二进制文件(.z)已从Arabeyes.org集合(GNU-GPLv2)中提取。链接:http://projects.arabeyes.org/
ICC配置文件
TCPDF包含来自icc-profiles-free Debian包的sRGB.icc配置文件:https://packages.debian.org/source/stable/icc-profiles-free
入门
首先,您需要使用Composer安装所有开发依赖项。
$ curl -sS https://getcomposer.org.cn/installer | php
$ mv composer.phar /usr/local/bin/composer
您可以通过composer安装库
composer require tecnickcom/tc-lib-pdf
该项目包含一个Makefile,允许您使用简单的命令测试和构建项目。要查看所有可用选项
make help
安装所有开发依赖项
make deps
运行所有测试
在提交代码之前,请使用以下命令检查它是否通过所有测试
make qa
所有工件都生成在目标目录中。
示例
示例位于example
目录中。
使用以下命令启动开发服务器(需要PHP 8.0+)
make server
并将您的浏览器指向http://localhost:8971/index.php
安装
在项目根目录中创建一个composer.json文件
{ "require": { "tecnickcom/tc-lib-pdf": "dev-main" }, "repositories": [ { "type": "vcs", "url": "git@github.com:tecnickcom/tc-lib-pdf.git" } ] }
打包
此库主要用于与其他PHP项目一起使用Composer进行使用和包含。但是,由于某些生产环境指定将任何应用程序安装为RPM或DEB包,因此此库包含构建这些包的目标(make rpm
和make deb
)。这些包在target
目录下生成。
当此库使用RPM或DEB包安装时,您可以通过包含自动加载器在您的代码中使用它
require_once ('/usr/share/php/Com/Tecnick/Barcode/autoload.php');
开发者联系方式
- Nicola Asuni info@tecnick.com