我注意到 CAM::PDF Perl 模块用于从 PDF 文件中读取文本。现在我已经安装了 CAM::PDF v1.59。我已经成功地使用它从不受密码保护的 (v1.2) PDF 文件中读取文本,但是当我尝试使用此代码打开 (v1.7) 受密码保护的 PDF 文件时...
use strict;
use warnings;
use PDF::API2;
use CAM::PDF;
use CAM::PDF::PageText;
my $file = 'C:\Users\gwilliams\Documents\PWS20130517new.pdf';
my $pdf = CAM::PDF->new($file, '-', '-', 's3cretpasswd', fault_tolerant => 1)
or die "$CAM::PDF::errstr\n";
my $pageone_tree = $pdf->getPageContentTree(1);
print CAM::PDF::PageText->render($pageone_tree);
...我收到错误消息:
Invalid xref stream: could not decode objstream 3085
PDF文件本身的属性是:
- 版本:1.7
- 安全方法:密码保护
- 打印:不允许
- 填写表格:不允许
- 评论:不允许
- 管理页面:不允许
- 修改文档:不允许
- 内容复制:不允许
- 提取内容:不允许
- 签名:不允许
对于它的价值 - 看起来有问题的 PDF 是使用 Adobe PDFMaker 10.1 for Excel 创建的。
是什么赋予了?我这样做对吗 - 还是 PDF 与 CAM::PDF 不兼容?
真诚,困惑