우리는 채울 수있는 필드를 포함하고 Adobe Reader에서 열고 최종 사용자가 작성할 수있는 PDF 양식의 라이브러리를 보유하고 있습니다. PDF를 생성하는 것이 아니라 기존 PDF를 사용하는 것입니다. 이러한 양식은 모두 비밀번호로 채울 수없는 필드를 Acrobat에서 편집하지 못하도록 보호되어 있습니다.미리 채우기 잠금 후
코드에서 PDF를 열 때 일부 필드를 미리 채우면 암호 보호 기능이 손실되고 제공되는 양식은 Acrobat에서 편집 할 수 있습니다.
그래서 :
- 은 PDF 및 결과 출력 스트림을 해제하지 않고 iTextSharp를 사용하여 작성 가능한 필드를 미리 기입 할 수있는 방법이 있습니까?
- 을 암호가 필요없이 최종 사용자 을 리더에서 열고 채울 수있는 입력란을 채우고 인쇄하는 등의 방법으로 양식을 다시 잠글 수 있습니까?
다음은 현재 사용중인 코드의 간단한 예입니다. 출력 스트림 (현재 사용할 수없는 코드)을 잠그려고 시도했지만 파일에서 Reader가 사용자에게 암호를 묻는 메시지를 표시 할 수 없습니다.
System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
Byte[] password = encoding.GetBytes("secretPassword");
PdfReader reader = null;
MemoryStream outputStream = null;
PdfStamper stamper = null;
pdfStream.Seek(0, SeekOrigin.Begin);
reader = new PdfReader(pdfStream, password);
outputStream = new MemoryStream();
stamper = new PdfStamper(reader, outputStream);
AcroFields fields = stamper.AcroFields;
fields.SetField("prefillField1", "Some text");
stamper.Close();
outputStream.Close();
reader.Close();
// outputStream sent to user/browser. PDF opens in Reader, but the form can be opened in
// Acrobat without a password and edited.
정확히 내가 조나단을 찾고 있습니다. 고맙습니다. –