2017-02-10 101 views
0

我有一个生成PDF文件的系统,每个文件包含两个页面。出于某种原因,我需要编写一个PHP代码,可以从每个PDF文件中删除第二页。 Herer是我做了什么,什么是结果:从pdf文件读取和删除页面的PHP代码

1 - 我使用TCPDF库编写如下因素代码:

require_once('TCPDF-master/examples/tcpdf_include.php'); 
require_once('TCPDF-master/tcpdf_import.php'); 

$pdf = new TCPDF_IMPORT('test.pdf'); 
if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { 
    require_once(dirname(__FILE__).'/lang/eng.php'); 
    $pdf->setLanguageArray($l); 
} 
$pdf->deletePage(2); 
$pdf->Output('test_output.pdf', 'I'); 

结果:空白一个页面的PDF文件。换句话说,原始文件中的内容在新文件中不可用

2-我使用FPDF和FPDI库从原始文件中只读取一个页面。

require_once('FPDF-master/fpdf.php'); 
require_once('FPDI-1.6.1/fpdi.php'); 

$pdf = new FPDI(); 

$pageCount = $pdf->setSourceFile('test.pdf'); 
$tplIdx = $pdf->importPage(1, '/MediaBox'); 

$pdf->addPage(); 
$pdf->useTemplate($tplIdx, 10, 10, 90); 

$pdf->Output(); 

结果是这样的错误消息:

未捕获的异常“异常”与消息“该文档(检验.pdf) 可能使用未由 自由分析器支持的压缩技术随FPDI一起发货。 (见 https://www.setasign.com/fpdi-pdf-parser有详细介绍)”在 C:\ WAMP \ WWW \ FPDI-1.6.1 \上线pdf_parser.php 322

任何人知道如何去帮助请?

+1

您是否尝试过该链接中的解析器?也许你需要商业插件来打开你的源文件。 –

+0

问题,这是相当昂贵的,所以我不能使用它,我正在寻找免费的解决方案 – Nour

+0

看看这个https://stackoverflow.com/questions/14546275/tcpdf-and-fpdi-with-multiple-页面,您可以根据需要进行修改 –

回答

0

我会尝试使用像pdftk这样的工具。如果您愿意,可以从PHP调用它。下面的命令行提取页面。

pdftk in.pdf cat 1 output out.pdf