我正在运行以下代码,并给我这个错误:FPDF error: This document (testcopy.pdf) probably uses a compression technique which is not supported by the free parser shipped with FPDI.我使用另一个名为pdf test.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');
Run Code Online (Sandbox Code Playgroud)
我想在两个pdf中分割pdf,并希望在文件附件字段中附加两个pdf.如何将pdf保存到服务器.用fpdf可以实现吗?
小智 27
是的,完全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."");
Run Code Online (Sandbox Code Playgroud)
(4)现在我们将1.4版本的PDF作为输出,然后继续使用FPDF.
请享用!
到目前为止,我无法解决问题。这就是原因,您可能会遇到同样的问题,因此这个答案对您来说也是无价之宝。
我无法访问 acrobat,因此无法降级原始 PDF 的版本。我无法购买已升级加密的库的较新版本。
最后我使用在线PDF转换器降级到版本5(1.4)
如果您找不到,这里有一个完整的链接。
https://docupub.com/pdfconvert/
Run Code Online (Sandbox Code Playgroud)
(请记住,链接的内容可能会更改)
以下是我对另一个主题的回答:
"可以通过重新保存模板和更改压缩类型来解决此问题.在Adobe Acrobat Pro中,转到文件 - >另存为 - >优化的PDF->弹出左列表 - 清理,对象压缩选项 - >更改为"压缩文档结构" - >好的保存"
我有一个相同的问题,即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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25270 次 |
| 最近记录: |