FPDF错误:此文档(testcopy.pdf)可能使用FPDI附带的免费解析器不支持的压缩技术

时间:2012-08-28 06:54:23

标签: php fpdf fpdi

我正在运行以下代码并向我发出此错误:FPDF error: This document (testcopy.pdf) probably uses a compression technique which is not supported by the free parser shipped with FPDI.我使用了另一个名为test.pdf的pdf,但工作正常,但它在testcopy.pdf.

中给了我错误

我认为这是解析器问题。任何人都知道可以与fpdf一起使用的任何其他解析器以避免此错误吗?

我的代码:

require('fpdf17/fpdf.php'); 
require('fpdf17/fpdi.php'); 
// initiate FPDI 
$pdf = new FPDI(); 
while (ob_get_level())
ob_end_clean();
header("Content-Encoding: None", true);
// set the sourcefile 
$pagecount = $pdf->setSourceFile('testcopy.pdf');

我想在两个pdf中分割pdf,并希望在文件附件字段中附加两个pdf。如何将pdf保存到服务器。用fpdf可以吗?

9 个答案:

答案 0 :(得分:23)

是的,FPDF库只支持PDF版本1.4&较小。所以要从这个问题来看,请使用GhostScript。此脚本有助于动态更改PDF版本。

(1)在此处下载Ghostscript

(2)安装Ghostscript并定义环境变量PATH。

(3)然后,使用下面的PHP代码更改PDF版本。

shell_exec( "gswin32 -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dNOPAUSE -dQUIET -dBATCH -sOutputFile=".$new_pdf." ".$old_pdf.""); 

(4)现在我们将版本1.4的PDF作为输出,然后继续使用FPDF。

享受!

答案 1 :(得分:14)

文件需要是PDF 1.4(Acrobat 5)或更低版本。如果您有Adobe Acrobat Pro,则可以使用Document-> Decrease File Size更改此项。

答案 2 :(得分:6)

以下是我对另一个主题的回答:

“可以通过重新保存模板并更改压缩类型来克服它。 在Adobe Acrobat Pro中,转到File-> Save as-> Optimized PDF->弹出左侧列表 - 清理, 对象压缩选项 - >更改为“压缩文档结构” - >可以保存“

参考。 Editing password protected pdfs with fpdi

答案 3 :(得分:4)

到目前为止看看答案,我无法解决问题。 这就是为什么你可能会有同样的问题所以这个答案对你来说也是非常宝贵的。

我无法访问acrobat,因此无法降级原始PDF的版本。我无法购买已升级加密的新版本库。

最后我使用在线PDF转换器降级到版本5(1.4)

如果您无法找到,请点击此链接查看完整性。

https://docupub.com/pdfconvert/

(请记住,链接的内容可能会发生变化)

答案 4 :(得分:2)

我遇到了与PDFMerger无法使用某些PDF相同的问题。 似乎Adobe不断更新pdf扩展的压缩方式。

我找到了Chrome的解决方案。

1. Open the PDF file(which does not work with PDFMerger) with Chrome
2. Right Click and Print
3. Change destination as [Save as PDF]
4. This exported PDF file is compatible with PDFMerger

答案 5 :(得分:0)

我和你有类似的错误。我的解决方案是将pdf转换为较低的pdf版本。比一切都按预期工作。

我希望这个简单的技巧能帮助你!

答案 6 :(得分:0)

对于那些没有任何专业版Acrobat的人:

在尝试使用Office功能保存为PDF时,我遇到了新版Word的问题。似乎Office中提供的PDF转换工具使用的是较新的格式。这就是我修复它的方法。

  • 安装NitroPDF免费版(可与另一个可下载的免费PDF创建者合作)
  • 转到Word文档并选择“打印”。
  • 在打印选项中,选择“Nitro PDF Creator(Reader 3)”或当前版本,而不是打印机。
  • 将打开一个对话框,允许您选择保存PDF的位置。

FPDF可以打开保存的版本。

希望有所帮助

答案 7 :(得分:0)

对于Mac,您可以在“预览”中打开PDF文件,然后“导出为PDF”。然后可以使用导出的。

答案 8 :(得分:0)

GPL Ghostscript 8.70 (2009-07-31) / Centos 7

lineinfile:
      path: /var/spool/cron/root
      # Line to Search/Match against
      regexp: '{{item.From}}'
      # Line to Replace with
      line: '{{item.To}}'
      state: present  
    with_items:
     - { From: '/bin/true', To: '#* * * * * /bin/true'}
     - { From: '/bin/test.sh', To: '#* * * * * /bin/test.sh'}