[java] PDF 파일 생성과 편집을 위한 Java Apache PDFBox 사용하기

Apache PDFBox는 자바로 작성된 오픈 소스 라이브러리로, PDF 파일의 생성, 편집, 추출 등 다양한 작업을 수행할 수 있습니다. 이 블로그는 Java Apache PDFBox를 사용하여 PDF 파일을 생성하고 편집하는 방법을 안내합니다.

목차

  1. PDFBox 라이브러리 추가하기
  2. PDF 파일 생성하기
  3. PDF 파일 편집하기

PDFBox 라이브러리 추가하기

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

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

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

dependencies {
    implementation 'org.apache.pdfbox:pdfbox:2.0.24'
}

의존성을 추가한 후에는 프로젝트를 다시 빌드하여 PDFBox 라이브러리를 사용할 수 있습니다.

PDF 파일 생성하기

PDF 파일을 생성하기 위해 먼저 PDDocument 객체를 생성해야 합니다. 이 객체는 새로운 PDF 문서를 나타냅니다. 다음은 빈 PDF 파일을 생성하는 예시 코드입니다:

import org.apache.pdfbox.pdmodel.PDDocument;
import java.io.IOException;

public class PdfCreationExample {

    public static void main(String[] args) {
        try {
            PDDocument document = new PDDocument();
            document.save("output.pdf");
            document.close();
            System.out.println("PDF 파일이 생성되었습니다.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 예시 코드를 실행하면 output.pdf라는 빈 PDF 파일이 생성됩니다.

PDF 파일 편집하기

PDF 파일에 텍스트, 이미지 또는 주석을 추가하거나, 페이지를 삭제하고 회전시키는 것과 같은 다양한 편집 작업을 수행할 수 있습니다. 다음은 기존 PDF 파일에 텍스트를 추가하는 예시 코드입니다:

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import java.io.IOException;

public class PdfEditingExample {

    public static void main(String[] args) {
        try {
            PDDocument document = PDDocument.load("existing.pdf");
            PDPage page = document.getPage(0);
            
            PDPageContentStream contentStream = new PDPageContentStream(document, page, PDPageContentStream.AppendMode.APPEND, true, true);
            contentStream.beginText();
            contentStream.setFont(PDType1Font.HELVETICA_BOLD, 12);
            contentStream.newLineAtOffset(100, 600);
            contentStream.showText("새로운 텍스트");
            contentStream.endText();
            contentStream.close();

            document.save("output.pdf");
            document.close();
            System.out.println("PDF 파일이 편집되었습니다.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 예시 코드를 실행하면 existing.pdf 파일에서 첫 번째 페이지에 “새로운 텍스트”가 추가된 PDF 파일인 output.pdf가 생성됩니다.

마무리

이 블로그에서는 Java Apache PDFBox를 사용하여 PDF 파일을 생성하고 편집하는 방법을 살펴보았습니다. PDFBox는 강력하면서도 다양한 기능을 제공하는 라이브러리이므로, PDF 파일 작업이 필요한 경우에는 PDFBox를 사용하여 작업을 수행할 수 있습니다.

더 많은 자세한 내용 및 예제 코드는 PDFBox 공식 문서를 참조하시기 바랍니다.