我有几个PDF模板,我想使用tcpdf加载和修改输出。
是否可以加载现有PDF并将其用作tcpdf中的起点?
答案 0 :(得分:28)
答案 1 :(得分:2)
我尝试了FPDI的免费版本,但不支持PDF版本1.5或更高版本。
如果其他人正在寻找免费解决方案,那么我已经使用TCPDI。您可以在github https://github.com/pauln/tcpdi上找到它 如果您使用的是作曲家,那么您也可以为作曲家找到一些叉子。只需在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');
答案 2 :(得分:0)
对于任何其他发现此问题的人,似乎确实有一个PARSER和import类是为TCPDF(https://tcpdf.org/docs/srcdoc/TCPDF/source-class-TCPDF_IMPORT/#50-100)构建的,但截至2018年仍在开发中。
还值得注意的是,上述解决方案不允许编辑PDF页面的内容。换句话说,您将页面整体导入,就无法编辑文本内容或图像。