php往pdf模板添加数据,在PHP中编写/绘制PDF模板文档

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

我希望能够使用PHP在现有的PDF文档上编写/覆盖文本。 我希望能做的是有一个PDF文件,可以作为一个模板,并通过打开模板文件,覆盖相关的文本,并将结果作为一个新的文件填补空白。 模板文档是单个页面,因此页面合并/操作不是必需的。

有没有免费的图书馆可以做到这一点? 我应该看的任何地方? 我所做的大部分search似乎都是处理合并文档/添加页面,而不是覆盖现有页面上的内容。

谢谢。

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

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

以下是未来stream浪者的一些示例代码(摘自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'); ?>

看一看FPDI库的一个附加到FPDF的模板注释。

它也可以绑定到另一个stream行的PHP PDF库TCPDF 。 现有的PDF用作页面的基础,而不是空白,之后的过程与普通的PDF创build相同。

您可能希望使用PDF表单来执行您想要的操作。 要填充这些婴儿,您可以使用这里描述的FDF方法: 使用HTML表单来填充PDF和FDF的PDF字段 。

实际上,还有另外一个很好的关于PDF表单填写的post: 使用PHP填充PDF表单 。

当你想使用PDF lib写一个文件,定位是耗时和无聊的。 Dhek对于这样的任务很有用: https : //github.com/applicius/dhek/releases 。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用PdfSharp创建PDF文件并在其绘制表格和插入数据,可以按照以下步骤进行: 1. 安装PdfSharp库,可以通过NuGet进行安装。 2. 创建一个PdfDocument对象来表示PDF文件。 ``` PdfDocument document = new PdfDocument(); ``` 3. 创建一个PdfPage对象来表示PDF文件的一页。 ``` PdfPage page = document.AddPage(); ``` 4. 创建一个XGraphics对象,用于在页面上绘制图形。 ``` XGraphics gfx = XGraphics.FromPdfPage(page); ``` 5. 创建一个XFont对象来表示表头和单元格的字体。 ``` XFont font = new XFont("Verdana", 10, XFontStyle.Regular); ``` 6. 创建一个XTable对象来表示表格,设置表格的列数和列宽。 ``` XTable table = new XTable(); table.Rows.Add(new XRow()); table.Columns.Add(new XColumn(Unit.FromCentimeter(3))); table.Columns.Add(new XColumn(Unit.FromCentimeter(3))); ``` 7. 添加表头行并设置单元格内容。 ``` table.Rows[0].Cells.Add(new XCell("列1", font)); table.Rows[0].Cells.Add(new XCell("列2", font)); ``` 8. 添加数据行并设置单元格内容。 ``` table.Rows.Add(new XRow()); table.Rows[1].Cells.Add(new XCell("数据1", font)); table.Rows[1].Cells.Add(new XCell("数据2", font)); ``` 9. 将表格绘制在页面上。 ``` table.Draw(gfx, new XRect(Unit.FromCentimeter(2), Unit.FromCentimeter(2), Unit.FromCentimeter(6), Unit.FromCentimeter(4))); ``` 10. 保存PDF文件。 ``` document.Save("file.pdf"); ``` 完整代码示例: ``` PdfDocument document = new PdfDocument(); PdfPage page = document.AddPage(); XGraphics gfx = XGraphics.FromPdfPage(page); XFont font = new XFont("Verdana", 10, XFontStyle.Regular); XTable table = new XTable(); table.Rows.Add(new XRow()); table.Columns.Add(new XColumn(Unit.FromCentimeter(3))); table.Columns.Add(new XColumn(Unit.FromCentimeter(3))); table.Rows[0].Cells.Add(new XCell("列1", font)); table.Rows[0].Cells.Add(new XCell("列2", font)); table.Rows.Add(new XRow()); table.Rows[1].Cells.Add(new XCell("数据1", font)); table.Rows[1].Cells.Add(new XCell("数据2", font)); table.Draw(gfx, new XRect(Unit.FromCentimeter(2), Unit.FromCentimeter(2), Unit.FromCentimeter(6), Unit.FromCentimeter(4))); document.Save("file.pdf"); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值