【问题标题】:FPDI Fatal error: Uncaught exception 'Exception' with message 'Unable to find object (1, 0)FPDI 致命错误:未捕获的异常“异常”,消息“无法找到对象 (1, 0)
【发布时间】:2014-11-11 21:33:56
【问题描述】:

我正在尝试使用以下简单代码导入带有 php 类 FPDI 的 pdf:

require_once("fpdf/fpdf.php");
require_once("fpdi/fpdi.php");
$pdf = new FPDI();
$pdf->setSourceFile('intermedia.pdf');
$tplidx = $pdf->ImportPage(1);
$pdf->AddPage();
$pdf->useTemplate($tplidx,0,0,210);
$pdf->Output();

但我收到以下错误:

警告:explode() [function.explode]:空分隔符。在 /var/catalogo/test_pdf/fpdi/pdf_parser.php 在第 369 行

致命错误:未捕获的异常 'Exception' 带有消息 'Unable to 在预期位置找到对象 (1, 0)。在 /var/catalogo/test_pdf/fpdi/pdf_parser.php:709 堆栈跟踪:#0 /var/catalogo/test_pdf/fpdi/pdf_parser.php(268): pdf_parser->resolveObject(Array) #1 /var/catalogo/test_pdf/fpdi/pdf_parser.php(208): pdf_parser->_readRoot() #2 /var/catalogo/test_pdf/fpdi/fpdi_pdf_parser.php(71): pdf_parser->__construct('/var/catalogo/t...') #3 /var/catalogo/test_pdf/fpdi/fpdi.php(128): fpdi_pdf_parser->__construct('/var/catalogo/t...') #4 /var/catalogo/test_pdf/fpdi/fpdi.php(108): FPDI->_getPdfParser('/var/catalogo/t...') #5 /var/catalogo/test_pdf/index.php(5): FPDI->setSourceFile('intermedia.pdf') #6 {main} 抛出 /var/catalogo/test_pdf/fpdi/pdf_parser.php 在第 709 行

这是应该导入的文件: http://catalogo.selectaspa.it/test_pdf/intermedia.pdf

【问题讨论】:

  • 能否提供导入文件的工作链接?

标签: fpdi


【解决方案1】:

好的,此文件的交叉引用已损坏。我现在刚刚收到了爆炸的“警告”,但最后你将不得不重新保存文档,例如Acrobat 在将其传递给 FPDI 之前对其进行修复。

您可以将第 362 行附近的 pdf_parser.php 更改为:

// get Line-Ending
$found = preg_match_all("/(\r\n|\n|\r)/", substr($data, 0, 100), $m); // check the first 100 bytes for line breaks
if ($found === 0) {
    throw new Exception('Xref table seems to be corrupted.');
}

可以在单独的FPDI PDF-Parser 中使用相同的修复程序,这样您也可以阅读此文档。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-09
    • 1970-01-01
    • 2014-08-26
    相关资源
    最近更新 更多