use of com.openhtmltopdf.pdfboxout.PdfRendererBuilder in project alf.io by alfio-event.
the class TemplateProcessor method prepareItextRenderer.
public static PdfBoxRenderer prepareItextRenderer(String page) {
PdfRendererBuilder builder = new PdfRendererBuilder();
builder.withW3cDocument(DOMBuilder.jsoup2DOM(Jsoup.parse(page)), "");
PdfBoxRenderer renderer = builder.buildPdfRenderer();
try (InputStream is = new ClassPathResource("/alfio/font/DejaVuSansMono.ttf").getInputStream()) {
renderer.getFontResolver().addFont(() -> is, "DejaVu Sans Mono", null, null, false);
} catch (IOException e) {
log.warn("error while loading DejaVuSansMono.ttf font", e);
}
renderer.layout();
return renderer;
}
use of com.openhtmltopdf.pdfboxout.PdfRendererBuilder in project flexmark-java by vsch.
the class PdfConverterExtension method exportToPdf.
public static void exportToPdf(final OutputStream os, final String html, final String url, final PdfRendererBuilder.TextDirection defaultTextDirection) {
try {
// There are more options on the builder than shown below.
PdfRendererBuilder builder = new PdfRendererBuilder();
if (defaultTextDirection != null) {
builder.useUnicodeBidiSplitter(new ICUBidiSplitter.ICUBidiSplitterFactory());
builder.useUnicodeBidiReorderer(new ICUBidiReorderer());
// OR RTL
builder.defaultTextDirection(defaultTextDirection);
}
org.jsoup.nodes.Document doc;
doc = Jsoup.parse(html);
Document dom = DOMBuilder.jsoup2DOM(doc);
builder.withW3cDocument(dom, url);
builder.toStream(os);
builder.run();
} catch (Exception e) {
e.printStackTrace();
// LOG exception
} finally {
try {
os.close();
} catch (IOException e) {
// swallow
}
}
}
Aggregations