使用 perl 利用 pdftotext 从 pdf 中提取文本。效果很好。我的问题是我正在阅读的pdf是多页的,我正在寻找每页顶部特定行的数据。下面的代码将两个页面的全部内容转储到一个文件中。由于常量数据(位于页面顶部)之后的数据长度不同,因此我无法准确地从第 2 页中提取数据。我将如何先使用 pdftotext 或其他实用程序/模块逐步浏览每个页面,然后在每个页面上单独调用 pdftotext?
#!/usr/bin/perl
print "Content-type: text/htmlnn";
print "n<style>
div.line {width:100%;white-space:nowrap;}
div.line div {width:80px;float:left;}
</style>";
my $i=0;
open FILE, "pdftotext -layout my_multi_page_pdf.pdf - |";
while (<FILE>) {
$i++;
my ($line) = $_;
print "n<div class="line"><div>$i</div>$line</div>";
}
close FILE;
use strict;
use warnings;
my $i = 0;
my $pageNum = 1;
open my $fh, "pdftotext -layout multipage.pdf - |" or die $!;
print "---------- Begin Page $pageNum ----------n";
while ( my $line = <$fh> ) {
if ( $line =~ /xC/ ) {
print "n---------- End Page $pageNum ----------n";
$pageNum++;
print "---------- Begin Page $pageNum ----------n";
}
$i++;
print "n<div class="line"><div>$i</div>$line</div>";
}
close $fh;