Search in sources :

Example 1 with ICUBidiReorderer

use of com.openhtmltopdf.bidi.support.ICUBidiReorderer 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

ICUBidiReorderer (com.openhtmltopdf.bidi.support.ICUBidiReorderer)1 ICUBidiSplitter (com.openhtmltopdf.bidi.support.ICUBidiSplitter)1 PdfRendererBuilder (com.openhtmltopdf.pdfboxout.PdfRendererBuilder)1 FileNotFoundException (java.io.FileNotFoundException)1 IOException (java.io.IOException)1 Document (org.w3c.dom.Document)1