我有一个pdf文件,我想将其转换为文本文件。
我在linux命令行上尝试了perl perl getpdftotext.exe fileName.pdf,但没有任何反应。
我试过CPAN CAM::PDF
但没有运气。
我收到错误
中字符串eq中未使用的值的使用 C:/Strawberry/perl/site/lib/CAM/PDF.pm line 2362
,输出文件为空。
我能够读取pdf文件中的页数。
my $num=$pdfone->numPages();
返回正确的页数。
我使用的是Adobe Reader X 10.1.4版。
我也试过一个渲染器,试图获得一个页面......第二个片段
我也得到错误未初始化的值。我尝试过不同的pdf文件。
我正在使用Strawberry perl。
enter code here
use CAM::PDF;
use CAM::PDF::PageText;
use PDF::API2;
my $pdfone = CAM::PDF->new('WFServlet.pdf');
my $outfile = "pdfWFServeltRESULT.txt";
my @lines;
open (OUTF, ">$outfile") || die "Can not open $outfile";
for my $page (1 .. $pdfone->numPages()) {
my $text = $pdfone->getPageText($page);
@lines = split (/\n/, $text);
}
:
: #snippet 2
use CAM::PDF;
use PDF::API2;
use CAM::PDF::PageText;
:
my $pageone_tree = $pdfone->getPageContentTree(1);
my $doc->getPageText(1);
if (defined $doc) {
print OUTF CAM::PDF::PageText->render($doc);
}
if (defined $pageone_tree) {
print OUTF CAM::PDF::PageText->render($pageone_tree);
}
答案 0 :(得分:2)
I'm the author of CAM::PDF and I heartily recommend using a different tool for this task. :-) I wrote the text extraction as a fun experiment and quickly discovered that it's a very hard problem to get right.
答案 1 :(得分:0)
您想使用Perl的原因是什么?您可以使用许多其他pdftotext工具,这将更好地完成这项工作。试试poppler-utils。可用的最佳pdf转换工具之一。
答案 2 :(得分:0)
Try Apache Tika.我刚开始使用它来为我正在开发的小型搜索引擎提取文本。到目前为止它一直很好。
perl代码就像这样...
my $text = `java -jar /some/path/tika-app-1.8.jar --text '/some/file'`