首页 文章

用于从pdf文件中读取和删除页面的PHP代码

提问于
浏览
0

我有一个生成PDF文件的系统,每个文件由两个页面组成 . 出于某种原因,我需要编写一个PHP代码,可以从每个PDF文件中删除第二页 . Herer就是我做过的,结果是什么:

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();

结果是此错误消息:

带有消息的未捕获异常'Exception''此文档(test.pdf)可能使用FPDI附带的免费解析器不支持的压缩技术 . (有关详细信息,请参阅https://www.setasign.com/fpdi-pdf-parser)'在第322行的C:\ wamp \ www \ FPDI-1.6.1 \ pdf_parser.php中

有人知道怎么帮忙吗?

1 回答

  • 0

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

    pdftk in.pdf cat 1 output out.pdf
    

相关问题