使用perl利用pdftotext从pdf中提取文本。效果很好。我的问题是,我正在阅读的pdf是多页的,我在每一页的顶部寻找特定行的数据。下面的代码将两个页面的全部内容转储到一个文件中。因为常量数据(在页面顶部)之后的数据长度不同,所以我不能准确地从第2页提取数据。我如何首先使用pdftotext或其他实用程序/模块遍历每个页面,然后在每个页面上分别调用pdftotext?
#!/usr/bin/perl
print "Content-type: text/html\n\n";
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;发布于 2012-10-12 03:32:16
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;https://stackoverflow.com/questions/12802076
复制相似问题