Class XMLWorkerHelper


  • public class XMLWorkerHelper
    extends java.lang.Object
    A helper class for parsing XHTML/CSS or XML flow to PDF.
    • Constructor Detail

      • XMLWorkerHelper

        private XMLWorkerHelper()
    • Method Detail

      • getInstance

        public static XMLWorkerHelper getInstance()
        Get a Singleton XMLWorkerHelper
        Returns:
        a singleton instance of XMLWorkerHelper
      • getCSS

        public static CssFile getCSS​(java.io.InputStream in)
        Returns:
        the default css file.
      • getDefaultCSS

        public CssFile getDefaultCSS()
      • parseXHtml

        public void parseXHtml​(ElementHandler d,
                               java.io.Reader in)
                        throws java.io.IOException
        Parses the xml data in the given reader and sends created Element s to the defined ElementHandler.
        This method configures the XMLWorker and XMLParser to parse (X)HTML/CSS and accept unknown tags.
        Parameters:
        d - the handler
        in - the reader
        Throws:
        java.io.IOException - thrown when something went wrong with the IO
      • parseXHtml

        public void parseXHtml​(PdfWriter writer,
                               Document doc,
                               java.io.Reader in)
                        throws java.io.IOException
        Parses the xml data. This method configures the XMLWorker to parse (X)HTML/CSS and accept unknown tags. Writes the output in the given PdfWriter with the given document.
        Parameters:
        writer - the PdfWriter
        doc - the Document
        in - the reader
        Throws:
        java.io.IOException - thrown when something went wrong with the IO
      • parseXHtml

        public void parseXHtml​(PdfWriter writer,
                               Document doc,
                               java.io.InputStream in)
                        throws java.io.IOException
        Parameters:
        writer - the writer to use
        doc - the document to use
        in - the InputStream of the XHTML source.
        Throws:
        java.io.IOException - if the InputStream could not be read.
      • parseXHtml

        public void parseXHtml​(PdfWriter writer,
                               Document doc,
                               java.io.InputStream in,
                               java.nio.charset.Charset charset,
                               FontProvider fontProvider)
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • parseXHtml

        public void parseXHtml​(PdfWriter writer,
                               Document doc,
                               java.io.InputStream in,
                               java.nio.charset.Charset charset)
                        throws java.io.IOException
        Parameters:
        writer - the writer to use
        doc - the document to use
        in - the InputStream of the XHTML source.
        charset - the charset to use
        Throws:
        java.io.IOException - if the InputStream could not be read.
      • parseXHtml

        public void parseXHtml​(PdfWriter writer,
                               Document doc,
                               java.io.InputStream in,
                               java.io.InputStream inCssFile,
                               java.nio.charset.Charset charset,
                               FontProvider fontProvider)
                        throws java.io.IOException
        Parameters:
        writer - the writer to use
        doc - the document to use
        in - the InputStream of the XHTML source.
        in - the CssFiles of the css files.
        charset - the charset to use
        Throws:
        java.io.IOException - if the InputStream could not be read.
      • parseXHtml

        public void parseXHtml​(PdfWriter writer,
                               Document doc,
                               java.io.InputStream in,
                               java.io.InputStream inCssFile,
                               java.nio.charset.Charset charset,
                               FontProvider fontProvider,
                               java.lang.String resourcesRootPath)
                        throws java.io.IOException
        Parameters:
        writer - the writer to use
        doc - the document to use
        in - the InputStream of the XHTML source.
        in - the CssFiles of the css files.
        charset - the charset to use
        resourcesRootPath - defines the root path to find resources in case they are defined in html with relative paths (e.g. images)
        Throws:
        java.io.IOException - if the InputStream could not be read.
      • parseXHtml

        public void parseXHtml​(PdfWriter writer,
                               Document doc,
                               java.io.InputStream in,
                               java.io.InputStream inCssFile)
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • parseXHtml

        public void parseXHtml​(PdfWriter writer,
                               Document doc,
                               java.io.InputStream in,
                               java.io.InputStream inCssFile,
                               FontProvider fontProvider)
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • parseXHtml

        public void parseXHtml​(PdfWriter writer,
                               Document doc,
                               java.io.InputStream in,
                               java.io.InputStream inCssFile,
                               java.nio.charset.Charset charset)
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • parseXHtml

        public void parseXHtml​(ElementHandler d,
                               java.io.InputStream in,
                               java.nio.charset.Charset charset)
                        throws java.io.IOException
        Parameters:
        d - the ElementHandler
        in - the InputStream
        charset - the charset to use
        Throws:
        java.io.IOException - if something went seriously wrong with IO.
      • getDefaultCssResolver

        public CSSResolver getDefaultCssResolver​(boolean addDefaultCss)
        Get a CSSResolver implementation.
        Parameters:
        addDefaultCss - true if the defaultCss should already be added.
        Returns:
        the default CSSResolver
      • parseToElementList

        public static ElementList parseToElementList​(java.lang.String html,
                                                     java.lang.String css)
                                              throws java.io.IOException
        Parses an HTML string and a string containing CSS into a list of Element objects. The FontProvider will be obtained from iText's FontFactory object.
        Parameters:
        html - a String containing an XHTML snippet
        css - a String containing CSS
        Returns:
        an ElementList instance
        Throws:
        java.io.IOException