PDF 양식 작성 Java

이 현대에는 양식을 사용하여 많은 데이터가 수집되며 채울 수 있는 PDF 양식은 이러한 맥락에서 언급할 가치가 있습니다. 정보를 수집하고 정리하는 효율적인 방법입니다. 또한, 채울 수 있는 PDF 양식은 현재 여러 기관에서 표준으로 사용되고 있습니다. 예를 들어, 일부 법원이나 조달 회사는 채울 수 있는 PDF 양식을 효율적으로 사용하여 절차를 표준화할 수 있습니다. 이러한 어플리케이션을 생성하기 위해서는 Aspose.PDF for Java API가 가장 적합한 API입니다. 이유가 궁금하세요? 프로그래밍 방식으로 PDF 양식을 사용하는 다음 사용 사례를 살펴보겠습니다.

설치

New Releases 섹션으로 이동하여 Java 애플리케이션을 강화하고 PDF 문서를 처리할 수 있도록 API를 구성하거나 Maven 애플리케이션에서 다음과 같이 종속성을 정의할 수 있습니다.

저장소:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository

의존:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>20.7</version>
</dependency>

API를 성공적으로 구성한 후 다음 사용 사례로 이동하겠습니다.

Java를 사용하여 채울 수 있는 PDF 양식 만들기

아래 단계에 따라 Java 응용 프로그램에서 채울 수 있는 PDF 양식을 만들 수 있습니다.

  1. 빈 페이지가 있는 PDF 파일 만들기
  2. 페이지에 TextBox 필드와 RadioButton 필드 추가
  3. 출력 PDF 파일 저장

아래 코드 조각은 Java를 사용하여 채울 수 있는 PDF 양식을 처음부터 만드는 방법을 보여줍니다.

com.aspose.pdf.Document pdfdoc = new com.aspose.pdf.Document();
com.aspose.pdf.Page page = pdfdoc.getPages().add();
TextBoxField nameBox = new TextBoxField(pdfdoc, new com.aspose.pdf.Rectangle(275, 740, 440, 770));
nameBox.setPartialName("nameBox1");
nameBox.getDefaultAppearance().setFontSize(10);
nameBox.setMultiline(true);
com.aspose.pdf.Border nameBorder = new com.aspose.pdf.Border(nameBox);
nameBorder.setWidth(1);
nameBox.setBorder(nameBorder);
nameBox.getCharacteristics().setBorder(java.awt.Color.BLACK);
nameBox.setColor(com.aspose.pdf.Color.fromRgb(Color.RED));
TextBoxField mrnBox = new TextBoxField(pdfdoc, new com.aspose.pdf.Rectangle(275, 718, 440, 738));
mrnBox.setPartialName("Box1");
mrnBox.getDefaultAppearance().setFontSize(10);
com.aspose.pdf.Border mrnBorder = new com.aspose.pdf.Border(mrnBox);
mrnBorder.setWidth(1);
mrnBox.setBorder(mrnBorder);
mrnBox.getCharacteristics().setBorder(java.awt.Color.BLACK);
mrnBox.setColor(com.aspose.pdf.Color.fromRgb(Color.RED));
// PDF 문서의 첫 페이지에 양식 필드 추가            
pdfdoc.getForm().add(nameBox, 1);
pdfdoc.getForm().add(mrnBox, 1);

