2016-08-11 2 views
0

버튼 필드가있는 PDF 템플릿 파일이 있습니다. 예를 들어, "Button1"에있는 버튼 필드의 이름. iText (v5.5)를 사용하여이 자바 응용 프로그램에서이 단추를 숨길 수 있습니까?PDF의 필드에 표시 속성 설정

+0

어떤 버전을 사용하고 있습니까? 대답은 iText 7을 사용한다고 가정합니다. 첫 번째 문장을 수정하십시오. * 버튼 필드가있는 정적 PDF *가 있다고 가정하면 모순입니다. * 정적 PDF *는 양식이없는 PDF입니다. * 버튼 필드 *는 PDF에 양식이 포함되어 있음을 의미하므로 정적이 아닙니다. 처음부터 (''PdfWriter'')를 만들거나 기존의 PDF (''PdfReader'')에 대해서 말하고 있다면 언급하지 마십시오. 코드를 표시하지 않는 한 추측 할 수 없습니다. –

+0

미안하지만 분명히해야했습니다. 질문을 업데이트했습니다. 5.5 버전에서 우리가 어떻게이 일을 할 수 있을지 어떨까요? –

답변

0

HideButton 예에서 봐 주시기 바랍니다. 이름 "Text"

enter image description here

필드는 하나의 위젯 주석에 해당이 예제에서, 우리는 "Test"라는 버튼 (스크린 샷의 회색 영역)가 hello_button.java라는 이름의 PDF를 취할. 우리는이 같은이 주석의 플래그를 변경할 수 있습니다

PdfReader reader = new PdfReader(src); 
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest)); 
AcroFields form = stamper.getAcroFields(); 
form.setFieldProperty("Test", "setflags", PdfAnnotation.FLAGS_HIDDEN, null); 
stamper.close(); 

이 작업의 결과는 hello_button_hidden.pdf라는 이름의 파일이

:

enter image description here

이는 iText를 5 답변입니다; 다른 대답은 iText 7 답변이었다.

+0

우수한 답변 주셔서 감사합니다. –

1

PDFFormField.setVisibility(int visibility)PDFAcroForm.getField(String fieldName)

귀하의 코드는 다음과 같을 것입니다 참조 :

pdfAcroform.getField("Button1").setVisibility(PDFFormField.HIDDEN); 
+0

iText 7 답변입니다. OP는 그가 iText 7 (이 경우 귀하의 답변이 도움이 될 것입니다) 또는 iText 5 (이 경우 다른 답변이 필요함)를 사용하고 있는지 언급하지 않습니다. 또한 정적 PDF *가 의미하는 것이 명확하지 않습니다. 일반적으로 정적 PDF는 양식 필드를 포함하지 않는다는 것을 의미합니다. 그러나 이것은 버튼 필드가 있다는 진술과 모순됩니다. 당신은 나쁜 질문에 대한 좋은 대답을하려고 노력하고 있습니다 ;-) –

+0

감사합니다 Amber, Bruno가 언급했듯이 이것은 Itext v5.5에서는 가능하지 않습니다 ... –

+0

iText 5.5에서는 가능하지만 코드가 다릅니다. –