为了账号安全,请及时绑定邮箱和手机立即绑定

在 PHP 中合并 pdf 文件并在其中保留网络链接

在 PHP 中合并 pdf 文件并在其中保留网络链接

PHP
HUH函数 2022-06-11 10:43:11
我们有一个项目,我们在其中合并不同的 pdf 以创建目录。现在它在 myokyawhtun/pdfmerger 上运行,运行良好,但它不保留在 acrobat 中设置的链接。我们尝试了我们找到的不同库(纯 PHP,我们无法通过 shell-exec 或此网络空间上的类似工具从命令行安装或调用应用程序,所以没有 gs),即使我们只是通过 fpdi 导入 pdf 文件并重新保存它们,超链接会丢失。是否有任何(纯 PHP)库可以保留文件内的链接?还是我们错过了一些特殊设置?我们尝试过:setasign/fpdiiio/libmergepdfjurosh/pdf-合并当前库的示例代码(myokyawhtun/pdfmerger):require('vendor/myokyawhtun/pdfmerger/tcpdf/tcpdf.php');require('vendor/myokyawhtun/pdfmerger/tcpdf/tcpdi.php');require('vendor/myokyawhtun/pdfmerger/PDFMerger.php');$pdf = new \PDFMerger\PDFMerger;foreach($sourcePdfs as $file){    $pdf->addPDF($pdfDir.'/source/'.$file);}$pdf->merge('download', 'Download.pdf');
查看完整描述

1 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

所有提到的库都在后台使用 FPDI,它根本不支持页面内容流之外的内容,例如链接或任何其他注释类型。


我们(FPDI 的作者)还提供非免费产品,这些产品在另一个层面上工作,允许您在连接文档时保留所有注释,包括链接和表单。这可以通过SetaPDF-Merger组件实现:


$merger = new SetaPDF_Merger();


foreach($sourcePdfs as $file) {

    $merger->addFile($pdfDir . '/source/' . $file);

}


$merger->merge();


$document = $merger->getDocument();

$document->setWriter(new SetaPDF_Core_Writer_Http('Download.pdf'));

$document->save()->finish();


查看完整回答
反对 回复 2022-06-11
  • 1 回答
  • 0 关注
  • 198 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信