我是 perl 新手,我正在尝试使用CAM::PDF
以下代码读取 pdf 文件:
当我尝试在命令提示符下运行它时,出现以下错误:
“在 C:/Strawberry/perl/site/lib/CAM/PDF.pm 第 667 行添加了未初始化的值 <+> ...在 C:/Strawberry/perl/site/lib/CAM/ 的 str 之外的 substr PDF.pm 第 657 行 ...(最后)...“对文件中位置 0 的对象 60 的错误请求无法在 C:...的未定义值上调用方法“getPageContentTree”
奇怪的是,我在一台运行良好的单独计算机上拥有完全相同的文件和程序。它可以完美地打印这台计算机无法打印的所有内容。
我试过重新安装 CAM::PDF 并重新安装cpan
. 由于某种原因,重新安装实际上也失败了。谢谢您的帮助。
#!/usr/bin/perl
use strict;
use warnings;
use CAM::PDF;
use CAM::PDF::PageText;
#in cmd: courts.pl samplePDF.pdf
my $filename = shift || die "Supply pdf on command line\n";
my $pdf = CAM::PDF->new($filename);
#print text_from_page(1);
my $string = text_from_page(1);
#print $string;
$string =~ s/\b \b//g;
print $string;
open(my $fh, '>', 'reports.txt');
print $fh "$string";
close $fh;
print "done\n";
sub text_from_page {
my $pg_num = shift;
return
CAM::PDF::PageText->render($pdf->getPageContentTree($pg_num));
}