Package com.itextpdf.tool.xml
Class XMLWorkerHelper
- java.lang.Object
-
- com.itextpdf.tool.xml.XMLWorkerHelper
-
public class XMLWorkerHelper extends Object
A helper class for parsing XHTML/CSS or XML flow to PDF.- Author:
- redlab_b
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static CssFile
getCSS(InputStream in)
CssFile
getDefaultCSS()
CSSResolver
getDefaultCssResolver(boolean addDefaultCss)
Get a CSSResolver implementation.protected TagProcessorFactory
getDefaultTagProcessorFactory()
Retrieves the default factory for processing HTML tags fromTags.getHtmlTagProcessorFactory()
.static XMLWorkerHelper
getInstance()
Get a Singleton XMLWorkerHelperstatic ElementList
parseToElementList(String html, String css)
Parses an HTML string and a string containing CSS into a list of Element objects.void
parseXHtml(PdfWriter writer, Document doc, InputStream in)
void
parseXHtml(PdfWriter writer, Document doc, InputStream in, InputStream inCssFile)
void
parseXHtml(PdfWriter writer, Document doc, InputStream in, InputStream inCssFile, FontProvider fontProvider)
void
parseXHtml(PdfWriter writer, Document doc, InputStream in, InputStream inCssFile, Charset charset)
void
parseXHtml(PdfWriter writer, Document doc, InputStream in, InputStream inCssFile, Charset charset, FontProvider fontProvider)
void
parseXHtml(PdfWriter writer, Document doc, InputStream in, InputStream inCssFile, Charset charset, FontProvider fontProvider, String resourcesRootPath)
void
parseXHtml(PdfWriter writer, Document doc, InputStream in, Charset charset)
void
parseXHtml(PdfWriter writer, Document doc, InputStream in, Charset charset, FontProvider fontProvider)
void
parseXHtml(PdfWriter writer, Document doc, Reader in)
Parses the xml data.void
parseXHtml(ElementHandler d, InputStream in, Charset charset)
void
parseXHtml(ElementHandler d, Reader in)
Parses the xml data in the given reader and sends createdElement
s to the defined ElementHandler.
This method configures the XMLWorker and XMLParser to parse (X)HTML/CSS and accept unknown tags.
-
-
-
Method Detail
-
getInstance
public static XMLWorkerHelper getInstance()
Get a Singleton XMLWorkerHelper- Returns:
- a singleton instance of XMLWorkerHelper
-
getCSS
public static CssFile getCSS(InputStream in)
- Returns:
- the default css file.
-
getDefaultCSS
public CssFile getDefaultCSS()
-
parseXHtml
public void parseXHtml(ElementHandler d, Reader in) throws IOException
Parses the xml data in the given reader and sends createdElement
s to the defined ElementHandler.
This method configures the XMLWorker and XMLParser to parse (X)HTML/CSS and accept unknown tags.- Parameters:
d
- the handlerin
- the reader- Throws:
IOException
- thrown when something went wrong with the IO
-
parseXHtml
public void parseXHtml(PdfWriter writer, Document doc, Reader in) throws 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 PdfWriterdoc
- the Documentin
- the reader- Throws:
IOException
- thrown when something went wrong with the IO
-
parseXHtml
public void parseXHtml(PdfWriter writer, Document doc, InputStream in) throws IOException
- Parameters:
writer
- the writer to usedoc
- the document to usein
- theInputStream
of the XHTML source.- Throws:
IOException
- if theInputStream
could not be read.
-
parseXHtml
public void parseXHtml(PdfWriter writer, Document doc, InputStream in, Charset charset, FontProvider fontProvider) throws IOException
- Throws:
IOException
-
parseXHtml
public void parseXHtml(PdfWriter writer, Document doc, InputStream in, Charset charset) throws IOException
- Parameters:
writer
- the writer to usedoc
- the document to usein
- theInputStream
of the XHTML source.charset
- the charset to use- Throws:
IOException
- if theInputStream
could not be read.
-
parseXHtml
public void parseXHtml(PdfWriter writer, Document doc, InputStream in, InputStream inCssFile, Charset charset, FontProvider fontProvider) throws IOException
- Parameters:
writer
- the writer to usedoc
- the document to usein
- theInputStream
of the XHTML source.in
- theCssFiles
of the css files.charset
- the charset to use- Throws:
IOException
- if theInputStream
could not be read.
-
parseXHtml
public void parseXHtml(PdfWriter writer, Document doc, InputStream in, InputStream inCssFile, Charset charset, FontProvider fontProvider, String resourcesRootPath) throws IOException
- Parameters:
writer
- the writer to usedoc
- the document to usein
- theInputStream
of the XHTML source.in
- theCssFiles
of the css files.charset
- the charset to useresourcesRootPath
- defines the root path to find resources in case they are defined in html with relative paths (e.g. images)- Throws:
IOException
- if theInputStream
could not be read.
-
parseXHtml
public void parseXHtml(PdfWriter writer, Document doc, InputStream in, InputStream inCssFile) throws IOException
- Throws:
IOException
-
parseXHtml
public void parseXHtml(PdfWriter writer, Document doc, InputStream in, InputStream inCssFile, FontProvider fontProvider) throws IOException
- Throws:
IOException
-
parseXHtml
public void parseXHtml(PdfWriter writer, Document doc, InputStream in, InputStream inCssFile, Charset charset) throws IOException
- Throws:
IOException
-
parseXHtml
public void parseXHtml(ElementHandler d, InputStream in, Charset charset) throws IOException
- Parameters:
d
- the ElementHandlerin
- the InputStreamcharset
- the charset to use- Throws:
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
-
getDefaultTagProcessorFactory
protected TagProcessorFactory getDefaultTagProcessorFactory()
Retrieves the default factory for processing HTML tags fromTags.getHtmlTagProcessorFactory()
. On subsequent calls the sameTagProcessorFactory
is returned every time.- Returns:
- a
DefaultTagProcessorFactory
that maps HTML tags to
TagProcessor
s
-
parseToElementList
public static ElementList parseToElementList(String html, String css) throws 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 snippetcss
- a String containing CSS- Returns:
- an ElementList instance
- Throws:
IOException
-
-