2012-05-25 4 views
0

У меня есть .pdf, который содержит много форм, которые я не хочу, чтобы пользователь мог редактировать.Сделать pdf readonly in perl

Пробовали CAM::PDF, но я не могу загрузить файл PDF в это. Я только получить страницу с флажками, но не текст

Это как PDF должен выглядеть следующим образом:

-

Это как файл выглядит как из CAM::PDF

-

Кто-нибудь знает, что я делаю неправильно? Если я удалю строку setPrefs, я получу строчный pdf-файл без настроек, которые я хочу.

Пример кода:

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

EDIT: использованный Pdftk, это была возможность сплющить PDF и сделал мой PDF не редактируются.

ответ

-1

Если вы хотите, прочитайте только попробовать.

chmod 0555, "example.pdf"; 
+0

Я попытался это. Я все еще могу внести изменения в pdf и распечатать его с неправильной информацией =/Это только помогает мне сделать пользователя и перезаписать – Onionhill

+0

Когда вы говорите «я не хочу, чтобы пользователь мог редактировать», вы имеете в виду, что вы не хотите их чтобы иметь возможность вводить что-либо в формы, или они могут редактировать ярлыки формы? – iCanHasFay

+0

Я имею в виду, что мой скрипт perl заполняет форму информацией. Эта информация не должна редактироваться. – Onionhill

0

Для тех, кто еще с этой проблемой, я был в состоянии использовать CAM :: PDF, чтобы сделать PDF только для чтения:

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

Я считаю, что если прив «копия» установлена ​​истина , пользователь все равно может редактировать поля, потому что у них по-прежнему есть опция «сохранить копию», но не для перезаписывания оригинала.

В моем случае я должен был сделать следующее, чтобы получить поля формы, чтобы правильно заполнить:

$file->getFormFieldList; # I think this forces the fields to be cached but it wouldn't work without 
... 
$file->clean; 
Смежные вопросы