tcpdf - 从现有的 PDF 文档开始

2022-08-30 15:42:37

我有几个PDF模板,我想使用tcpdf加载,修改和输出。

是否可以加载现有的PDF并将其用作tcpdf中的起点?


答案 1

您想要使用 FPDI

这里有一些示例代码。


答案 2

我已尝试FPDI的免费版本,但不支持PDF版本1.5或更高版本。

如果其他人正在寻找免费的解决方案,我已经使用了TCPDI。你可以在github上找到它 https://github.com/pauln/tcpdi 如果你使用的是 composer,你也可以找到一些 composer 的分叉。只需在github上搜索tcpdi。

一旦将其添加到项目中,代码就非常简单了。它是TCPDF的扩展,因此您之前的所有代码都继续工作

这是我代码中的一个片段。我用它来保存隐私政策的副本(静态pdf),每个页面页脚上都有用户名和协议日期。

// Create new PDF document
$pdf = new TCPDI(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
...
// Add the pages from the source file.
$pagecount = $pdf->setSourceFile($policyPdfPath);
for ($i = 1; $i <= $pagecount; $i++) {
    $tplidx = $pdf->importPage($i);
    $pdf->AddPage();
    $pdf->useTemplate($tplidx);
    // Add agreement text in document footer
    $pdf->SetXY(15,282);
    $pdf->Cell(180, 5, "Documento approvato da {$fullName} il {$date}", 0, 0, 'C');
}
// Send PDF on output
$pdf->Output(FOLDER_PATH . DIRECTORY_SEPARATOR . "{$userId}.pdf", 'F');

推荐