我的.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不可编辑。
答案 0 :(得分:0)
对于遇到此问题的其他人,我可以使用CAM :: PDF将PDF设为只读:
$file->sefPrefs(undef, undef, 1, 0, 0, 0);
我相信如果'copy'pref设置为true,用户仍然可以编辑字段,因为他们仍然可以选择“保存副本”但不能覆盖原始字段。
在我的情况下,我还必须执行以下操作以使表单字段正确填写:
$file->getFormFieldList; # I think this forces the fields to be cached but it wouldn't work without
...
$file->clean;
答案 1 :(得分:-1)
如果您只想阅读,请尝试此操作。
chmod 0555, "example.pdf";