0

我有一个 .pdf,其中包含很多我不希望用户能够编辑的表单。

已经尝试过CAM::PDF,但我无法将我的 pdf 文件加载到此文件中。我只得到一个带有复选框但没有文本的页面

这就是 pdf 的样子:

-

这是文件的样子CAM::PDF

-

有谁知道我做错了什么?如果我删除 setPrefs 行,我会得到没有我想要的设置的 rigth pdf。

代码示例:

my $file = CAM::PDF->new($pdf_file_path);
$file->sefPrefs('', '', 1, 0, 1, 0);
$file->output('C:\temp\campdf.pdf');
$file->save();

编辑:使用 pdftk,这有一个选项可以展平 pdf 并使我的 pdf 不可编辑。

4

2 回答 2

1

对于其他有此问题的人,我可以使用 CAM::PDF 将 PDF 设为只读:

$file->sefPrefs(undef, undef, 1, 0, 0, 0);

我相信如果“复制”首选项设置为 true,用户仍然可以编辑字段,因为他们仍然可以选择“保存副本”但不能覆盖原件。

就我而言,我还必须执行以下操作才能正确填写表单字段:

$file->getFormFieldList;   # I think this forces the fields to be cached but it wouldn't work without
...
$file->clean;
于 2013-03-06T19:20:39.243 回答
-1

如果你想只读试试这个。

chmod 0555, "example.pdf";
于 2012-05-25T13:18:25.203 回答