Search in sources :

Example 1 with PdfRendererBuilder

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;
}
Also used : InputStream(java.io.InputStream) IOException(java.io.IOException) PdfRendererBuilder(com.openhtmltopdf.pdfboxout.PdfRendererBuilder) ClassPathResource(org.springframework.core.io.ClassPathResource) PdfBoxRenderer(com.openhtmltopdf.pdfboxout.PdfBoxRenderer)

Example 2 with PdfRendererBuilder

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
        }
    }
}
Also used : ICUBidiSplitter(com.openhtmltopdf.bidi.support.ICUBidiSplitter) ICUBidiReorderer(com.openhtmltopdf.bidi.support.ICUBidiReorderer) IOException(java.io.IOException) PdfRendererBuilder(com.openhtmltopdf.pdfboxout.PdfRendererBuilder) Document(org.w3c.dom.Document) IOException(java.io.IOException) FileNotFoundException(java.io.FileNotFoundException)

Aggregations

PdfRendererBuilder (com.openhtmltopdf.pdfboxout.PdfRendererBuilder)2 IOException (java.io.IOException)2 ICUBidiReorderer (com.openhtmltopdf.bidi.support.ICUBidiReorderer)1 ICUBidiSplitter (com.openhtmltopdf.bidi.support.ICUBidiSplitter)1 PdfBoxRenderer (com.openhtmltopdf.pdfboxout.PdfBoxRenderer)1 FileNotFoundException (java.io.FileNotFoundException)1 InputStream (java.io.InputStream)1 ClassPathResource (org.springframework.core.io.ClassPathResource)1 Document (org.w3c.dom.Document)1