Class DocWriter
- java.lang.Object
-
- com.lowagie.text.DocWriter
-
- All Implemented Interfaces:
DocListener
,ElementListener
,EventListener
- Direct Known Subclasses:
HtmlWriter
,PdfWriter
public abstract class DocWriter extends Object implements DocListener
An abstractWriter
class for documents.DocWriter
is the abstract class of several writers such asPdfWriter
andHtmlWriter
. ADocWriter
can be added as aDocListener
to a certainDocument
by getting an instance (see methodgetInstance()
in the specific writer-classes). EveryElement
added to the originalDocument
will be written to theOutputStream
of the listeningDocWriter
.- See Also:
Document
,DocListener
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
closeStream
Closes the stream on document closeprotected Document
document
This is the document that has to be written.static byte
EQUALS
This is some byte that is often used.static byte
FORWARD
This is some byte that is often used.static byte
GT
This is some byte that is often used.static byte
LT
This is some byte that is often used.static byte
NEWLINE
This is some byte that is often used.protected boolean
open
Is the writer open for writing?protected OutputStreamCounter
os
The outputstream of this writer.protected Rectangle
pageSize
The pageSize.protected boolean
pause
Do we have to pause all writing actions?static byte
QUOTE
This is some byte that is often used.static byte
SPACE
This is some byte that is often used.static byte
TAB
This is some byte that is often used.
-
Constructor Summary
Constructors Modifier Constructor Description protected
DocWriter()
protected
DocWriter(Document document, OutputStream os)
Constructs aDocWriter
.
-
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
.protected void
addTabs(int indent)
Writes a number of tabs.void
close()
Signals that theDocument
was closed and that no otherElements
will be added.void
flush()
Flushes theBufferedOutputStream
.static byte[]
getISOBytes(String text)
Converts aString
into aByte
array according to the ISO-8859-1 codepage.boolean
isCloseStream()
Checks if the stream is to be closed on document closeboolean
isPaused()
Checks if writing is paused.boolean
newPage()
Signals that an new page has to be started.void
open()
Signals that theDocument
was opened.void
pause()
Let the writer know that all writing has to be paused.void
resetFooter()
Resets the footer of this document.void
resetHeader()
Resets the header of this document.void
resetPageCount()
Sets the page number to 0.void
resume()
Let the writer know that writing may be resumed.void
setCloseStream(boolean closeStream)
Sets the close state of the stream after document closevoid
setFooter(HeaderFooter footer)
Changes the footer of this document.void
setHeader(HeaderFooter header)
Changes the header of this document.boolean
setMarginMirroring(boolean MarginMirroring)
Allows you to do left/right margin mirroring (odd/even pages)boolean
setMarginMirroringTopBottom(boolean MarginMirroring)
Parameter that allows you to do top/bottom margin mirroring (odd/even pages)boolean
setMargins(float marginLeft, float marginRight, float marginTop, float marginBottom)
Sets the margins.void
setPageCount(int pageN)
Sets the page number.boolean
setPageSize(Rectangle pageSize)
Sets the pagesize.protected void
write(String string)
Writes aString
to theOutputStream
.protected void
write(String key, String value)
Writes a key-value pair to the outputstream.protected void
writeEnd()
Writes an endtag to the outputstream.protected void
writeEnd(String tag)
Writes an endtag to the outputstream.protected boolean
writeMarkupAttributes(Properties markup)
Writes the markup attributes of the specifiedMarkupAttributes
object to theOutputStream
.protected void
writeStart(String tag)
Writes a starttag to the outputstream.
-
-
-
Field Detail
-
NEWLINE
public static final byte NEWLINE
This is some byte that is often used.- See Also:
- Constant Field Values
-
TAB
public static final byte TAB
This is some byte that is often used.- See Also:
- Constant Field Values
-
LT
public static final byte LT
This is some byte that is often used.- See Also:
- Constant Field Values
-
SPACE
public static final byte SPACE
This is some byte that is often used.- See Also:
- Constant Field Values
-
EQUALS
public static final byte EQUALS
This is some byte that is often used.- See Also:
- Constant Field Values
-
QUOTE
public static final byte QUOTE
This is some byte that is often used.- See Also:
- Constant Field Values
-
GT
public static final byte GT
This is some byte that is often used.- See Also:
- Constant Field Values
-
FORWARD
public static final byte FORWARD
This is some byte that is often used.- See Also:
- Constant Field Values
-
pageSize
protected Rectangle pageSize
The pageSize.
-
document
protected Document document
This is the document that has to be written.
-
os
protected OutputStreamCounter os
The outputstream of this writer.
-
open
protected boolean open
Is the writer open for writing?
-
pause
protected boolean pause
Do we have to pause all writing actions?
-
closeStream
protected boolean closeStream
Closes the stream on document close
-
-
Constructor Detail
-
DocWriter
protected DocWriter()
-
DocWriter
protected DocWriter(Document document, OutputStream os)
Constructs aDocWriter
.- Parameters:
document
- TheDocument
that has to be writtenos
- TheOutputStream
the writer has to write to.
-
-
Method Detail
-
add
public boolean add(Element element) throws DocumentException
Signals that anElement
was added to theDocument
.This method should be overridden in the specific
DocWriter
classes derived from this abstract class.- Specified by:
add
in interfaceElementListener
- Parameters:
element
- A high level object to add- Returns:
false
- Throws:
DocumentException
- when a document isn't open yet, or has been closed
-
open
public void open()
Signals that theDocument
was opened.- Specified by:
open
in interfaceDocListener
-
setPageSize
public boolean setPageSize(Rectangle pageSize)
Sets the pagesize.- Specified by:
setPageSize
in interfaceDocListener
- Parameters:
pageSize
- the new pagesize- Returns:
- a
boolean
-
setMargins
public boolean setMargins(float marginLeft, float marginRight, float marginTop, float marginBottom)
Sets the margins.This does nothing. Has to be overridden if needed.
- Specified by:
setMargins
in interfaceDocListener
- Parameters:
marginLeft
- the margin on the leftmarginRight
- the margin on the rightmarginTop
- the margin on the topmarginBottom
- the margin on the bottom- Returns:
false
-
newPage
public boolean newPage()
Signals that an new page has to be started.This does nothing. Has to be overridden if needed.
- Specified by:
newPage
in interfaceDocListener
- Returns:
true
if the page was added,false
if not.
-
setHeader
public void setHeader(HeaderFooter header)
Changes the header of this document.This method should be overridden in the specific
DocWriter
classes derived from this abstract class if they actually support the use of headers.- Specified by:
setHeader
in interfaceDocListener
- Parameters:
header
- the new header
-
resetHeader
public void resetHeader()
Resets the header of this document.This method should be overridden in the specific
DocWriter
classes derived from this abstract class if they actually support the use of headers.- Specified by:
resetHeader
in interfaceDocListener
-
setFooter
public void setFooter(HeaderFooter footer)
Changes the footer of this document.This method should be overridden in the specific
DocWriter
classes derived from this abstract class if they actually support the use of footers.- Specified by:
setFooter
in interfaceDocListener
- Parameters:
footer
- the new footer
-
resetFooter
public void resetFooter()
Resets the footer of this document.This method should be overridden in the specific
DocWriter
classes derived from this abstract class if they actually support the use of footers.- Specified by:
resetFooter
in interfaceDocListener
-
resetPageCount
public void resetPageCount()
Sets the page number to 0.This method should be overridden in the specific
DocWriter
classes derived from this abstract class if they actually support the use of pagenumbers.- Specified by:
resetPageCount
in interfaceDocListener
-
setPageCount
public void setPageCount(int pageN)
Sets the page number.This method should be overridden in the specific
DocWriter
classes derived from this abstract class if they actually support the use of pagenumbers.- Specified by:
setPageCount
in interfaceDocListener
- Parameters:
pageN
- the new page number
-
close
public void close()
Signals that theDocument
was closed and that no otherElements
will be added.- Specified by:
close
in interfaceDocListener
-
getISOBytes
public static final byte[] getISOBytes(String text)
Converts aString
into aByte
array according to the ISO-8859-1 codepage.- Parameters:
text
- the text to be converted- Returns:
- the conversion result
-
pause
public void pause()
Let the writer know that all writing has to be paused.
-
isPaused
public boolean isPaused()
Checks if writing is paused.- Returns:
true
if writing temporarily has to be paused,false
otherwise.
-
resume
public void resume()
Let the writer know that writing may be resumed.
-
flush
public void flush()
Flushes theBufferedOutputStream
.
-
write
protected void write(String string) throws IOException
Writes aString
to theOutputStream
.- Parameters:
string
- theString
to write- Throws:
IOException
- if there is any error
-
addTabs
protected void addTabs(int indent) throws IOException
Writes a number of tabs.- Parameters:
indent
- the number of tabs to add- Throws:
IOException
- if there is any error
-
write
protected void write(String key, String value) throws IOException
Writes a key-value pair to the outputstream.- Parameters:
key
- the name of an attributevalue
- the value of an attribute- Throws:
IOException
- if there is any error
-
writeStart
protected void writeStart(String tag) throws IOException
Writes a starttag to the outputstream.- Parameters:
tag
- the name of the tag- Throws:
IOException
- if there is any error
-
writeEnd
protected void writeEnd(String tag) throws IOException
Writes an endtag to the outputstream.- Parameters:
tag
- the name of the tag- Throws:
IOException
- if there is any error
-
writeEnd
protected void writeEnd() throws IOException
Writes an endtag to the outputstream.- Throws:
IOException
- if there is any error
-
writeMarkupAttributes
protected boolean writeMarkupAttributes(Properties markup) throws IOException
Writes the markup attributes of the specifiedMarkupAttributes
object to theOutputStream
.- Parameters:
markup
- aProperties
collection to write.- Returns:
- true, if writing the markup attributes succeeded
- Throws:
IOException
- if there is any error
-
isCloseStream
public boolean isCloseStream()
Checks if the stream is to be closed on document close- Returns:
- true if the stream is closed on document close
-
setCloseStream
public void setCloseStream(boolean closeStream)
Sets the close state of the stream after document close- Parameters:
closeStream
- true if the stream is closed on document close
-
setMarginMirroring
public boolean setMarginMirroring(boolean MarginMirroring)
Description copied from interface:DocListener
Allows you to do left/right margin mirroring (odd/even pages)- Specified by:
setMarginMirroring
in interfaceDocListener
- Parameters:
MarginMirroring
- left/right margin mirroring (odd/even pages)- Returns:
- true if successful
- See Also:
DocListener.setMarginMirroring(boolean)
-
setMarginMirroringTopBottom
public boolean setMarginMirroringTopBottom(boolean MarginMirroring)
Description copied from interface:DocListener
Parameter that allows you to do top/bottom margin mirroring (odd/even pages)- Specified by:
setMarginMirroringTopBottom
in interfaceDocListener
- Parameters:
MarginMirroring
- top/bottom margin mirroring (odd/even pages)- Returns:
- true if successful
- Since:
- 2.1.6
- See Also:
DocListener.setMarginMirroring(boolean)
-
-