我有几个PDF模板,我想要加载和修改,并使用tcpdf输出。
是否可以加载现有的PDF并将其用作tcpdf中的起点?
发布于 2020-04-17 03:26:29
我已经尝试了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');
发布于 2020-09-16 15:36:28
对于其他发现它的人来说,它似乎是一个解析器和导入类,是为TCPDF (https://tcpdf.org/docs/srcdoc/TCPDF/source-class-TCPDF_IMPORT/#50-100)构建的,但截至2018年仍在开发中。
还值得注意的是,上面的解决方案不允许编辑PDF页面的内容。换句话说,您将页面作为一个整体导入,不能编辑文本内容或图像。
https://stackoverflow.com/questions/1418945
复制相似问题