CAM::PDF Perl Library可以输出不太难解析的文本(它似乎相当随意地分割文本行)。我无法学习太多Perl,所以我写了这些非常基本的Perl命令行脚本,一个将单页pdf读取到文本文件perl read.pl pdfIn.pdf textOut.txt,另一个写入文本(可以在此期间修改)到pdf perl write.pl pdfIn.pdf textIn.txt pdfOut.pdf。
#!/usr/bin/perl
use Module::Load;
load "CAM::PDF";
$pdfIn = $ARGV[0];
$textOut = $ARGV[1];
$pdf = CAM::PDF->new($pdfIn);
$page = $pdf->getPageContent(1);
open(my $fh, '>', $textOut);
print $fh $page;
close $fh;
exit;
和
#!/usr/bin/perl
use Module::Load;
load "CAM::PDF";
$pdfIn = $ARGV[0];
$textIn = $ARGV[1];
$pdfOut = $ARGV[2];
$pdf = CAM::PDF->new($pdfIn);
my $page;
open(my $fh, '
{
local $/;
$page = ;
}
close($fh);
$pdf->setPageContent(1, $page);
$pdf->cleanoutput($pdfOut);
exit;
你可以使用python call这些在输出的文本文件上做一些正则表达式等东西。
如果你是Perl的新手(就像我一样),你需要确保安装了Perl和CPAN,然后运行sudo cpan,然后在提示符install "CAM::PDF";中,这将安装所需的模块。
此外,我意识到我应该使用stdout等,但我很匆忙:-)
还有,任何想法CAM-PDF输出的格式是什么?有什么文件吗?