Php 将2 pdf与Zend框架合并
我正在尝试合并2个PDF,一个在我的服务器上(不是动态生成的),另一个在合并之前生成,并且没有保存在服务器上的任何位置(我只是希望我的客户端下载它)。所以我只有pdf的内容。两种PDF格式相同(A4) 合并的文件将有2页,并且不会保存在服务器上 因为我使用的是Zend框架,所以我更喜欢它的解决方案(在网上找不到),还有什么建议吗 编辑:因为人们懒得点击。代码在链接中,因为它是错误的,不起作用 我尝试下面的脚本,但我得到了 错误: 未捕获异常 带有消息的“Zend_Pdf_异常” '页面已附加到一个文档,但 在另一个上下文中呈现Php 将2 pdf与Zend框架合并,php,zend-framework,pdf,merge,Php,Zend Framework,Pdf,Merge,我正在尝试合并2个PDF,一个在我的服务器上(不是动态生成的),另一个在合并之前生成,并且没有保存在服务器上的任何位置(我只是希望我的客户端下载它)。所以我只有pdf的内容。两种PDF格式相同(A4) 合并的文件将有2页,并且不会保存在服务器上 因为我使用的是Zend框架,所以我更喜欢它的解决方案(在网上找不到),还有什么建议吗 编辑:因为人们懒得点击。代码在链接中,因为它是错误的,不起作用 我尝试下面的脚本,但我得到了 错误: 未捕获异常 带有消息的“Zend_Pdf_异常” '页面已附加到
您是否尝试过使用合并工具合并它们 可以使用以下方法实现多个PDF与it的合并:
pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf
123.pdf将是生成的pdf。您可以将生成的PDF临时存储在服务器上,将其发送到浏览器,并在不再需要时将其删除。好的,根据@Gordon在我的问题中的评论,我找到了一个解决方案
从要合并的PDF中克隆页面,否则,您的应用程序将打印一个错误(自解释的错误)(这对于Zend_PDF来说非常有趣)
$extractor = new Zend_Pdf_Resource_Extractor();
$clone_page_to_use_in_any_pdf = $extractor->clonePage($original_pdf->pages[0]);
我就是这样做的
希望这对大家都有帮助
TJ
就从马嘴里
我合并PDF的经验:
- Zend_Pdf对于大型编译速度慢且效率低
- pdftk会丢失文档的书签,如果文档的大小大于合并的文档,则会崩溃
- pdflib非常快速,可以保存书签,对于大型编译非常有效
$extractor = new Zend_Pdf_Resource_Extractor();
$clone_page_to_use_in_any_pdf = $extractor->clonePage($original_pdf->pages[0]);
$extractor = new Zend_Pdf_Resource_Extractor();
$page1 = $extractor->clonePage($pdf->pages[$templatePageIndex1]);
$page2 = $extractor->clonePage($pdf->pages[$templatePageIndex2]);
$page1->drawText('Some text...', $x, $y);
$page2->drawText('Another text...', $x, $y);
$pdf = new Zend_Pdf();
$pdf->pages[] = $page1;
$pdf->pages[] = $page2;