//PDF의 특정 위치 좌표에 라디오 버튼 추가
com.aspose.pdf.Table table = new com.aspose.pdf.Table();
//여기에서 위치 설정
table.setLeft(200);
table.setTop(300);
table.setColumnWidths("120");
page.getParagraphs().add(table);
com.aspose.pdf.Row r1 = table.getRows().add();
com.aspose.pdf.Row r2 = table.getRows().add();
com.aspose.pdf.Cell c1 = r1.getCells().add();
com.aspose.pdf.Cell c2 = r2.getCells().add();
com.aspose.pdf.RadioButtonField rf = new com.aspose.pdf.RadioButtonField(page);
rf.setPartialName("radio");
pdfdoc.getForm().add(rf, 1);
com.aspose.pdf.RadioButtonOptionField opt1 = new com.aspose.pdf.RadioButtonOptionField();
com.aspose.pdf.RadioButtonOptionField opt2 = new com.aspose.pdf.RadioButtonOptionField();
opt1.setOptionName("Yes");
opt2.setOptionName("No");
opt1.setWidth(15);
opt1.setHeight(15);
opt2.setWidth(15);
opt2.setHeight(15);
rf.add(opt1);
rf.add(opt2);
opt1.setBorder(new com.aspose.pdf.Border(opt1));
opt1.getBorder().setWidth(1);
opt1.getBorder().setStyle(com.aspose.pdf.BorderStyle.Solid);
opt1.getCharacteristics().setBorder(java.awt.Color.BLACK);
opt1.getDefaultAppearance().setTextColor(java.awt.Color.RED);
opt1.setCaption(new com.aspose.pdf.TextFragment("Yes"));
opt2.setBorder(new com.aspose.pdf.Border(opt1));
opt2.getBorder().setWidth(1);
opt2.getBorder().setStyle(com.aspose.pdf.BorderStyle.Solid);
opt2.getCharacteristics().setBorder(java.awt.Color.BLACK);
opt2.getDefaultAppearance().setTextColor(java.awt.Color.RED);
opt2.setCaption(new com.aspose.pdf.TextFragment("No"));
c1.getParagraphs().add(opt1);
c2.getParagraphs().add(opt2);
pdfdoc.save(dataDir + "Fillable_PDF_Form.pdf");

Java를 사용하여 기존 PDF의 양식 필드 채우기, 수정 또는 삭제

우리는 채울 수 있는 새로운 PDF 파일을 처음부터 만드는 방법을 배웠습니다. 기존 PDF 문서가 처리되는 시나리오로 진행해 보겠습니다.

i) Java를 사용하여 기존 PDF 파일의 양식 필드 채우기

위의 예에서 PDF 양식을 만든 것처럼 동일한 문서로 진행하고 Java를 사용하여 프로그래밍 방식으로 양식 필드를 채우겠습니다. 아래 단계에 따라 생성된 양식을 채울 수 있습니다.

  1. 입력 파일 로드
  2. TextBox 필드에 값 채우기
  3. 옵션을 선택하여 RadioButton 필드 채우기
  4. PDF 양식 저장

아래 코드 스니펫은 Java를 사용하여 채울 수 있는 양식을 채우는 방법을 보여줍니다.

// 문서 열기
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fillable_PDF_Form.pdf");

// 필드 가져오기
TextBoxField textBoxField1 = (TextBoxField) pdfDocument.getForm().get("nameBox1");
TextBoxField textBoxField2 = (TextBoxField) pdfDocument.getForm().get("Box1");
// 양식 필드 값 채우기
textBoxField1.setValue("A quick brown fox jumped over a lazy dog.");
textBoxField2.setValue("A quick brown fox jumped over a lazy dog.");

// 라디오 버튼 필드 가져오기
RadioButtonField radioField = (RadioButtonField) pdfDocument.getForm().get("radio");
// 그룹에서 라디오 버튼의 인덱스 지정
radioField.setSelected(1);

dataDir = dataDir + "Fill_PDF_Form_Field.pdf";
// 업데이트된 문서 저장
pdfDocument.save(dataDir);

ii) Java를 사용하여 PDF 문서의 양식 필드 수정

때때로 PDF 양식의 필드 값을 편집하거나 업데이트해야 합니다. 다음 단계에 따라 채울 수 있는 PDF 양식을 쉽게 편집할 수 있습니다.

  1. 입력 PDF 초기화
  2. 이름으로 양식 필드에 대한 참조 가져오기
  3. PDF 양식 편집
  4. 편집된 PDF 양식 저장

아래 코드 조각은 Java를 사용하여 채울 수 있는 PDF 파일을 업데이트하거나 편집하는 방법을 보여줍니다.

// 문서 열기
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fill_PDF_Form_Field.pdf");
// 필드 가져오기
TextBoxField textBoxField = (TextBoxField) pdfDocument.getForm().get("nameBox1");
// 필드 값 수정
textBoxField.setValue("Changed Value");
textBoxField.setReadOnly(true);
dataDir = dataDir + "ModifyFormField.pdf";
// 업데이트된 문서 저장
pdfDocument.save(dataDir);

iii) Java를 사용하여 기존 PDF 파일의 양식 필드 삭제

