[java] iText 라이브러리를 활용한 PDF 문서 조작

iText는 Java 및 .NET 언어로 PDF 문서를 생성하고 조작하는 데 사용되는 강력한 라이브러리입니다. 이 라이브러리를 사용하여 PDF 문서에 텍스트, 이미지, 표 및 기타 요소를 추가하고, 문서 구조를 변경하거나 페이지를 회전 및 삭제할 수 있습니다.

이 블로그 포스트에서는 iText 라이브러리를 사용하여 Java 언어로 PDF 문서를 생성하고 조작하는 방법에 대해 알아보겠습니다.

목차

  1. iText 라이브러리 소개
  2. PDF 문서 생성
  3. 텍스트 및 이미지 추가
  4. 표 추가
  5. 문서 구조 변경

iText 라이브러리 소개

iText 공식 웹사이트 에서 iText 라이브러리를 다운로드하여 프로젝트에 추가합니다. iText 7은 최신 버전으로, PDF 문서를 생성하고 조작하는 데 많은 기능을 제공합니다.

PDF 문서 생성

다음은 iText를 사용하여 간단한 PDF 문서를 생성하는 예제 코드입니다.

import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;

public class PdfCreationExample {
    public static void main(String[] args) {
        String dest = "example.pdf";
        PdfWriter writer = new PdfWriter(dest);
        PdfDocument pdf = new PdfDocument(writer);
        pdf.addNewPage();
        pdf.close();
    }
}

위 코드는 example.pdf 파일을 생성하고 빈 페이지를 추가합니다.

텍스트 및 이미지 추가

iText를 사용하여 PDF에 텍스트나 이미지를 추가할 수 있습니다. 다음은 텍스트와 이미지를 추가하는 예제 코드입니다.

import com.itextpdf.layout.element.Paragraph;
import com.itextpdf.layout.element.Image;

public class PdfManipulationExample {
    public static void main(String[] args) {
        PdfDocument pdf = new PdfDocument(new PdfWriter("example.pdf"));
        com.itextpdf.layout.Document document = new com.itextpdf.layout.Document(pdf);
        document.add(new Paragraph("Hello, iText!"));
        Image img = new Image(ImageDataFactory.create("image.jpg"));
        document.add(img);
        document.close();
    }
}

위 코드는 “Hello, iText!” 텍스트와 image.jpg 이미지를 PDF에 추가합니다.

표 추가

PDF 문서에 표를 추가하는 방법은 다음과 같습니다.

import com.itextpdf.layout.element.Table;
import com.itextpdf.layout.element.Cell;

public class PdfTableExample {
    public static void main(String[] args) {
        PdfDocument pdf = new PdfDocument(new PdfWriter("example.pdf"));
        com.itextpdf.layout.Document document = new com.itextpdf.layout.Document(pdf);
        Table table = new Table(2);
        table.addCell(new Cell().add("Name"));
        table.addCell(new Cell().add("Age"));
        document.add(table);
        document.close();
    }
}

위 코드는 2열의 표에 “Name” 및 “Age” 헤더를 추가합니다.

문서 구조 변경

iText를 사용하여 PDF 문서의 구조를 변경할 수 있습니다. 다음은 페이지를 회전하고 삭제하는 예제 코드입니다.

import com.itextpdf.kernel.pdf.PdfReader;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfPage;

public class PdfStructureChangeExample {
    public static void main(String[] args) {
        PdfReader reader = new PdfReader("example.pdf");
        PdfWriter writer = new PdfWriter("modified.pdf");
        PdfDocument pdf = new PdfDocument(reader, writer);
        PdfPage page = pdf.getFirstPage();
        page.setRotation(90);
        pdf.removePage(1);
        pdf.close();
    }
}

위 코드는 첫 번째 페이지를 90도 회전하고, 두 번째 페이지를 제거합니다.

이제 여러분은 iText 라이브러리를 사용하여 Java로 PDF 문서를 생성하고 조작하는 기본적인 방법을 배웠습니다. iText는 더 많은 고급 기능을 제공하므로 해당 문서를 참조하고 적용해 보시기 바랍니다.