[java] Apache PDFBox를 사용한 PDF 파일 복사 및 붙여넣기

PDF 문서를 효과적으로 처리하기 위해 많은 개발자들이 Apache PDFBox를 사용합니다. 이 라이브러리를 사용하면 Java를 통해 PDF 파일을 생성, 수정, 분석할 수 있습니다. 이번 블로그 포스트에서는 Apache PDFBox를 사용하여 PDF 파일을 복사하고 붙여넣기하는 방법을 알아보겠습니다.

1. Apache PDFBox 라이브러리 추가

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

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

Gradle을 사용하는 경우, build.gradle 파일에 다음 의존성을 추가합니다.

implementation 'org.apache.pdfbox:pdfbox:2.0.26'

의존성을 추가한 후 프로젝트를 빌드하면 Apache PDFBox를 사용할 수 있습니다.

2. PDF 파일 복사하기

PDF 파일을 복사하려면 원본 PDF 파일을 읽고, 새로운 PDF 파일로 출력해야 합니다. Apache PDFBox에서는 PDDocument 클래스를 사용하여 PDF 파일을 처리합니다.

import org.apache.pdfbox.pdmodel.PDDocument;

public class PdfCopyExample {
    public static void main(String[] args) {
        try {
            // 원본 PDF 파일 읽기
            PDDocument originalDocument = PDDocument.load(new File("original.pdf"));

            // 새로운 PDF 파일 생성
            PDDocument copiedDocument = new PDDocument();

            // 페이지 복사
            for (int i = 0; i < originalDocument.getNumberOfPages(); i++) {
                copiedDocument.addPage(originalDocument.getPage(i));
            }

            // 새로운 PDF 파일 저장
            copiedDocument.save("copied.pdf");

            // 자원 해제
            originalDocument.close();
            copiedDocument.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 코드에서 original.pdf는 복사할 원본 PDF 파일의 경로를 나타냅니다. copied.pdf는 생성된 새로운 PDF 파일의 경로를 나타냅니다. 이 코드를 실행하면 original.pdf 파일의 내용이 복사되어 copied.pdf 파일이 생성됩니다.

3. PDF 파일 붙여넣기

PDF 파일을 붙여넣기하려면 기존 PDF 파일과 병합할 PDF 파일을 읽고, 새로운 PDF 파일로 출력해야 합니다.

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.multipdf.PDFMergerUtility;

public class PdfPasteExample {
    public static void main(String[] args) {
        try {
            // 기존 PDF 파일 읽기
            PDDocument existingDocument = PDDocument.load(new File("existing.pdf"));

            // 병합할 PDF 파일 읽기
            PDDocument newDocument = PDDocument.load(new File("new.pdf"));

            // PDF 파일 병합
            PDFMergerUtility merger = new PDFMergerUtility();
            merger.appendDocument(existingDocument, newDocument);

            // 새로운 PDF 파일 저장
            existingDocument.save("merged.pdf");

            // 자원 해제
            existingDocument.close();
            newDocument.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 코드에서 existing.pdf는 기존 PDF 파일의 경로를 나타냅니다. new.pdf는 병합할 PDF 파일의 경로를 나타냅니다. 이 코드를 실행하면 existing.pdf 파일과 new.pdf 파일이 병합되어 merged.pdf 파일이 생성됩니다.

결론

Apache PDFBox를 사용하면 Java를 통해 PDF 파일을 손쉽게 복사하고 붙여넣을 수 있습니다. 이번 블로그 포스트에서는 PDF 파일 복사와 붙여넣기에 대한 예제 코드와 설명을 제공했습니다. PDFBox의 다양한 기능을 활용하여 PDF 파일을 더욱 효율적으로 처리해보세요.

참고 자료: