2012-05-25 3 views
0

나는 사용자가 편집 할 수있는 양식이 많이 들어있는 .pdf 파일을 가지고 있습니다.perl에서 pdf readonly 만들기

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

읽기 전용으로 보려면이 방법을 사용하십시오.

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

을 '복사'현가 true로 설정되어있는 경우 내가 믿는 :

chmod 0555, "example.pdf"; 
+0

나는이 시도했다 : 내 경우

는 또한 제대로 작성 양식 필드를 얻기 위해 다음을 수행했다. 나는 여전히 pdf를 변경하여 잘못된 정보로 인쇄 할 수 있습니다./이것은 사용자를 만들거나 덮어 쓰는 데 도움이됩니다. – Onionhill

+0

"사용자가 편집 할 수 있기를 원합니다"라고 말하면 사용자가 원하지 않는다는 것을 의미합니까? 양식에서 아무 것도 입력 할 수 없거나 양식 레이블을 편집 할 수 있습니까? – iCanHasFay

+0

내 말은 내 perl 스크립트가 정보로 양식을 채우고 있다는 것입니다. 이 정보는 편집 할 수 없습니다. – Onionhill

0

이 문제와 다른 사람을 위해, 나는 읽기 전용 PDF를 만들 CAM :: PDF를 사용 할 수 있었다 사용자는 여전히 "사본 저장"옵션을 가지고 있기 때문에 필드를 편집 할 수 있지만 원본을 겹쳐 쓸 수는 없습니다.

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