[java] Apache PDFBox를 이용한 이미지 삽입

Apache PDFBox는 Java로 PDF를 생성하고 수정하는 데 사용되는 라이브러리입니다. 이미지 삽입 기능은 PDF 파일에 이미지를 추가하는 데 유용합니다. 이 포스트에서는 Apache PDFBox를 사용하여 이미지를 PDF에 삽입하는 방법에 대해 다뤄보겠습니다.

1. Apache PDFBox 라이브러리 추가

먼저, Apache PDFBox를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우, pom.xml에 다음 의존성을 추가합니다.

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

2. 이미지 삽입 코드 작성

이제 이미지를 삽입할 Java 코드를 작성해보겠습니다.

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.graphics.image.LosslessFactory;
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;

import java.io.File;
import java.io.IOException;

public class ImageInsertion {
    public static void main(String[] args) throws IOException {
        PDDocument document = new PDDocument();
        PDPage page = new PDPage(PDRectangle.A4);
        document.addPage(page);

        PDImageXObject pdImage = PDImageXObject.createFromFile("path/to/image.jpg", document);
        
        PDPageContentStream contentStream = new PDPageContentStream(document, page);

        contentStream.drawImage(pdImage, 100, 100); // 이미지 위치 및 크기 조절

        contentStream.close();
        document.save("output.pdf");
        document.close();
    }
}

위의 코드는 새 PDF를 생성하고 A4 크기의 페이지를 추가한 다음, 지정된 경로의 이미지를 로드하여 내용 스트림에 삽입하는 예시입니다.

3. 실행 및 결과 확인

코드를 실행하고 나면, output.pdf 파일에 이미지가 삽입된 결과를 확인할 수 있습니다.

이제 Apache PDFBox를 사용하여 Java 프로그램에서 이미지를 PDF에 삽입하는 방법에 대해 알아보았습니다.

참고 문헌: