Package com.lowagie.text.html
Class HtmlWriter
- java.lang.Object
-
- com.lowagie.text.DocWriter
-
- com.lowagie.text.html.HtmlWriter
-
- All Implemented Interfaces:
DocListener
,ElementListener
,java.lang.AutoCloseable
,java.util.EventListener
public class HtmlWriter extends DocWriter
ADocWriter
class for HTML.An
HtmlWriter
can be added as aDocListener
to a certainDocument
by getting an instance. EveryElement
added to the originalDocument
will be written to theOutputStream
of thisHtmlWriter
.Example:
// creation of the document with a certain size and certain margins Document document = new Document(PageSize.A4, 50, 50, 50, 50); try { // this will write HTML to the Standard OutputStream HtmlWriter.getInstance(document, System.out); // this will write HTML to a file called text.html HtmlWriter.getInstance(document, new FileOutputStream("text.html")); // this will write HTML to for instance the OutputStream of a HttpServletResponse-object HtmlWriter.getInstance(document, response.getOutputStream()); } catch(DocumentException de) { System.err.println(de.getMessage()); } // this will close the document and all the OutputStreams listening to it document.close();
-
-
Field Summary
Fields Modifier and Type Field Description static byte[]
BEGINCOMMENT
This is a possible HTML-tag.protected java.util.Stack<Font>
currentfont
This is the current font of the HTML.static byte[]
ENDCOMMENT
This is a possible HTML-tag.protected HeaderFooter
footer
This is the textual part of the footerprotected HeaderFooter
header
This is the textual part of a headerprotected java.lang.String
imagepath
This is a path for images.protected java.util.Properties
markup
Store the markup properties of a MarkedObject.static java.lang.String
NBSP
This is a possible HTML-tag.protected int
pageN
Stores the page number.protected Font
standardfont
This is the standard font of the HTML.
-
Constructor Summary
Constructors Modifier Constructor Description protected
HtmlWriter(Document doc, java.io.OutputStream os)
Constructs aHtmlWriter
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
add(Element element)
Signals that anElement
was added to theDocument
.boolean
add(java.lang.String string)
Signals that aString
was added to theDocument
.void
close()
Signals that theDocument
was closed and that no otherElements
will be added.static HtmlWriter
getInstance(Document document, java.io.OutputStream os)
Gets an instance of theHtmlWriter
.protected void
initFooter()
Adds the header to the top of theDocument
protected void
initHeader()
Adds the header to the top of theDocument
boolean
isOtherFont(Font font)
Checks if a given font is the same as the font that was last used.boolean
newPage()
Signals that an new page has to be started.void
open()
Signals that theDocument
has been opened and thatElements
can be added.void
resetImagepath()
Resets the imagepath.void
setFooter(HeaderFooter footer)
Changes the footer of this document.void
setHeader(HeaderFooter header)
Changes the header of this document.void
setImagepath(java.lang.String imagepath)
Sets the basepath for images.void
setStandardFont(Font standardfont)
Changes the standardfont.protected void
write(Element element, int indent)
Writes the HTML representation of an element.protected void
write(Font font, java.util.Properties styleAttributes)
Writes the representation of aFont
.protected void
writeComment(java.lang.String comment)
Writes some comment.protected void
writeCssProperty(java.lang.String prop, java.lang.String value)
Writes out a CSS property.protected void
writeHeader(Meta meta)
Writes a Metatag in the header.protected void
writeJavaScript(Header header)
Writes a JavaScript section or, if the markup attribute HtmlTags.URL is set, a JavaScript reference in the header.protected void
writeLink(Header header)
Writes a link in the header.protected void
writeSection(Section section, int indent)
Writes the HTML representation of a section.-
Methods inherited from class com.lowagie.text.DocWriter
addTabs, flush, getISOBytes, isCloseStream, isPaused, pause, resetFooter, resetHeader, resetPageCount, resume, setCloseStream, setMarginMirroring, setMarginMirroringTopBottom, setMargins, setPageCount, setPageSize, write, write, writeEnd, writeEnd, writeMarkupAttributes, writeStart
-
-
-
-
Field Detail
-
BEGINCOMMENT
public static final byte[] BEGINCOMMENT
This is a possible HTML-tag.
-
ENDCOMMENT
public static final byte[] ENDCOMMENT
This is a possible HTML-tag.
-
NBSP
public static final java.lang.String NBSP
This is a possible HTML-tag.- See Also:
- Constant Field Values
-
currentfont
protected java.util.Stack<Font> currentfont
This is the current font of the HTML.
-
standardfont
protected Font standardfont
This is the standard font of the HTML.
-
imagepath
protected java.lang.String imagepath
This is a path for images.
-
pageN
protected int pageN
Stores the page number.
-
header
protected HeaderFooter header
This is the textual part of a header
-
footer
protected HeaderFooter footer
This is the textual part of the footer
-
markup
protected java.util.Properties markup
Store the markup properties of a MarkedObject.
-
-
Constructor Detail
-
HtmlWriter
protected HtmlWriter(Document doc, java.io.OutputStream os)
Constructs aHtmlWriter
.- Parameters:
doc
- TheDocument
that has to be written as HTMLos
- TheOutputStream
the writer has to write to.
-
-
Method Detail
-
getInstance
public static HtmlWriter getInstance(Document document, java.io.OutputStream os)
Gets an instance of theHtmlWriter
.- Parameters:
document
- TheDocument
that has to be writtenos
- TheOutputStream
the writer has to write to.- Returns:
- a new
HtmlWriter
-
newPage
public boolean newPage()
Signals that an new page has to be started.- Specified by:
newPage
in interfaceDocListener
- Overrides:
newPage
in classDocWriter
- Returns:
true
if this action succeeded,false
if not.
-
add
public boolean add(Element element) throws DocumentException
Signals that anElement
was added to theDocument
.- Specified by:
add
in interfaceElementListener
- Overrides:
add
in classDocWriter
- Parameters:
element
- a high level object that has to be translated to HTML- Returns:
true
if the element was added,false
if not.- Throws:
DocumentException
- when a document isn't open yet, or has been closed
-
open
public void open()
Signals that theDocument
has been opened and thatElements
can be added.The
HEAD
-section of the HTML-document is written.- Specified by:
open
in interfaceDocListener
- Overrides:
open
in classDocWriter
-
close
public void close()
Signals that theDocument
was closed and that no otherElements
will be added.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfaceDocListener
- Overrides:
close
in classDocWriter
-
initHeader
protected void initHeader()
Adds the header to the top of theDocument
-
initFooter
protected void initFooter()
Adds the header to the top of theDocument
-
writeHeader
protected void writeHeader(Meta meta) throws java.io.IOException
Writes a Metatag in the header.- Parameters:
meta
- the element that has to be written- Throws:
java.io.IOException
- on error
-
writeLink
protected void writeLink(Header header) throws java.io.IOException
Writes a link in the header.- Parameters:
header
- the element that has to be written- Throws:
java.io.IOException
- on error
-
writeJavaScript
protected void writeJavaScript(Header header) throws java.io.IOException
Writes a JavaScript section or, if the markup attribute HtmlTags.URL is set, a JavaScript reference in the header.- Parameters:
header
- the element that has to be written- Throws:
java.io.IOException
- on error
-
writeComment
protected void writeComment(java.lang.String comment) throws java.io.IOException
Writes some comment.This method writes some comment.
- Parameters:
comment
- the comment that has to be written- Throws:
java.io.IOException
- on error
-
setStandardFont
public void setStandardFont(Font standardfont)
Changes the standardfont.- Parameters:
standardfont
- The font
-
isOtherFont
public boolean isOtherFont(Font font)
Checks if a given font is the same as the font that was last used.- Parameters:
font
- the font of an object- Returns:
- true if the font differs
-
setImagepath
public void setImagepath(java.lang.String imagepath)
Sets the basepath for images.This is especially useful if you add images using a file, rather than an URL. In PDF there is no problem, since the images are added inline, but in HTML it is sometimes necessary to use a relative path or a special path to some images directory.
- Parameters:
imagepath
- the new imagepath
-
resetImagepath
public void resetImagepath()
Resets the imagepath.
-
setHeader
public void setHeader(HeaderFooter header)
Changes the header of this document.- Specified by:
setHeader
in interfaceDocListener
- Overrides:
setHeader
in classDocWriter
- Parameters:
header
- the new header
-
setFooter
public void setFooter(HeaderFooter footer)
Changes the footer of this document.- Specified by:
setFooter
in interfaceDocListener
- Overrides:
setFooter
in classDocWriter
- Parameters:
footer
- the new footer
-
add
public boolean add(java.lang.String string)
Signals that aString
was added to theDocument
.- Parameters:
string
- a String to add to the HTML- Returns:
true
if the string was added,false
if not.
-
write
protected void write(Element element, int indent) throws java.io.IOException
Writes the HTML representation of an element.- Parameters:
element
- the elementindent
- the indentation- Throws:
java.io.IOException
- thrown when an I/O operation fails
-
writeSection
protected void writeSection(Section section, int indent) throws java.io.IOException
Writes the HTML representation of a section.- Parameters:
section
- the section to writeindent
- the indentation- Throws:
java.io.IOException
- thrown when an I/O operation fails
-
write
protected void write(Font font, java.util.Properties styleAttributes) throws java.io.IOException
Writes the representation of aFont
.- Parameters:
font
- aFont
styleAttributes
- the style of the font- Throws:
java.io.IOException
- thrown when an I/O operation fails
-
writeCssProperty
protected void writeCssProperty(java.lang.String prop, java.lang.String value) throws java.io.IOException
Writes out a CSS property.- Parameters:
prop
- a CSS propertyvalue
- the value of the CSS property- Throws:
java.io.IOException
- thrown when an I/O operation fails
-
-