php - 为什么使用 mPDF 合并 PDF 文件后超链接丢失?

我必须合并一些带有超链接的 pdf 文件。与 mPDF 合并很好,但输出文件中没有超链接!仅剩文字。

require_once('./mpdf/mpdf.php');

$mpdf = new mPDF('utf-8', 'A4', '8', '', 10, 10, 7, 7, 10, 10);
$mpdf->SetImportUse();

$pagecount = $mpdf->SetSourceFile('./static_files/01_file.pdf');
$tplId = $mpdf->ImportPage(1);
$mpdf->UseTemplate($tplId);
$mpdf->WriteHTML();

$pagecount = $mpdf->SetSourceFile('02_SourceFile.pdf');
for ($i=1;$i<$pagecount;$i++) {
    $mpdf->AddPage();
    $tplId = $mpdf->ImportPage($i);
    $mpdf->UseTemplate($tplId);
    $mpdf->WriteHTML();
}

$pagecount = $mpdf->SetSourceFile('./static_files/03_file.pdf');
for ($i=1;$i<=$pagecount;$i++) {
    $mpdf->AddPage();
    $tplId = $mpdf->ImportPage($i);
    $mpdf->UseTemplate($tplId);
    $mpdf->WriteHTML();
}

$mpdf->Output('Output.pdf', '', 'F');

文件 01_file.pdf、03_file.pdf 是静态的(看起来它们是使用 Acrobat 或 LibreOffice 等桌面工具创建的)而 02_SourceFile.pdf 是由 tcpdf 创建的。这三个文件本身都包含带有事件超链接的页面,但合并后没有事件超链接,只有每个文件的标题文本。

怎么了?或者如何使用其他 PHP 工具合并 pdf 文件(仅使用跨平台工具和首选 PHP 很重要)。

最佳答案

您可以使用 QPDF 或 PDFTK 轻松合并 PDF,这两种工具都是免费的。它们不是 PHP,但您可以轻松地为它们编写 PHP 包装器并在 Linux 中运行。

我个人更喜欢 QPDF,因为它保留内容并且不会弄乱任何元标记,而 PDFTK 喜欢设置作者。

看看the QPDF site at sourceforge

https://stackoverflow.com/questions/16419074/

相关文章:

jsp - JSTL 自定义标签变量替换

visual-studio-2012 - Visual Studio : Undo-redo of

arrays - 重命名 MongoDB 数组中嵌入文档中的字段不起作用

json - Play 2.1(scala) - 如何为 scala 枚举案例类编写 Format[

vbscript - 带参数的 Shell.Run

node.js - Mongo降序排序

python - 在python多处理中实现Ctrl+C取消

asp.net-mvc-4 - Razor 看不到我的右括号

c# - 在 C#/.NET 中逐笔更新到烛台/OHLC 数据

image - 通过 mongo shell 脚本将图像文件读入 MongoDB 文档的二进制字段