0

ユーザーが編集できるようにしたくないフォームがたくさん含まれている .pdf があります。

試してみ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();

編集: pdftk を使用しました。これには、pdf を平坦化するオプションがあり、pdf を編集できなくなりました。

4

2 に答える 2

1

この問題を抱えている他の人のために、私は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;
于 2013-03-06T19:20:39.243 に答える
-1

読み取り専用にしたい場合は、これを試してください。

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