Apache POI: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 57: | Line 57: | ||
|} | |} | ||
==Font Provider== | |||
<source lang="java"> | |||
PdfOptions options = PdfOptions.create(); | |||
options.fontProvider((familyName, encoding, size, style, color) -> { | |||
try { | |||
BaseFont baseFont = BaseFont.createFont("fonts/LiberationSans-Regular.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED); | |||
return new Font(baseFont, size, style, color); | |||
} catch (Exception e) { | |||
LOG.warn("Font not found!\n{}", e.getMessage()); | |||
} | |||
}); | |||
</source> | |||
==References== | ==References== |
Revision as of 05:15, 4 January 2022
<dependency>
<groupId>fr.opensagres.xdocreport</groupId>
<artifactId>fr.opensagres.poi.xwpf.converter.pdf</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>fr.opensagres.xdocreport</groupId>
<artifactId>fr.opensagres.xdocreport.converter</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
|
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
|
| |
LocalDateTime startTime = LocalDateTime.now();
XWPFDocument doc = new XWPFDocument(new ClassPathResource("/META-INF/chorke/template.docx").getInputStream());
String pdfFilePath = String.format("%s/.chorke/academia/var/pdf/report.pdf", System.getProperty("user.home"));
PdfOptions options = PdfOptions.create();
OutputStream out = new FileOutputStream(pdfFilePath);
PdfConverter.getInstance().convert(doc, out, options);
out.close()
double duration = Duration.between(startTime, LocalDateTime.now()).toMillis()/1000.0;
LOG.info("Duration: {} seconds", String.format("%.2f", duration));
|
Font Provider
PdfOptions options = PdfOptions.create();
options.fontProvider((familyName, encoding, size, style, color) -> {
try {
BaseFont baseFont = BaseFont.createFont("fonts/LiberationSans-Regular.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
return new Font(baseFont, size, style, color);
} catch (Exception e) {
LOG.warn("Font not found!\n{}", e.getMessage());
}
});