com.lowagie.text.html

Class HtmlWriter

public class HtmlWriter extends DocWriter

A DocWriter class for HTML.

An HtmlWriter can be added as a DocListener to a certain Document by getting an instance. Every Element added to the original Document will be written to the OutputStream of this HtmlWriter.

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
static byte[]BEGINCOMMENT
This is a possible HTML-tag.
protected Stackcurrentfont
This is the current font of the HTML.
static byte[]ENDCOMMENT
This is a possible HTML-tag.
protected HeaderFooterfooter
This is the textual part of the footer
protected HeaderFooterheader
This is the textual part of a header
protected Stringimagepath
This is a path for images.
protected Propertiesmarkup
Store the markup properties of a MarkedObject.
static StringNBSP
This is a possible HTML-tag.
protected intpageN
Stores the page number.
protected Fontstandardfont
This is the standard font of the HTML.
Constructor Summary
protected HtmlWriter(Document doc, OutputStream os)
Constructs a HtmlWriter.
Method Summary
booleanadd(Element element)
Signals that an Element was added to the Document.
booleanadd(String string)
Signals that a String was added to the Document.
voidclose()
Signals that the Document was closed and that no other Elements will be added.
static HtmlWritergetInstance(Document document, OutputStream os)
Gets an instance of the HtmlWriter.
protected voidinitFooter()
Adds the header to the top of the Document
protected voidinitHeader()
Adds the header to the top of the Document
booleanisOtherFont(Font font)
Checks if a given font is the same as the font that was last used.
booleannewPage()
Signals that an new page has to be started.
voidopen()
Signals that the Document has been opened and that Elements can be added.
voidresetImagepath()
Resets the imagepath.
voidsetFooter(HeaderFooter footer)
Changes the footer of this document.
voidsetHeader(HeaderFooter header)
Changes the header of this document.
voidsetImagepath(String imagepath)
Sets the basepath for images.
voidsetStandardFont(Font standardfont)
Changes the standardfont.
protected voidwrite(Element element, int indent)
Writes the HTML representation of an element.
protected voidwrite(Font font, Properties styleAttributes)
Writes the representation of a Font.
protected voidwriteComment(String comment)
Writes some comment.
protected voidwriteCssProperty(String prop, String value)
Writes out a CSS property.
protected voidwriteHeader(Meta meta)
Writes a Metatag in the header.
protected voidwriteJavaScript(Header header)
Writes a JavaScript section or, if the markup attribute HtmlTags.URL is set, a JavaScript reference in the header.
protected voidwriteLink(Header header)
Writes a link in the header.
protected voidwriteSection(Section section, int indent)
Writes the HTML representation of a section.

Field Detail

BEGINCOMMENT

public static final byte[] BEGINCOMMENT
This is a possible HTML-tag.

currentfont

protected Stack currentfont
This is the current font of the HTML.

ENDCOMMENT

public static final byte[] ENDCOMMENT
This is a possible HTML-tag.

footer

protected HeaderFooter footer
This is the textual part of the footer

header

protected HeaderFooter header
This is the textual part of a header

imagepath

protected String imagepath
This is a path for images.

markup

protected Properties markup
Store the markup properties of a MarkedObject.

NBSP

public static final String NBSP
This is a possible HTML-tag.

pageN

protected int pageN
Stores the page number.

standardfont

protected Font standardfont
This is the standard font of the HTML.

Constructor Detail

HtmlWriter

protected HtmlWriter(Document doc, OutputStream os)
Constructs a HtmlWriter.

Parameters: doc The Document that has to be written as HTML os The OutputStream the writer has to write to.

Method Detail

add

public boolean add(Element element)
Signals that an Element was added to the Document.

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

add

public boolean add(String string)
Signals that a String was added to the Document.

Parameters: string a String to add to the HTML

Returns: true if the string was added, false if not.

close

public void close()
Signals that the Document was closed and that no other Elements will be added.

getInstance

public static HtmlWriter getInstance(Document document, OutputStream os)
Gets an instance of the HtmlWriter.

Parameters: document The Document that has to be written os The OutputStream the writer has to write to.

Returns: a new HtmlWriter

initFooter

protected void initFooter()
Adds the header to the top of the Document

initHeader

protected void initHeader()
Adds the header to the top of the Document

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

newPage

public boolean newPage()
Signals that an new page has to be started.

Returns: true if this action succeeded, false if not.

open

public void open()
Signals that the Document has been opened and that Elements can be added.

The HEAD-section of the HTML-document is written.

resetImagepath

public void resetImagepath()
Resets the imagepath.

setFooter

public void setFooter(HeaderFooter footer)
Changes the footer of this document.

Parameters: footer the new footer

setHeader

public void setHeader(HeaderFooter header)
Changes the header of this document.

Parameters: header the new header

setImagepath

public void setImagepath(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

setStandardFont

public void setStandardFont(Font standardfont)
Changes the standardfont.

Parameters: standardfont The font

write

protected void write(Element element, int indent)
Writes the HTML representation of an element.

Parameters: element the element indent the indentation

Throws: IOException

write

protected void write(Font font, Properties styleAttributes)
Writes the representation of a Font.

Parameters: font a Font styleAttributes the style of the font

Throws: IOException

writeComment

protected void writeComment(String comment)
Writes some comment.

This method writes some comment.

Parameters: comment the comment that has to be written

Throws: IOException

writeCssProperty

protected void writeCssProperty(String prop, String value)
Writes out a CSS property.

Parameters: prop a CSS property value the value of the CSS property

Throws: IOException

writeHeader

protected void writeHeader(Meta meta)
Writes a Metatag in the header.

Parameters: meta the element that has to be written

Throws: IOException

writeJavaScript

protected void writeJavaScript(Header header)
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: IOException

writeLink

protected void writeLink(Header header)
Writes a link in the header.

Parameters: header the element that has to be written

Throws: IOException

writeSection

protected void writeSection(Section section, int indent)
Writes the HTML representation of a section.

Parameters: section the section to write indent the indentation

Throws: IOException