首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >编辑PDF en PHP?

编辑PDF en PHP?
EN

Stack Overflow用户
提问于 2008-08-10 21:58:25
回答 9查看 133.3K关注 0票数 86

有没有人知道用PHP编辑PDF的好方法?最好是开源/零许可成本的方法。:)

我的思路是打开PDF文件,替换PDF中的文本,然后写出修改后的PDF版本?

在前端

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2008-08-11 00:49:58

如果你采用“填充空白”的方法,你可以在页面上的任意位置精确定位文本。因此,将缺少的文本添加到文档中相对容易(如果不是有点繁琐的话)。例如,使用Zend Framework:

代码语言:javascript
复制
<?php
require_once 'Zend/Pdf.php';

$pdf = Zend_Pdf::load('blank.pdf');
$page = $pdf->pages[0];
$font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA);
$page->setFont($font, 12);
$page->drawText('Hello world!', 72, 720);
$pdf->save('zend.pdf');

如果您试图替换内联内容,比如“占位符字符串”,事情就会变得复杂得多。虽然这在技术上是可行的,但您可能会弄乱页面的布局。

PDF文档由一组图元绘制操作组成:此处为直线,此处为图像,此处为文本块,等等。它不包含有关这些图元的布局意图的任何信息。

票数 72
EN

Stack Overflow用户

发布于 2010-11-15 20:31:15

有一个免费且易于使用的PDF类来创建PDF文档。它被称为FPDF。与FPDI (http://www.setasign.de/products/pdf-php-solutions/fpdi)相结合,甚至可以编辑PDF文档。下面的代码展示了如何使用FPDF和FPDI用用户数据填充现有的礼券。

代码语言:javascript
复制
require_once('fpdf.php'); 
require_once('fpdi.php'); 
$pdf = new FPDI();

$pdf->AddPage(); 

$pdf->setSourceFile('gift_coupon.pdf'); 
// import page 1 
$tplIdx = $this->pdf->importPage(1); 
//use the imported page and place it at point 0,0; calculate width and height
//automaticallay and ajust the page size to the size of the imported page 
$this->pdf->useTemplate($tplIdx, 0, 0, 0, 0, true); 

// now write some text above the imported page 
$this->pdf->SetFont('Arial', '', '13'); 
$this->pdf->SetTextColor(0,0,0);
//set position in pdf document
$this->pdf->SetXY(20, 20);
//first parameter defines the line height
$this->pdf->Write(0, 'gift code');
//force the browser to download the output
$this->pdf->Output('gift_coupon_generated.pdf', 'D');
票数 48
EN

Stack Overflow用户

发布于 2008-08-27 09:59:34

如果你需要非常简单的PDF,那么Zend或FPDF就可以了。然而,我发现使用它们既困难又令人沮丧。此外,由于API的工作方式,没有好的方法将内容、表示和业务逻辑分开。

出于这个原因,我使用dompdf,它可以自动将HTML和CSS转换为PDF文档。您可以像布局HTML页面一样设置模板的布局,并使用标准HTML语法。您甚至可以包含一个外部CSS文件。这个库并不完美,非常复杂的标记或css有时会被破坏,但我还没有找到其他同样有效的库。

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档