public class IFSerializer extends AbstractXMLWritingIFDocumentHandler implements IFConstants, IFPainter, IFDocumentNavigationHandler
handler, tFactory
EL_BORDER_RECT, EL_CLIP_RECT, EL_DOCUMENT, EL_FONT, EL_GROUP, EL_HEADER, EL_IMAGE, EL_LINE, EL_PAGE, EL_PAGE_CONTENT, EL_PAGE_HEADER, EL_PAGE_SEQUENCE, EL_PAGE_TRAILER, EL_RECT, EL_STRUCTURE_TREE, EL_TEXT, EL_TRAILER, EL_VIEWPORT, MIME_TYPE, NAMESPACE
CDATA, XLINK_HREF, XLINK_NAMESPACE, XLINK_PREFIX, XML_NAMESPACE, XML_PREFIX, XML_SPACE, XMLNS_NAMESPACE_URI, XMLNS_PREFIX
Constructor and Description |
---|
IFSerializer()
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
addResolvedAction(AbstractAction action) |
void |
clipRect(java.awt.Rectangle rect)
Restricts the current clipping region with the given rectangle.
|
protected RenderingContext |
createRenderingContext() |
void |
drawBorderRect(java.awt.Rectangle rect,
BorderProps before,
BorderProps after,
BorderProps start,
BorderProps end)
Draws a border rectangle.
|
void |
drawImage(org.w3c.dom.Document doc,
java.awt.Rectangle rect)
Draws an image (represented by a DOM document) inside a given rectangle.
|
void |
drawImage(java.lang.String uri,
java.awt.Rectangle rect)
Draws an image identified by a URI inside a given rectangle.
|
void |
drawLine(java.awt.Point start,
java.awt.Point end,
int width,
java.awt.Color color,
RuleStyle style)
Draws a line.
|
void |
drawText(int x,
int y,
int letterSpacing,
int wordSpacing,
int[] dx,
java.lang.String text)
Draws text.
|
void |
endDocument()
Indicates the end of a document.
|
void |
endDocumentHeader()
Indicates the end of the document header.
|
void |
endDocumentTrailer()
Indicates the end of the document trailer.
|
void |
endGroup()
Ends the current group and restores the previous coordinate system.
|
void |
endPage()
Indicates the end of a page
|
void |
endPageContent()
Indicates the end of the page content.
|
void |
endPageHeader()
Indicates the end of the page header.
|
void |
endPageSequence()
Indicates the end of a page sequence.
|
void |
endPageTrailer()
Indicates the end of the page trailer.
|
void |
endViewport()
Ends the current viewport and restores the previous coordinate system.
|
void |
fillRect(java.awt.Rectangle rect,
java.awt.Paint fill)
Fills a rectangular area.
|
IFDocumentHandlerConfigurator |
getConfigurator()
Returns the configurator for this document handler, if any.
|
IFDocumentNavigationHandler |
getDocumentNavigationHandler()
Returns a document navigation handler if this feature is supported.
|
FontInfo |
getFontInfo()
Returns the font set to work with.
|
protected java.lang.String |
getMainNamespace()
Returns the main namespace used for generated XML content.
|
java.lang.String |
getMimeType()
Returns the MIME type of the output format that is generated by this implementation.
|
IFDocumentHandler |
getMimickedDocumentHandler()
Returns the document handler that is being mimicked by this serializer.
|
void |
handleExtensionObject(java.lang.Object extension)
Handles an extension object.
|
void |
mimicDocumentHandler(IFDocumentHandler targetHandler)
Tells this serializer to mimic the given document handler (mostly applies to the font set
that is used during layout).
|
void |
renderBookmarkTree(BookmarkTree tree)
Render the bookmark tree.
|
void |
renderLink(Link link) |
void |
renderNamedDestination(NamedDestination destination)
Renders a named destination.
|
void |
setDefaultFontInfo(FontInfo fontInfo)
Sets the default font set (with no custom configuration).
|
void |
setFont(java.lang.String family,
java.lang.String style,
java.lang.Integer weight,
java.lang.String variant,
java.lang.Integer size,
java.awt.Color color)
Updates the current font.
|
void |
setFontInfo(FontInfo fontInfo)
Sets the font set to work with.
|
void |
startDocument()
Indicates the start of a document.
|
void |
startDocumentHeader()
Indicates the start of the document header.
|
void |
startDocumentTrailer()
Indicates the start of the document trailer.
|
void |
startGroup(java.awt.geom.AffineTransform transform)
Starts a new group of graphical elements.
|
void |
startGroup(java.awt.geom.AffineTransform[] transforms)
Starts a new group of graphical elements.
|
void |
startPage(int index,
java.lang.String name,
java.lang.String pageMasterName,
java.awt.Dimension size)
Indicates the start of a new page.
|
IFPainter |
startPageContent()
Indicates the start of the page content.
|
void |
startPageHeader()
Indicates the start of the page header.
|
void |
startPageSequence(java.lang.String id)
Indicates the start of a new page sequence.
|
void |
startPageTrailer()
Indicates the start of the page trailer.
|
void |
startViewport(java.awt.geom.AffineTransform[] transforms,
java.awt.Dimension size,
java.awt.Rectangle clipRect)
Starts a new viewport, establishing a new coordinate system.
|
void |
startViewport(java.awt.geom.AffineTransform transform,
java.awt.Dimension size,
java.awt.Rectangle clipRect)
Starts a new viewport, establishing a new coordinate system.
|
boolean |
supportsPagesOutOfOrder()
Indicates whether the painter supports to handle the pages in mixed order rather than
ascending order.
|
createContentHandler, setResult
getContext, getUserAgent, setContext
protected java.lang.String getMainNamespace()
getMainNamespace
in class AbstractXMLWritingIFDocumentHandler
public boolean supportsPagesOutOfOrder()
supportsPagesOutOfOrder
in interface IFDocumentHandler
public java.lang.String getMimeType()
getMimeType
in interface IFDocumentHandler
public IFDocumentHandlerConfigurator getConfigurator()
getConfigurator
in interface IFDocumentHandler
public IFDocumentNavigationHandler getDocumentNavigationHandler()
getDocumentNavigationHandler
in interface IFDocumentHandler
getDocumentNavigationHandler
in class AbstractIFDocumentHandler
public void mimicDocumentHandler(IFDocumentHandler targetHandler)
targetHandler
- the document handler to mimicpublic IFDocumentHandler getMimickedDocumentHandler()
public FontInfo getFontInfo()
getFontInfo
in interface IFDocumentHandler
public void setFontInfo(FontInfo fontInfo)
setFontInfo
in interface IFDocumentHandler
fontInfo
- the font info objectpublic void setDefaultFontInfo(FontInfo fontInfo)
setDefaultFontInfo
in interface IFDocumentHandler
fontInfo
- the font info object to populatepublic void startDocument() throws IFException
startDocument
in interface IFDocumentHandler
startDocument
in class AbstractIFDocumentHandler
IFException
- if an error occurs while handling this eventpublic void startDocumentHeader() throws IFException
IFDocumentHandler.startDocument()
method. Extensions sent to this painter between
IFDocumentHandler.startDocumentHeader()
and IFDocumentHandler.endDocumentHeader()
apply to the document as
a whole (like document metadata).startDocumentHeader
in interface IFDocumentHandler
startDocumentHeader
in class AbstractIFDocumentHandler
IFException
- if an error occurs while handling this eventpublic void endDocumentHeader() throws IFException
endDocumentHeader
in interface IFDocumentHandler
endDocumentHeader
in class AbstractIFDocumentHandler
IFException
- if an error occurs while handling this eventpublic void startDocumentTrailer() throws IFException
IFDocumentHandler.startDocumentTrailer()
and IFDocumentHandler.endDocumentTrailer()
apply to the document as
a whole and is used for document-level content that is only known after all pages have
been rendered (like named destinations or the bookmark tree).startDocumentTrailer
in interface IFDocumentHandler
startDocumentTrailer
in class AbstractIFDocumentHandler
IFException
- if an error occurs while handling this eventpublic void endDocumentTrailer() throws IFException
IFDocumentHandler.endDocument()
method.endDocumentTrailer
in interface IFDocumentHandler
endDocumentTrailer
in class AbstractIFDocumentHandler
IFException
- if an error occurs while handling this eventpublic void endDocument() throws IFException
endDocument
in interface IFDocumentHandler
IFException
- if an error occurs while handling this eventpublic void startPageSequence(java.lang.String id) throws IFException
startPageSequence
in interface IFDocumentHandler
id
- the page sequence's identifier (or null if none is available)IFException
- if an error occurs while handling this eventpublic void endPageSequence() throws IFException
endPageSequence
in interface IFDocumentHandler
IFException
- if an error occurs while handling this eventpublic void startPage(int index, java.lang.String name, java.lang.String pageMasterName, java.awt.Dimension size) throws IFException
startPage
in interface IFDocumentHandler
index
- the index of the page (0-based)name
- the page name (usually the formatted page number)pageMasterName
- the name of the simple-page-master that generated this pagesize
- the size of the page (equivalent to the MediaBox in PDF)IFException
- if an error occurs while handling this eventpublic void startPageHeader() throws IFException
startPageHeader
in interface IFDocumentHandler
startPageHeader
in class AbstractIFDocumentHandler
IFException
- if an error occurs while handling this eventpublic void endPageHeader() throws IFException
endPageHeader
in interface IFDocumentHandler
endPageHeader
in class AbstractIFDocumentHandler
IFException
- if an error occurs while handling this eventpublic IFPainter startPageContent() throws IFException
IFPainter
interface
which is used to paint the page contents.startPageContent
in interface IFDocumentHandler
IFException
- if an error occurs while handling this eventpublic void endPageContent() throws IFException
IFPainter
returned by the
respective IFDocumentHandler.startPageContent()
method are illegal.endPageContent
in interface IFDocumentHandler
IFException
- if an error occurs while handling this eventpublic void startPageTrailer() throws IFException
startPageTrailer
in interface IFDocumentHandler
startPageTrailer
in class AbstractIFDocumentHandler
IFException
- if an error occurs while handling this eventpublic void endPageTrailer() throws IFException
endPageTrailer
in interface IFDocumentHandler
endPageTrailer
in class AbstractIFDocumentHandler
IFException
- if an error occurs while handling this eventpublic void endPage() throws IFException
endPage
in interface IFDocumentHandler
IFException
- if an error occurs while handling this eventpublic void startViewport(java.awt.geom.AffineTransform transform, java.awt.Dimension size, java.awt.Rectangle clipRect) throws IFException
startViewport
in interface IFPainter
transform
- the transformation matrix establishing the new coordinate systemsize
- the size of the viewportclipRect
- the clipping rectangle (may be null)IFException
- if an error occurs while handling this elementpublic void startViewport(java.awt.geom.AffineTransform[] transforms, java.awt.Dimension size, java.awt.Rectangle clipRect) throws IFException
startViewport
in interface IFPainter
transforms
- a series of transformation matrices establishing the new coordinate systemsize
- the size of the viewportclipRect
- the clipping rectangle (may be null)IFException
- if an error occurs while handling this elementpublic void endViewport() throws IFException
endViewport
in interface IFPainter
IFException
- if an error occurs while handling this elementpublic void startGroup(java.awt.geom.AffineTransform[] transforms) throws IFException
startGroup
in interface IFPainter
transforms
- a series of transformation matrices establishing the new coordinate systemIFException
- if an error occurs while handling this elementpublic void startGroup(java.awt.geom.AffineTransform transform) throws IFException
startGroup
in interface IFPainter
transform
- the transformation matrix establishing the new coordinate systemIFException
- if an error occurs while handling this elementpublic void endGroup() throws IFException
endGroup
in interface IFPainter
IFException
- if an error occurs while handling this elementpublic void drawImage(java.lang.String uri, java.awt.Rectangle rect) throws IFException
drawImage
in interface IFPainter
uri
- the image's URIrect
- the rectangle in which the image shall be paintedIFException
- if an error occurs while handling this eventpublic void drawImage(org.w3c.dom.Document doc, java.awt.Rectangle rect) throws IFException
drawImage
in interface IFPainter
doc
- the DOM document containing the foreign objectrect
- the rectangle in which the image shall be paintedIFException
- if an error occurs while handling this eventpublic void clipRect(java.awt.Rectangle rect) throws IFException
clipRect
in interface IFPainter
rect
- the rectangle's coordinates and extentIFException
- if an error occurs while handling this eventpublic void fillRect(java.awt.Rectangle rect, java.awt.Paint fill) throws IFException
fillRect
in interface IFPainter
rect
- the rectangle's coordinates and extentfill
- the fill paintIFException
- if an error occurs while handling this eventpublic void drawBorderRect(java.awt.Rectangle rect, BorderProps before, BorderProps after, BorderProps start, BorderProps end) throws IFException
BorderProps
instances.drawBorderRect
in interface IFPainter
rect
- the rectangle's coordinates and extentbefore
- the border segment on the before-side (top)after
- the border segment on the after-side (bottom)start
- the border segment on the start-side (left)end
- the border segment on the end-side (right)IFException
- if an error occurs while handling this eventpublic void drawLine(java.awt.Point start, java.awt.Point end, int width, java.awt.Color color, RuleStyle style) throws IFException
drawLine
in interface IFPainter
start
- the start point of the lineend
- the end point of the linewidth
- the line widthcolor
- the line colorstyle
- the line style (using the Constants.EN_* constants for the rule-style property)IFException
- if an error occurs while handling this eventpublic void drawText(int x, int y, int letterSpacing, int wordSpacing, int[] dx, java.lang.String text) throws IFException
drawText
in interface IFPainter
x
- X-coordinate of the starting point of the texty
- Y-coordinate of the starting point of the textletterSpacing
- additional spacing between characters (may be 0)wordSpacing
- additional spacing between words (may be 0)dx
- an array of adjustment values for each character in X-direction (may be null)text
- the textIFException
- if an error occurs while handling this eventpublic void setFont(java.lang.String family, java.lang.String style, java.lang.Integer weight, java.lang.String variant, java.lang.Integer size, java.awt.Color color) throws IFException
setFont
in interface IFPainter
family
- the font family (or null if there's no change)style
- the font style (or null if there's no change)weight
- the font weight (or null if there's no change)variant
- the font variant (or null if there's no change)size
- the font size (or null if there's no change)color
- the text color (or null if there's no change)IFException
- if an error occurs while handling this eventpublic void handleExtensionObject(java.lang.Object extension) throws IFException
handleExtensionObject
in interface IFDocumentHandler
extension
- the extension objectIFException
- if an error occurs while handling this eventprotected RenderingContext createRenderingContext()
public void renderNamedDestination(NamedDestination destination) throws IFException
renderNamedDestination
in interface IFDocumentNavigationHandler
destination
- the named destinationIFException
- if an error occurs while handling this eventpublic void renderBookmarkTree(BookmarkTree tree) throws IFException
renderBookmarkTree
in interface IFDocumentNavigationHandler
tree
- the bookmark treeIFException
- if an error occurs while handling this eventpublic void renderLink(Link link) throws IFException
renderLink
in interface IFDocumentNavigationHandler
IFException
public void addResolvedAction(AbstractAction action) throws IFException
addResolvedAction
in interface IFDocumentNavigationHandler
IFException
Copyright 1999-2010 The Apache Software Foundation. All Rights Reserved.