matrix2305/mcpdf

mcpdf 的 PHP 封装

dev-main 2022-09-05 12:01 UTC

This package is auto-updated.

Last update: 2024-09-05 16:21:41 UTC


README

此包使用了由 m-click(m-click/mcpdf)创建的 Java 包。

Mcpdf

Mcpdf 是 PDFtk 的替代品,解决了固定的 Unicode 问题,因此您可以将 Łódź 写入表单中。

它实现了 PDFtk 的小子集,并为它实现了兼容的命令行界面,因此可以用作该子集命令的替代品。

内部使用 iText PDF 库。

入门

确保您已安装了 Java 运行时环境,例如 OpenJDK。

Xfdf

此包包含用于生成 Xfdf 文档的 XfdfDocument 类。

填充 PDF 字段示例

    use matrix2305\Pdf\MCPDF;

    require 'vendor/autoload.php';
    
    $mcpdf = new MCPDF();
    
    $xfdf = new \matrix2305\Xfdf\XfdfDocument();
    $xfdf->addField('date', '23.05.1998');
    $xfdfPath = __DIR__.'/test.xfdf';
    $xfdf->save($xfdfPath);
    
    $mcpdf->setDataXfdfPath($xfdfPath);
    $mcpdf->setFlatten(true);
    $mcpdf->setFromPDFFilePath(__DIR__.'/test.pdf');
    $mcpdf->saveAs(__DIR__.'/output.pdf');

设置背景 PDF 示例

    use matrix2305\Pdf\MCPDF;

    require 'vendor/autoload.php';
    
    $mcpdf = new MCPDF();
    $mcpdf->setBackgroundPdfPath($backgroundPdfFilePath);
    $mcpdf->setFromPDFFilePath(__DIR__.'/test.pdf');
    $mcpdf->saveAs(__DIR__.'/fsafs.pdf');

手动设置 Java 路径

    use matrix2305\Pdf\MCPDF;

    require 'vendor/autoload.php';
    
    $mcpdf = new MCPDF();
    $mcpdf->setJavaPath($pathToJava);