Perl,无法阅读PDF交叉引用部分,根据预告片



我正在尝试读取pdf文件的内容。这是代码

 4 use warnings;
 5 use strict;
 6
 7 use PDF;
 8
 9 print "*" x 30, "n";
10 my $filename = shift;
11 print "Filename: $filenamen";
12
13 my $pdf = PDF->new($filename);

这是输出:

******************************
Filename: Calabasas, LA County June 2012 monthly-new-projects-report.pdf
Can't read cross-reference section, according to trailer

当我浏览谷歌时,我发现这在某种程度上与文件损坏有关。但我仍然可以用pdf阅读器打开它。

我应该尝试不同的Perl模块吗?还是我的代码坏了?

不知道这是你想要的(纯perl解决方案还是windows解决方案),但在Unix中,我调用"pdftotext"为我进行转换,然后我读取文件:

open IN, '-|', '/usr/bin/pdftotext', $file, '-' 
    or die "couldn't open $file $!n";

希望它能有所帮助!