public class HtmlWriter extends DocWriter
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();
| Modifier and Type | Field and Description |
|---|---|
static byte[] |
BEGINCOMMENT
This is a possible HTML-tag.
|
protected 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 footer
|
protected HeaderFooter |
header
This is the textual part of a header
|
protected String |
imagepath
This is a path for images.
|
protected Properties |
markup
Store the markup properties of a MarkedObject.
|
static 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.
|
| Modifier | Constructor and Description |
|---|---|
protected |
HtmlWriter(Document doc,
OutputStream os)
Constructs a
HtmlWriter. |
| Modifier and Type | Method and Description |
|---|---|
boolean |
add(Element element)
Signals that an
Element was added to the Document. |
boolean |
add(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,
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(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,
Properties styleAttributes)
Writes the representation of a
Font. |
protected void |
writeComment(String comment)
Writes some comment.
|
protected void |
writeCssProperty(String prop,
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.
|
addTabs, flush, getISOBytes, isCloseStream, isPaused, pause, resetFooter, resetHeader, resetPageCount, resume, setCloseStream, setMarginMirroring, setMarginMirroringTopBottom, setMargins, setPageCount, setPageSize, write, write, writeEnd, writeEnd, writeMarkupAttributes, writeStartpublic static final byte[] BEGINCOMMENT
public static final byte[] ENDCOMMENT
public static final String NBSP
protected Font standardfont
protected String imagepath
protected int pageN
protected HeaderFooter header
protected HeaderFooter footer
protected Properties markup
protected HtmlWriter(Document doc, OutputStream os)
HtmlWriter.doc - The Document that has to be written as HTMLos - The OutputStream the writer has to write to.public static HtmlWriter getInstance(Document document, OutputStream os)
HtmlWriter.document - The Document that has to be writtenos - The OutputStream the writer has to write to.HtmlWriterpublic boolean newPage()
newPage in interface DocListenernewPage in class DocWritertrue if this action succeeded, false if not.public boolean add(Element element) throws DocumentException
Element was added to the Document.add in interface ElementListeneradd in class DocWriterelement - a high level object that has to be translated to HTMLtrue if the element was added, false if not.DocumentException - when a document isn't open yet, or has been closedpublic void open()
Document has been opened and that
Elements can be added.
The HEAD-section of the HTML-document is written.
open in interface DocListeneropen in class DocWriterpublic void close()
Document was closed and that no other
Elements will be added.close in interface DocListenerclose in class DocWriterprotected void initHeader()
protected void initFooter()
protected void writeHeader(Meta meta) throws IOException
meta - the element that has to be writtenIOExceptionprotected void writeLink(Header header) throws IOException
header - the element that has to be writtenIOExceptionprotected void writeJavaScript(Header header) throws IOException
header - the element that has to be writtenIOExceptionprotected void writeComment(String comment) throws IOException
This method writes some comment.
comment - the comment that has to be writtenIOExceptionpublic void setStandardFont(Font standardfont)
standardfont - The fontpublic boolean isOtherFont(@Nullable Font font)
font - the font of an objectpublic void setImagepath(String imagepath)
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.
imagepath - the new imagepathpublic void resetImagepath()
public void setHeader(HeaderFooter header)
setHeader in interface DocListenersetHeader in class DocWriterheader - the new headerpublic void setFooter(HeaderFooter footer)
setFooter in interface DocListenersetFooter in class DocWriterfooter - the new footerpublic boolean add(String string)
String was added to the Document.string - a String to add to the HTMLtrue if the string was added, false if not.protected void write(Element element, int indent) throws IOException
element - the elementindent - the indentationIOExceptionprotected void writeSection(Section section, int indent) throws IOException
section - the section to writeindent - the indentationIOExceptionprotected void write(@Nullable Font font, @Nullable Properties styleAttributes) throws IOException
Font.font - a FontstyleAttributes - the style of the fontIOExceptionprotected void writeCssProperty(String prop, String value) throws IOException
prop - a CSS propertyvalue - the value of the CSS propertyIOExceptionCopyright © 2019. All rights reserved.