【问题标题】:PDFMerger with FPDI-PDF-PARSERPDFMerger 与 FPDI-PDF-PARSER
【发布时间】:2017-09-13 02:21:47
【问题描述】:

正在使用 FPDI PDF 文件合并。但是,我在尝试合并 1.5 及更高版本的 PDF 文件时遇到了以下问题。以下是我收到的错误:

本文档 (doc.pdf) 可能使用了一种压缩技术,即 FPDI 附带的免费解析器不支持。 (看 https://www.setasign.com/fpdi-pdf-parser了解更多详情)

我继续访问该链接,该链接建议使用商业插件 fpdi-pdf-parser。该文件已包含在其余文件中。并且在安装步骤中,据说不需要进行其他步骤,但我仍然遇到同样的错误。

值得注意的是,我正在使用以下 PDF 合并(反过来,它使用 FPDI 库)

https://github.com/myokyawhtun/PDFMerger/blob/master/PDFMerger.php

我不确定如何使用这个“fpdi-pdf-parser 插件”,它被宣传为解决我的 PDF 1.5 问题。我错过了什么?

【问题讨论】:

  • 用文本编辑器打开你的pdf文件并将内容粘贴到这里。
  • @anwerjunaid pdf 文件的内容无关紧要,因为我的问题是多个 pdf 文件,无论使用 PDFMerger 将内容合并在一起。
  • 不是内容,您可能需要检查文件的二进制部分。生成pdf的方式有很多种。
  • 官方文档setasign.com/products/fpdi-pdf-parser/details有压缩pdf的例子@
  • @AgamBanga 我没有发现这个例子很清楚,特别是我没有php经验。

标签: php pdf fpdf fpdi phplib


【解决方案1】:

您声明您正在使用 PDFMerger,但查看 project page 显示:

支持 PDF 1.5 和 PDF 1.6

FPDF 和 FPDI 库被带有 TCPDI 扩展和解析器的 TCPDF 取代。

所以看起来,特别是因为它们不支持 PDF 版本 >1.4,PDFMerger 不再使用 FPDF 和 FPDI。

为了测试这个我downloadedPDFMerger(注意这包括一份TCPDF),稍微修改了示例代码,并使用标记为版本1.7的PDF运行它/strong>:

<?php

include 'PDFMerger.php';

$pdf = new PDFMerger;

$pdf->addPDF('43451941a.pdf', '1'); // page 1 from first file.
$pdf->addPDF('43451941b.pdf', '5'); // page 5 from second file.

$pdf->merge('browser'); // send the file to the browser.

结果是,在我的网络浏览器中,我得到了一个两页的 PDF 文件,正如预期的那样。

据我所知,FPDF/FPDI 根本不需要!

只需下载并使用 PDFMerger。

【讨论】:

  • 我注意到 PDFMerger 会丢失内容,因为它将连接的 PDF 视为图像文件
猜你喜欢
  • 2014-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多