在 PHP 中编写/绘制 PDF 模板文档

Posted

技术标签:

【中文标题】在 PHP 中编写/绘制 PDF 模板文档【英文标题】:Writing/Drawing over a PDF template document in PHP 【发布时间】:2011-05-17 00:08:34 【问题描述】:

我希望能够使用 php 在现有 pdf 文档上写入/覆盖文本。我希望做的是有一个可以充当模板的 pdf 文档,并通过打开模板文档、覆盖相关文本并将结果作为新文档提供来填补空白。模板文档是单页,因此不需要页面合并/操作。

有没有免费的库可以做到这一点?我应该去哪里看?我所做的大多数搜索似乎都在处理合并文档/添加页面,而不是在现有页面上覆盖内容。

谢谢。

*编辑: 这是我所做的: 1. 下载 FPDF 2.从

下载FPDI + FPDF_TPL

http://www.setasign.de/products/pdf-php-solutions/fpdi/downloads/

这里是一些未来流浪者的示例代码(改编自 www.setasign.de 上的示例):

<?php 
include('fpdf.php'); 
include('fpdi.php'); 

// initiate FPDI 
$pdf =& new FPDI(); 
// add a page 
$pdf->AddPage(); 
// set the sourcefile 
$pdf->setSourceFile('templatedoc.pdf'); 
// import page 1 
$tplIdx = $pdf->importPage(1); 
// use the imported page as the template 
$pdf->useTemplate($tplIdx, 0, 0); 

// now write some text above the imported page 
$pdf->SetFont('Arial'); 
$pdf->SetTextColor(255,0,0); 
$pdf->SetXY(25, 25); 
$pdf->Write(0, "This is just a simple text"); 

$pdf->Output('newpdf.pdf', 'D'); 
?>

【问题讨论】:

很高兴您在答案示例中进行了编辑,为此 +1,不是吗? :-) 是的!当几周后我忘记了我所做的事情并再次寻找它时,它也会对我有所帮助:P(我的项目还没有实现它,刚刚知道如何实现)。 您是否找到任何方法在现有文档中附加图像而不是编写文本? 【参考方案1】:

查看FPDI Library 并添加到FPDF 以获取模板注释。

它还可以附加到另一个流行的 PHP PDF 库 TCPDF。现有的 PDF 被用作页面的基础,而不是空白,之后的过程与常规 PDF 创建相同。

【讨论】:

谢谢!很好,很容易通过代码覆盖文本。 如果你只是想填一个表格,请考虑moontear讨论的FDF路线,因为它比注释更可取。如果您需要进行更实质性的更改,那么 TCPDF 上的 FPDI 是必要的。【参考方案2】:

您可能希望将 PDF 表单用于您想做的事情。要填充这些婴儿,您可以使用此处描述的 FDF 方法:Using html forms to fill in PDF fields with PHP and FDF。 实际上,这里还有一篇关于 PDF 表单填写的不错的 SO 帖子:Filling PDF Forms with PHP。

【讨论】:

+1 因为如果您不需要做表单无法满足的注释,FDF是表单修改的最佳方法。 +1 这是一种优雅的方法,但是我的简单文档只需要插入几个文本就可以保证一路走下去,所以对我来说,我认为建议的另一种方法更容易(而且更快)。还是谢谢!【参考方案3】:

当您想使用 PDF lib 覆盖文档时,定位既费时又无聊。 Dhek 对此类任务很有用:https://github.com/cchantep/dhek/releases。

定义了 PDF 页面/坐标上的 JSON 映射,以便您可以使用自己喜欢的 PDF API 编写。

【讨论】:

以上是关于在 PHP 中编写/绘制 PDF 模板文档的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Laravel Blade 模板中编写 PHP 代码?

使用 VS Code + Markdown 编写 PDF 文档

pdfformfiller2填写后无法编辑PDF表单

freemarker生成go语言

对于初学者文档应该怎么编写呢?使用什么模板或格式?

xampp安装后如何编写php文件??