2012-05-25 42 views
0

我有一個.pdf包含很多表單,我不希望用戶能夠編輯。使pdf只讀perl

已嘗試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格式不可編輯。

回答

-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); 

我相信,如果「複製」 PREF設置爲true ,用戶仍然可以編輯這些字段,因爲他們仍然可以選擇「保存副本」,但不能覆蓋原件。

在我來說,我也不得不做到以下幾點,以獲得表單字段正確填寫:

$file->getFormFieldList; # I think this forces the fields to be cached but it wouldn't work without 
... 
$file->clean;