Apache PDFBox가 일본어로 출력할 수 있게 된 건
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의 시대가 끝났다고 생각합니다.
Reference
이 문제에 관하여(Apache PDFBox가 일본어로 출력할 수 있게 된 건), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ota-meshi/items/55a6c379544b33728b58
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<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의 시대가 끝났다고 생각합니다.
Reference
이 문제에 관하여(Apache PDFBox가 일본어로 출력할 수 있게 된 건), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ota-meshi/items/55a6c379544b33728b58
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Apache PDFBox가 일본어로 출력할 수 있게 된 건), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ota-meshi/items/55a6c379544b33728b58텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)