【问题标题】:How do I use CAM::PDF to extract all pages?如何使用 CAM::PDF 提取所有页面?
【发布时间】:2015-02-18 22:59:08
【问题描述】:
#!/perl/bin/perl -w
use CAM::PDF;
use CAM::PDF::PageText;

$filename = "test.pdf";

my $pdf = CAM::PDF->new($filename);
my $pageone_tree = $pdf->getPageContentTree(2);
$text = CAM::PDF::PageText->render($pageone_tree);
#$text =~ s/regex/modify/gi;
print $text;

使用上面的代码,我可以将 pdf 数据提取到文本文件中,但我只能得到一页。我想在我的 pdf 中获取每一页。

我知道它在包含

的行中
my $pageone_tree = $pdf->getPageContentTree(2);

我不确定如何更改它。我什至尝试过(1..200),它只给了我第一页。有人熟悉使用 CAM::PDF 吗?

【问题讨论】:

  • getPageText($pagenum) 的使用方法不正确吗?而且,顺便说一句,在此处发布代码示例之前添加严格和警告是不正确的使用它们,它对你没有帮助。您的示例代码没有运行。

标签: perl pdftotext pdf-parsing


【解决方案1】:

这可以满足我的需要。

use CAM::PDF;
use CAM::PDF::PageText;
$filename = "test.pdf";

my $pdf = CAM::PDF->new($filename);
for my $page (1..$pdf->numPages) {
my $pageone_tree = $pdf->getPageContentTree($page);
$text = CAM::PDF::PageText->render($pageone_tree);
print $text;

}

numPages 函数从 pdf 中获取页数。

【讨论】:

  • 是的,这是正确的解决方案。 (我是CAM::PDF的作者)
  • 我收到Can't locate object method "render" via package "CAM::PDF::PageText" at
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多