Apache PDFBox가 일본어로 출력할 수 있게 된 건

Apache PDFBox는 java에서 PDF를 즐길 수있는 라이브러리입니다.
htps // pdf 보 x. 아파치. rg/

2016년 3월에 2.0계가 릴리스되어 일본어를 출력할 수 있게 되었습니다.

이전부터 SNAPSHOT판이 나와 있어, 시험하고 있는 사람이 있었으므로 하기 참고에 시험해 본 결과를 씁니다.
htp://sym 포 균열. bぉg68. FC2. 소 m/bぉg-엔try-1777. html

시도한 소스 코드



pom.xml에 다음을 추가합니다.
        <dependency>
            <groupId>org.apache.pdfbox</groupId>
            <artifactId>pdfbox</artifactId>
            <version>2.0.1</version>
        </dependency>

아래에서 실행해 본 소스 코드
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
import org.apache.pdfbox.pdmodel.font.PDFont;
import org.apache.pdfbox.pdmodel.font.PDType0Font;

//・・・

    public static void main(String[] args) throws IOException {
        //Windowsで、C:/Windows/Fonts/ARIALUNI.TTFにフォントがないと動きません。
        Path path = Paths.get("pdf.pdf");
        try (OutputStream out = Files.newOutputStream(path)) {
            make(out);
        }

        System.out.println(path.toAbsolutePath());
    }

    public static void make(OutputStream out) throws IOException {

        try (PDDocument doc = new PDDocument()) {
            float fontSize = 50;
            PDRectangle rectangle = PDRectangle.A6;
            PDPage page = new PDPage(rectangle);
            doc.addPage(page);

            // フォントファイルを読み込み(2.0系から追加されたメソッド)
            PDFont font = PDType0Font.load(doc, new File("C:/Windows/Fonts/ARIALUNI.TTF"));

            try (PDPageContentStream contents = new PDPageContentStream(doc, page)) {
                contents.beginText();

                contents.setFont(font, fontSize);

                contents.newLineAtOffset(10, rectangle.getHeight() - fontSize - 10);
                contents.showText("こんにちは");
                contents.newLineAtOffset(0, -fontSize);
                contents.showText("世界");

                contents.endText();
            }
            doc.save(out);
        }
    }

결과



이런 느낌.



후기



나는 아파치를 좋아하기 때문에 이미 iText의 시대가 끝났다고 생각합니다.

좋은 웹페이지 즐겨찾기