Java 애플리케이션에서 양식 필드를 쉽게 제거하거나 삭제할 수 있습니다. 다음 단계를 수행할 수 있습니다.

  1. PDF 양식 초기화
  2. 이름을 사용하여 양식 필드 삭제
  3. 업데이트된 PDF 양식 저장

아래 코드 스니펫은 Java를 사용하여 PDF 양식에서 양식 필드를 삭제하는 방법을 보여줍니다.

// 문서 열기
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fill_PDF_Form_Field.pdf");
// 이름으로 특정 필드 삭제
pdfDocument.getForm().delete("nameBox1");
dataDir = dataDir + "Delete_Form_Field.pdf";
// 수정된 문서 저장
pdfDocument.save(dataDir);

Java를 사용하여 PDF 양식의 확장된 권한 유지

일부 PDF 양식에는 확장된 권한이 있음을 알 수 있습니다. 원본 콘텐츠의 수정을 피하기 위해 사용되며 양식 작성만 허용됩니다. PDF 파일의 확장된 권한은 다음과 같은 경우 영향을 받을 수 있습니다.

이러한 양식을 채우고 디스크의 다른 위치에 저장합니다. 따라서 아래 단계에 따라 이러한 파일을 점진적으로 저장해야 합니다.

  1. PDF 양식 초기화
  2. 필드 채우기
  3. 채워진 PDF 문서 저장

아래 코드 조각은 Java를 사용하여 PDF 양식을 채우는 동안 확장된 권한을 유지하는 방법을 보여줍니다.

// 문서 인스턴스 인스턴스화
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fill_PDF_Form_Field.pdf");
// 모든 필드에서 값 가져오기
for (com.aspose.pdf.Field formField : pdfDocument.getForm().getFields())
{
    // 필드의 전체 이름에 nameBox1이 포함된 경우 작업을 수행합니다.
    if (formField.getFullName().contains("nameBox1"))
    {
        // 양식 필드를 TextBox로 캐스트
        TextBoxField textBoxField = (TextBoxField) formField;
        // 필드 값 수정
        textBoxField.setValue("Preserve Extended Features");
    }
}
// 업데이트된 문서 저장
pdfDocument.save();

Java를 사용하여 PDF 형식의 JavaScript 사용

Java용 Aspose.PDF와 함께 Javascript를 사용하여 채울 수 있는 PDF 양식 필드를 채울 수 있습니다. 다음 단계를 따라야 합니다.

  1. PDF 문서 로드
  2. 특정 페이지 위치에 필드 추가
  3. 문서에 대한 JavaScript 및 열기 동작 설정 PDF 파일 저장

다음 코드 조각은 채울 수 있는 PDF 양식에서 JavaScript를 사용하는 방법을 보여줍니다.

com.aspose.pdf.Document pdfdoc = new com.aspose.pdf.Document();
pdfdoc.getPages().add();
TextBoxField textBoxField = new TextBoxField(pdfdoc.getPages().get_Item(1), new com.aspose.pdf.Rectangle(85, 750, 215, 770));
textBoxField.setPartialName("textbox1");
textBoxField.setValue("Text Box");
//TextBoxField.Border = 새로운 테두리();
com.aspose.pdf.Border border = new com.aspose.pdf.Border(textBoxField);
border.setWidth(2);
border.setDash(new com.aspose.pdf.Dash(1, 1));
textBoxField.setBorder(border);
textBoxField.getDefaultAppearance().setFontSize(10);
textBoxField.setColor(com.aspose.pdf.Color.fromRgb(java.awt.Color.GREEN));
// 문서에 필드 추가
pdfdoc.getForm().add(textBoxField, 1);
String JS = "var w = this.getField('" + textBoxField.getPartialName() + "'); var today = new Date(); w.value = today.toLocaleString();";
pdfdoc.setOpenAction(new com.aspose.pdf.JavascriptAction(JS));
pdfdoc.save(dataDir + "JS_Form.pdf");

결론

채울 수 있는 PDF 양식을 만드는 방법과 Java 환경을 사용하여 양식 필드를 채우거나 편집하는 방법을 배웠습니다. 또한 PDF 문서 작업에서 JavaScript를 사용하는 것 외에도 PDF 문서에서 확장된 권한을 유지하는 방법도 살펴보았습니다. 우려 사항이나 문제가 있는 경우 무료 지원 포럼으로 문의해 주십시오.

또한보십시오