Verwenden Sie Apache PDFBox für die PDF-Ausgabe. Es scheint, dass die TIFF-Ausgabe standardmäßig von Java 9 unterstützt wird. Java8 wird nicht unterstützt. Verwenden Sie daher JAI (Java Advanced Imaging API).
Laden Sie die zu verwendende Bibliothek herunter. Apache PDFBox Laden Sie hier die erforderlichen Dateien herunter Apache PDFBox ・ Pdfbox-2.0.16.jar ・ Fontbox-2.0.16.jar ・ Pdfbox-tools-2.0.16.jar (Die obige Version ist die neueste zum Zeitpunkt des Schreibens)
Mit Maven
pom.xml
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.16</version>
</dependency>
JAI Ich wollte nur die JAR-Datei, also habe ich sie von [java2s.com] heruntergeladen (http://www.java2s.com/Code/Jar/j/Downloadjaiimageio11jar.htm). ・ Jai_imageio-1.1.jar
Japanische Schriftarten können auch mit fontbox verarbeitet werden.
PDFSample.java
/**
Ausnahmebehandlung ist angemessen
**/
PDDocument doc = new PDDocument();
PDPage page = new PDPage();
TrueTypeCollection ttc = new TrueTypeCollection(new File("c:/windows/fonts/msgothic.ttc"));
PDFont font = PDType0Font.load(doc, ttc.getFontByName("MS-Gothic"), true);
doc.addPage(page);
PDPageContentStream cs = new PDPageContentStream(doc, page);
cs.beginText();
cs.setFont(font, 12);
cs.newLineAtOffset(10f, 10f);
cs.showText("Hello PDFBox!");
cs.endText();
cs.close();
doc.close();
TIFFSample.java
/**
Ausnahmebehandlung ist angemessen
**/
PDDocument doc = new PDDocument()
/**
Ausgelassen: PDF-Erstellungsprozess
**/
PDFRenderer pdfRenderer = new PDFRenderer(doc);
for (int p = 0; p < doc.getNumberOfPages(); ++p) {
BufferedImage bi = pdfRenderer.renderImageWithDPI(p, 300, ImageType.RGB);
ImageIOUtil.writeImage(bi, "TIF", this.outputStream, 300);
}
doc.close();
Recommended Posts