[java] Apache PDFBox로 PDF 파일 병합하기

PDFBox

PDF 파일 병합은 여러 개의 PDF 파일을 하나로 합치는 작업을 말합니다. Java 개발자라면 Apache PDFBox 라이브러리를 사용하여 이 작업을 손쉽게 수행할 수 있습니다. 이번 글에서는 Apache PDFBox를 사용하여 PDF 파일을 병합하는 방법을 알아보겠습니다.

1. Apache PDFBox 라이브러리 추가

먼저 Apache PDFBox를 프로젝트에 추가해야 합니다. 이를 위해 Maven을 사용한다면 pom.xml 파일에 다음 의존성을 추가합니다.

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

Maven을 사용하지 않는다면 Apache PDFBox의 다운로드 페이지에서 최신 버전을 다운로드하여 프로젝트에 추가해주세요.

2. PDF 파일 병합하기

Apache PDFBox를 사용하여 PDF 파일을 병합하는 코드는 다음과 같습니다.

import java.io.File;
import java.io.IOException;
import java.util.List;
import org.apache.pdfbox.multipdf.PDFMergerUtility;

public class PDFMerger {
    public static void main(String[] args) {
        List<String> filesToMerge = List.of("file1.pdf", "file2.pdf", "file3.pdf");
        String mergedFilePath = "merged.pdf";

        PDFMergerUtility merger = new PDFMergerUtility();
        merger.setDestinationFileName(mergedFilePath);

        for (String file : filesToMerge) {
            merger.addSource(new File(file));
        }

        try {
            merger.mergeDocuments(null);
            System.out.println("PDF 파일 병합이 완료되었습니다.");
        } catch (IOException e) {
            System.err.println("PDF 파일 병합 중 오류가 발생했습니다: " + e.getMessage());
        }
    }
}

위 코드에서는 filesToMerge 리스트에 병합할 PDF 파일의 경로를 지정하고, mergedFilePath에 병합된 파일의 저장 경로를 지정합니다. PDFMergerUtility 클래스를 사용하여 파일을 병합하고, mergeDocuments(null) 메서드를 호출하여 실제로 파일을 병합합니다.

3. 실행 결과

코드를 실행하면 merged.pdf 파일이 생성되고, 지정한 파일들이 병합된 결과를 확인할 수 있습니다.

결론

Apache PDFBox를 사용하여 Java에서 PDF 파일을 병합하는 방법을 알아보았습니다. PDF 파일 병합은 프로젝트에서 자주 사용되는 작업 중 하나이며, Apache PDFBox를 통해 손쉽게 처리할 수 있습니다.

더 자세한 내용은 Apache PDFBox 공식 문서를 참고하시기 바랍니다.