这是使用perl
读取pdf文本的代码#!/usr/bin/perl
use PDF::API2;
$pdf = PDF::API2->new;
$pdf = PDF::API2->open('01443325.pdf');
$page = $pdf->page;
$pagenum=10;
$pdf->stringify;
$page = $pdf->openpage($pagenum);
print $page;
运行此代码时,我没有得到任何输出。如何删除错误?
答案 0 :(得分:3)
当您在上面运行$ pdf-> stringify时,它会将该文件的内容作为字符串返回,但之后您不会对其执行任何操作。但是,如果您要打印它,它将不会为您提供您所追求的文本表示,因为它只是字符串中的原始PDF字节。
同样,将$ pagenum设置为10对程序的其余部分没有影响,因为变量没有以任何方式链接到$ pdf或$ page对象。
我认为最简单的选择是不要尝试使用PDF :: API2,而是先查看是否可以先从xpdf或poppler运行pdftotext,然后再读取输出。
如果没有,那么在Perl Monks页面http://www.perlmonks.org/?node_id=810721上有一些建议,在Google的“perl extract pdf pdf”中有更多建议。在How can I extract text from a PDF file in Perl?,甚至还有一个SO问题。
祝你好运!