【问题标题】:Php pdf split to pagesphp pdf拆分为页面
【发布时间】:2020-03-04 01:06:01
【问题描述】:

我有 pdf 文件。需要将它们导入系统并按页面拆分。单独的页面 = 单独的文件。

我尝试使用 FPDF 和 FPDI:

  $pdf = new FPDI(); //FPDI extends TCPDF
  $pdf->AddPage();
  $pages = $pdf->setSourceFile($sLeadDirPath . $sImageName);
  //for first page...
  $page = $pdf->ImportPage(1);
  $pdf->useTemplate($page, 0, 0);
  $pdf->Output('newTest.pdf', 'F');    

有些文件运行良好,但有些文件出现错误:

致命错误:未捕获的异常 'setasign\Fpdi\PdfParser\CrossReference\CrossReferenceException' 与 message '此 PDF 文档已加密,无法使用 FPDI。'

据我了解,文件已加密(但我可以毫无问题地打开它)。 我该如何解决这个问题?

或者也许还有其他方法可以在没有 FPDI 的情况下在 PHP 中拆分 pdf?

谢谢!

【问题讨论】:

    标签: php pdf tcpdf fpdf fpdi


    【解决方案1】:

    即使您无需输入密码即可查看文档内容,也可以加密 PDF。当 PDF 文件没有“文档打开密码”(用户密码)但有“权限密码”(主密码)时,可能会出现这种情况。在这种情况下,您无需输入密码即可打开 PDF,但您将无法在不输入密码的情况下编辑 PDF(手动或通过 FPDI)。您必须解密 PDF,但是,这在 FPDI 中没有实现:

    FPDI 不支持导入加密的 [原文如此] PDF 文档。毕竟 这是没有意义的,因为生成的文档是完全 可以重新加密或不重新加密的新文档。

    (...)

    如果您需要修改已加密的现有文档 您可以查看任何SetaPDF product

    【讨论】:

    • 所以如果文件被任何库加密,就不可能进行拆分,对吗?
    • 不使用 FPDI,但正如 Tom 所说,我们的 SetaPDF 产品能够处理加密文档。
    猜你喜欢
    • 2012-01-26
    • 1970-01-01
    • 1970-01-01
    • 2017-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多