[java] Apache PDFBox의 사용법

Apache PDFBox는 Java로 작성된 오픈 소스 라이브러리로, PDF 파일을 생성, 수정 및 읽기 위한 다양한 기능을 제공합니다. 이 라이브러리를 사용하여 Java 프로그램에서 PDF 파일을 다루는 방법에 대해 알아보겠습니다.

Apache PDFBox 라이브러리 설치

Apache PDFBox 라이브러리를 사용하려면 먼저 해당 라이브러리를 다운로드하고 프로젝트에 추가해야 합니다. Maven을 사용하는 경우, pom.xml 파일에 다음 종속성을 추가합니다.

<dependency>
    <groupId>org.apache.pdfbox</groupId>
    <artifactId>pdfbox</artifactId>
    <version>{version}</version>
</dependency>

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

implementation 'org.apache.pdfbox:pdfbox:{version}'

PDF 파일 생성하기

Apache PDFBox를 사용하면 새로운 PDF 파일을 생성할 수 있습니다. 아래의 예제는 빈 페이지로 채워진 PDF를 생성하는 방법을 보여줍니다.

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;

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

public class PDFCreator {
    public static void main(String[] args) {
        try (PDDocument document = new PDDocument()) {
            PDPage blankPage = new PDPage();
            document.addPage(blankPage);
            document.save(new File("blank.pdf"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

기존 PDF 파일 편집하기

기존의 PDF 파일을 열고 수정하는 방법도 간단합니다. 아래의 예제는 기존 PDF 파일을 열고 텍스트를 추가하는 방법을 보여줍니다.

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.font.PDType1Font;

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

public class PDFEditor {
    public static void main(String[] args) {
        try (PDDocument document = PDDocument.load(new File("existing.pdf"))) {
            PDPage page = document.getPage(0);
            PDPageContentStream contentStream = new PDPageContentStream(document, page, PDPageContentStream.AppendMode.APPEND, true);
            contentStream.beginText();
            contentStream.setFont(PDType1Font.HELVETICA, 12);
            contentStream.newLineAtOffset(100, 700);
            contentStream.showText("Inserted Text");
            contentStream.endText();
            contentStream.close();
            document.save(new File("edited.pdf"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

결론

Apache PDFBox를 사용하면 Java 프로그램에서 PDF 파일을 생성, 수정 및 읽기가 가능합니다. 이를 통해 간단하게 자동화된 PDF 처리 프로세스를 구현할 수 있습니다.

더 자세한 내용은 Apache PDFBox 공식 웹사이트에서 확인할 수 있습니다.