如何使用CAM :: PDF提取所有页面?

时间:2015-02-18 22:59:08

标签: perl pdftotext pdf-parsing

#!/perl/bin/perl -w
use CAM::PDF;
use CAM::PDF::PageText;

$filename = "test.pdf";

my $pdf = CAM::PDF->new($filename);
my $pageone_tree = $pdf->getPageContentTree(2);
$text = CAM::PDF::PageText->render($pageone_tree);
#$text =~ s/regex/modify/gi;
print $text;

使用上面的代码,我可以将pdf数据提取到文本文件中,但我只能得到一个页面。我想在我的pdf中获得每一页。

我知道它在包含

的行中
my $pageone_tree = $pdf->getPageContentTree(2);

我不确定如何改变它。我甚至尝试过(1..200),它只给了我第一页。有人熟悉使用CAM :: PDF ??

1 个答案:

答案 0 :(得分:4)

这适用于我需要的东西。

use CAM::PDF;
use CAM::PDF::PageText;
$filename = "test.pdf";

my $pdf = CAM::PDF->new($filename);
for my $page (1..$pdf->numPages) {
my $pageone_tree = $pdf->getPageContentTree($page);
$text = CAM::PDF::PageText->render($pageone_tree);
print $text;

}

numPages函数从pdf中获取页数。