【发布时间】:2012-01-26 13:06:51
【问题描述】:
我正在尝试将 pdf 文件的文本内容读入 Perl 变量。从其他 SO 问题/答案中,我感觉到我需要使用 CAM::PDF。这是我的代码:
#!/usr/bin/perl -w
use CAM::PDF;
my $pdf = CAM::PDF->new('1950-01-01.pdf');
print $pdf->numPages(), " pages\n\n";
my $text = $pdf->getPageText(1);
print $text, "\n";
我尝试在this pdf file 上运行它。 Perl 没有报告错误。第一个打印语句有效;它打印“2 页”,这是本文档中正确的页数。
下一个打印语句不返回任何可读的内容。以下是 Emacs 中的输出:
2 pages
^A^B^C^D^E^C^F^D^G^H
^D^A^K^L^C^M^D^N^C^M^O^D^P^C^Q^Q^C ^D^R^K^M^O^D ^A^B^C^D^E
^F^G^G^H^E
^K^L
^M^N^E^O^P^E^O^Q^R^S^E
.... more lines with similar codes ....
我可以做些什么来完成这项工作吗?我不太了解pdf文件,但我认为因为我可以使用Acrobat轻松复制和粘贴PDF文件中的文本,所以它必须被识别为文本而不是图像,所以我希望这意味着我可以提取它使用 Perl。
任何指导将不胜感激。
【问题讨论】: