我试图获取一大组PDF文件(300.000)中的页面总数。我写的剧本有效,但错误与'内存不足'。在TaskManager中,我看到内存使用量逐渐增加。计算大量pdf文件中的页数:内存不足
这是File :: Find的标准行为吗?有没有人有另一种方法?
#!/usr/bin/perl
use File::Find;
use PDF::API2;
$totalpages = 0;
sub pagesPDF {
return unless -f;
my $fullpath = $File::Find::name;
my $pdf = PDF::API2->open($fullpath);
my $pages = $pdf->pages;
$totalpages += $pages;
}
find (\&pagesPDF, "G:/MYDIR/1");
print "Total pages of pdf pages = $totalpages\n";
有没有'close'方法? – reto
@reto我查看了PDF :: API2的规格。似乎没有一个密切的方法。 –
您是否测试过$ pdf-> end()是否删除文件?我知道它宣称破坏文件,而不是对象,但这实际上会让我感到惊讶。为什么会有专门销毁pdf文档的方法?我会假定它实际上干净地销毁对象,希望能够正确关闭文件。 – DeVadder