com.lowagie.text.html
Class HtmlWriter

java.lang.Object
  extended by com.lowagie.text.DocWriter
      extended by com.lowagie.text.html.HtmlWriter
All Implemented Interfaces:
DocListener, ElementListener, java.util.EventListener

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  java.util.Stack 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 footer
protected  HeaderFooter header
          This is the textual part of a header
protected  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.
 
Fields inherited from class com.lowagie.text.DocWriter
closeStream, document, EQUALS, FORWARD, GT, LT, NEWLINE, open, os, pageSize, pause, QUOTE, SPACE, TAB
 
Constructor Summary
protected HtmlWriter(Document doc, java.io.OutputStream os)
          Constructs a HtmlWriter.
 
Method Summary
 boolean add(Element element)
          Signals that an Element was added to the Document.
 boolean add(java.lang.String string)
          Signals that a String was added to the Document.
 void close()
          Signals that the Document was closed and that no other Elements will be added.
static HtmlWriter getInstance(Document document, java.io.OutputStream os)
          Gets an instance of the HtmlWriter.
protected  void initFooter()
          Adds the header to the top of the Document
protected  void initHeader()
          Adds the header to the top of the Document
 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 the Document has been opened and that Elements 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 a Font.
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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 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 a HtmlWriter.

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

getInstance

public static HtmlWriter getInstance(Document document,
                                     java.io.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

newPage

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

Specified by:
newPage in interface DocListener
Overrides:
newPage in class DocWriter
Returns:
true if this action succeeded, false if not.

add

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

Specified by:
add in interface ElementListener
Overrides:
add in class DocWriter
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 the Document has been opened and that Elements can be added.

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

Specified by:
open in interface DocListener
Overrides:
open in class DocWriter

close

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

Specified by:
close in interface DocListener
Overrides:
close in class DocWriter

initHeader

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


initFooter

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


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

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

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

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

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 interface DocListener
Overrides:
setHeader in class DocWriter
Parameters:
header - the new header

setFooter

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

Specified by:
setFooter in interface DocListener
Overrides:
setFooter in class DocWriter
Parameters:
footer - the new footer

add

public boolean add(java.lang.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.

write

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

Parameters:
element - the element
indent - the indentation
Throws:
java.io.IOException

writeSection

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

Parameters:
section - the section to write
indent - the indentation
Throws:
java.io.IOException

write

protected void write(Font font,
                     java.util.Properties styleAttributes)
              throws java.io.IOException
Writes the representation of a Font.

Parameters:
font - a Font
styleAttributes - the style of the font
Throws:
java.io.IOException

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 property
value - the value of the CSS property
Throws:
java.io.IOException


iText 2.1.7