2016-04-23 47 views
1

当我想上传PDF文件,并分离每一页的PDF格式,它正在某些PDF文件,但一些PDF文件显示此错误:MPDF错误:无法找到外部参照表

mPDF error: Unable to find xref table -" Maybe a Problem with auto_detect_line_endings" 

我的代码:

ini_set('memory_limit', '512M'); 
$pagecount = Model::count_pages($documentPath.$journalDoc); 
for ($i=1; $i<=$pagecount; $i++) { 
    $pdf = new mPDF('','Letter',12,'helvetica, sans-serif',200,0,0,20,0,10,'P'); 
    $pdf->SetImportUse(); 
    $pdf->SetSourceFile($documentPath.$journalDoc); 
    $import_page = $pdf->ImportPage($i); 
    $pdf->UseTemplate($import_page); 
    $pdf->Output($output_dir.$i.'.pdf', 'F'); 
} 
+0

小成形。 – Uzbekjon

回答

0

FPDI在MPDF的官方回购的版本是很老了。您可以尝试更新至latest version。或者您只需使用FPDI的正式版本即可使用FPDF

如果您收到一条关于“unssported compression”的消息,您可以查看FPDI PDF-Parser add-on。请注意,mPDF存在许可证不兼容问题。

1

这可能是由与您正在运行的mPDF不兼容的版本的PDF文件引起的。您通常可以通过回溯源PDF文件来规避问题。

例如,对于mPDF v6.0,尝试使用类似Ghostscript的东西将PDF压缩到最多v1.4。 (凡old.pdf是你的资源文件)

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -o new.pdf old.pdf

Ghostscript的不会写它的阅读,所以如果你这样做是直列你有跳舞的文件;

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -o new.pdf old.pdf; mv -f new.pdf old.pdf

0

这可以通过与MPDF不兼容的PDF文件的版本引起的。你会更好地回归PDF文件版本。
如果您从文件中提取页面,则可能使用了Adobe软件。 只需在Linux平台上使用pdftk或pdfchain即可解决问题。

相关问题