Apache PDFBox® - A Java PDF Library 입문 (3)

 

우리는 이제까지 빈 PDF 문서를 만들거나, 내용이 있는 PDF 문서를 만드는 방법을 알아보았지요.

오늘은 여러 페이지를 갖는 PDF 문서를 만들어보려고 합니다.

 

이제까지 사용한 와꾸를 재활용하려고 하구요.

아래 소스를 확인하여 보시기 바랍니다.

package io.sarc.pdfboxtest;

import java.io.IOException;

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;

public class PDFBoxTest {
    public static void main(String[] args) {
        createDocument();
    }

    private static void createDocument() {
        try (final PDDocument document = new PDDocument()) {
            PDPageContentStream contentStream = null;

            // page1
            PDPage page1 = new PDPage();
            contentStream = new PDPageContentStream(document, page1);
            contentStream.beginText();
            contentStream.setFont(PDType1Font.COURIER_BOLD, 12);
            contentStream.newLineAtOffset(150, 750);
            contentStream.showText("Hello World1");
            contentStream.endText();
            contentStream.close();

            // page2
            PDPage page2 = new PDPage();
            contentStream = new PDPageContentStream(document, page2);
            contentStream.beginText();
            contentStream.setFont(PDType1Font.COURIER_BOLD, 12);
            contentStream.newLineAtOffset(150, 750);
            contentStream.showText("Hello World2");
            contentStream.endText();
            contentStream.close();

            document.save("HelloWorlds.pdf");
            System.out.println("Created successfully!");
        } catch (IOException ioe) {
            System.out.println("Fail to create PDF while trying to create blank document - " + ioe);
        }
    }
}

그러면 2개 페이지를 갖는 HelloWorlds.pdf 라는 파일이 생성됩니다.