[java] Apache PDFBox로 PDF 파일 체크박스 추가하기

Apache PDFBox는 Java로 작성된 오픈소스 라이브러리로, PDF 파일을 생성하고 편집하는데 사용됩니다. 이번에는 Apache PDFBox를 사용하여 PDF 파일에 체크박스를 추가하는 방법에 대해 알아보겠습니다.

사전 준비

PDF 파일에 체크박스를 추가하기 위해서는 몇 가지 사전 준비 과정이 필요합니다. 먼저, Maven 또는 Gradle을 사용하여 Apache PDFBox를 프로젝트에 추가해야 합니다. 다음은 Maven을 사용하는 예시입니다.

<dependency>
    <groupId>org.apache.pdfbox</groupId>
    <artifactId>pdfbox</artifactId>
    <version>2.0.24</version>
</dependency>

그리고 체크박스 이미지 파일(.png 또는 .jpg)도 준비해야 합니다. 체크된 상태와 체크되지 않은 상태의 이미지 파일을 준비해야 합니다.

PDF에 체크박스 추가하기

Apache PDFBox를 사용하여 PDF 파일에 체크박스를 추가하는 방법을 살펴보겠습니다.

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
import org.apache.pdfbox.pdmodel.PDFormXObject;
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;

public class AddCheckboxToPdf {

    public static void main(String[] args) {
        // 체크박스 이미지 파일 경로
        String checkBoxImagePath = "checkbox.png";
        
        try {
            // 새로운 PDF 생성
            PDDocument document = new PDDocument();
            PDPage page = new PDPage(PDRectangle.A4);
            document.addPage(page);
            
            // 이미지 파일 로드
            PDImageXObject checkBoxImage = PDImageXObject.createFromFile(checkBoxImagePath, document);
            
            // 체크박스 추가
            PDPageContentStream contentStream = new PDPageContentStream(document, page);
            contentStream.drawImage(checkBoxImage, x, y, width, height);
            contentStream.close();
            
            // PDF 파일 저장
            document.save("output.pdf");
            document.close();
            
            System.out.println("PDF 파일에 체크박스가 추가되었습니다.");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

위의 코드에서 checkBoxImagePath 변수에 체크박스 이미지 파일의 경로를 설정하고, x, y, width, height 변수에 체크박스가 표시될 위치와 크기를 설정합니다.

추가한 체크박스가 포함된 PDF 파일은 “output.pdf”로 저장됩니다.

결론

Apache PDFBox를 사용하여 PDF 파일에 체크박스를 추가하는 방법을 소개했습니다. 이를 통해 Java로 PDF 편집을 할 때 체크박스를 쉽게 추가할 수 있게 되었습니다.

참고 자료