[java] PDF 파일에 필드 추가하기(Java Apache PDFBox 사용)

PDF 파일에 필드를 추가하는 작업은 Java Apache PDFBox 라이브러리를 사용하여 쉽게 수행할 수 있습니다. PDFBox는 Java로 작성된 오픈 소스 라이브러리로, PDF 문서의 생성, 수정 및 조작을 지원합니다.

필수 요구사항

PDF 파일 생성 및 필드 추가

다음은 Java Apache PDFBox를 사용하여 PDF 파일에 필드를 추가하는 예제입니다.

import java.io.File;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm;
import org.apache.pdfbox.pdmodel.interactive.form.PDTextField;

public class AddFormFieldExample {
    public static void main(String[] args) {
        try {
            // 새로운 PDF 문서 생성
            PDDocument document = new PDDocument();
            
            // 새로운 페이지 생성
            PDPage page = new PDPage();
            document.addPage(page);
            
            // AcroForm 객체 가져오기 (폼 필드를 생성하고 추가하기 위해 필요)
            PDAcroForm acroForm = document.getDocumentCatalog().getAcroForm();
            
            // 텍스트 필드 생성
            PDTextField textField = new PDTextField(acroForm);
            textField.setPartialName("name");
            
            // 텍스트 필드를 페이지에 추가
            page.getAnnotations().add(textField.getWidget());
            
            // AcroForm에 필드 추가
            acroForm.getFields().add(textField);
            
            // PDF 파일 저장
            document.save("form.pdf");
            document.close();
            
            System.out.println("PDF 파일에 필드 추가 완료!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 코드 예제는 새로운 PDF 문서를 생성하고, 페이지와 필드를 추가하여 PDF 파일에 필드를 생성하는 방법을 보여줍니다. 필드는 PDTextField 객체를 사용하여 생성하고 페이지에 추가한 후, AcroForm 객체를 사용하여 필드를 PDF 파일에 추가합니다.

실행 결과

위의 예제를 실행하면, “form.pdf”라는 이름의 PDF 파일이 생성되고, 그 안에 “name”이라는 이름을 가진 텍스트 필드가 추가됩니다.

결론

Java Apache PDFBox를 사용하여 PDF 파일에 필드를 추가하는 방법에 대해 알아보았습니다. PDF 문서를 생성하고 수정하는 작업을 수행할 때, PDFBox는 매우 유용한 도구입니다. 추가적인 기능에 대해서는 공식 문서를 참조하시기 바랍니다.

참고 자료