2014-09-11 2 views
-1

나는 사용자가 이름과 주소 같은 정보를 입력하는 pdf 양식을 가지고 있습니다. iText를 사용하여 사용자 입력으로 새 PDF 파일을 저장할 수 있습니까? 어떻게하면 stamper.getAcroFields(). setField ("name", nameTextBox.text);와 같이 입력 한 사용자의 텍스트 값을 가져올 수 있습니까? 많은 샘플 코드는 하드 코딩 된 값을 사용하지만 사용자가 텍스트 상자에 입력 한 것을 사용하고 싶습니다.사용자 입력 저장 PDF 템플릿 iText로

PdfReader reader = new PdfReader("C:/temp/Template.pdf"); 
FileOutputStream fileOutputStream = new FileOutputStream("C:/temp/TemplateTest.pdf"); 
PdfStamper stamper = new PdfStamper(reader, fileOutputStream); 

//Can I do something like this? 

stamper.getAcroFields().setField("name", nameTextBox.text); 
stamper.getAcroFields().setField("address", addressTextBox.text); 
stamper.getAcroFields().setField("city", cityTextBox.text); 
stamper.getAcroFields().setField("zip", zipTextBox.text); 

답변

1

사용자가 정보를 입력하는 곳에 PDF가 있습니다.

질문 1 : 사용자가 양식 데이터를 어떻게 제출할 수 있습니까?

[가.] 사용자 수 없습니다 안전한 PDF 로컬 문서 리더 사용 사용자가 어도비 아크로뱃 (안 리더)의 버전이있는 경우 또는이다하지 않는 . Reader를 사용 가능하게하는 것은 Adobe 소프트웨어에서만 가능합니다. Editable PDF using itext (5.3.0) in java. Not able to save data in Adobe Reader X

[b.] 사용자는 필드를 서버에 제출할 수 있습니다. 이 작업은 쿼리 문자열, FDF 파일 또는 XFDF 파일 형식으로 수행 할 수 있습니다. 양식에 Reader가 사용 가능하거나 사용자에게 Acrobat이있는 경우 완전한 채워진 PDF를 서버에 제출할 수도 있습니다.

질문 2 : 양식 데이터를 PDF로 어떻게 저장할 수 있습니까?

사용자가 전체 PDF를 제출하면 양식 데이터를 PDF에 저장할 필요가 없습니다. 그것은 이미있다. 당신은 쿼리 문자열 등의 정보를 얻을 경우,

String name = reader.getAcroFields().getField("name"); 

단지 키/값 쌍을 검토하고 귀하의 질문에 당신이 이미 가지고있는 코드를 사용 :이 같은 정보를 검색 할 수 있습니다. 정보가 FDF 파일에 저장되어 있으면 FdfReader이 필요합니다. 정보가 XFDF 파일에 저장되는 경우 XfdfReader이 필요합니다.

질문 3 : 사용자가 텍스트 상자에 입력 한 내용을 어떻게 사용합니까?

이 질문은 명확하지 않습니다. 너 무슨 소리 야? 텍스트 상자는 PDF에서 텍스트 상자 인 경우

참조 [가.] 질문 1.

에서 텍스트 상자는 웹 페이지의 텍스트 상자 인 경우, [B을.] 참조 질문 1에서 . 텍스트 상자가 일부 독립 실행 형 응용 프로그램에서 텍스트 상자가

경우, 대답은

모두 모두 2. 귀하의 질문은 매우 가난한 품질의 의문을 참조하십시오. '많은 샘플이 하드 코딩 된 값을 사용합니다'라고 말하면 공식 문서를 읽지 않았 음이 분명합니다.

관련 문제