public class SvgDrawContext extends Object
PdfCanvas instances, which
represent all levels of XObjects that are added to the root canvas.| Constructor and Description |
|---|
SvgDrawContext(ResourceResolver resourceResolver,
FontProvider fontProvider)
Create an instance of the context that is used to store information when converting SVG.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addNamedObject(String name,
ISvgNodeRenderer namedObject)
Adds a named object to the draw context.
|
void |
addNamedObjects(Map<String,ISvgNodeRenderer> namedObjects)
* Adds a number of named object to the draw context.
|
void |
addTextMove(float additionalMoveX,
float additionalMoveY)
Increment the stored text move.
|
void |
addUsedId(String elementId)
Adds an ID that has been referenced by a use element.
|
void |
addViewPort(com.itextpdf.kernel.geom.Rectangle viewPort)
Adds a viewbox to the context.
|
com.itextpdf.kernel.geom.AffineTransform |
getClippingElementTransform()
Gets clipping element transformation matrix.
|
com.itextpdf.kernel.geom.AffineTransform |
getConcatenatedTransform()
Concatenates all transformations applied from the top level of the svg to the current one.
|
SvgCssContext |
getCssContext()
Gets the SVG CSS context.
|
com.itextpdf.kernel.pdf.canvas.PdfCanvas |
getCurrentCanvas()
Retrieves the current top of the stack, without modifying the stack.
|
com.itextpdf.kernel.geom.AffineTransform |
getCurrentCanvasTransform()
Get the current canvas transformation.
|
com.itextpdf.kernel.geom.Rectangle |
getCurrentViewPort()
Get the current viewbox.
|
com.itextpdf.kernel.geom.Rectangle |
getCustomViewport()
Gets the custom viewport of SVG.
|
FontProvider |
getFontProvider()
Gets the FontProvider to be used during the drawing operations.
|
com.itextpdf.kernel.geom.AffineTransform |
getLastTextTransform()
Deprecated.
in favour of
getRootTransform() |
ISvgNodeRenderer |
getNamedObject(String name)
Get a named object based on its name.
|
float[] |
getPreviousElementTextMove()
Deprecated.
was replaced by
getSvgTextProperties() |
float[] |
getRelativePosition()
Retrieves relative position for the current text SVG element relative to the last origin
identified by absolute position.
|
ResourceResolver |
getResourceResolver()
Gets the ResourceResolver to be used during the drawing operations.
|
com.itextpdf.kernel.geom.AffineTransform |
getRootTransform()
Get the current root transformation that was last applied.
|
com.itextpdf.kernel.geom.Rectangle |
getRootViewPort()
Get the viewbox which is the root viewport for the current document.
|
SvgTextProperties |
getSvgTextProperties()
Retrieves
SvgTextProperties for text SVG elements. |
FontSet |
getTempFonts()
Gets list of temporary fonts from @font-face.
|
float[] |
getTextMove()
Get the stored current text move.
|
boolean |
isIdUsedByUseTagBefore(String elementId)
Returns true when this id has been used before
|
void |
moveRelativePosition(float dx,
float dy)
Adds move to the current relative position for the text SVG element.
|
com.itextpdf.kernel.pdf.canvas.PdfCanvas |
popCanvas()
Retrieves the current top of the stack, thereby taking the current item
off the stack.
|
void |
popPatternId()
Pops the last template id from the stack.
|
void |
pushCanvas(com.itextpdf.kernel.pdf.canvas.PdfCanvas canvas)
Adds a
PdfCanvas to the stack (by definition its top), for use in
drawing operations. |
boolean |
pushPatternId(String patternId)
Add pattern id to stack.
|
void |
removeCurrentViewPort()
Remove the currently set view box.
|
void |
removeUsedId(String elementId)
Removes an ID that has been referenced by a use element.
|
void |
resetClippingElementTransform()
Resets clipping element transformation matrix.
|
void |
resetRelativePosition()
Resets current relative position for the text SVG element.
|
void |
resetTextMove()
Reset the stored text move to [0f,0f]
|
void |
setCssContext(SvgCssContext cssContext)
Sets the SVG CSS context.
|
void |
setCustomViewport(com.itextpdf.kernel.geom.Rectangle customViewport)
Sets the custom viewport of SVG.
|
void |
setLastTextTransform(com.itextpdf.kernel.geom.AffineTransform newTransform)
Deprecated.
in favour of
setRootTransform(AffineTransform) |
void |
setPreviousElementTextMove(float[] previousElementTextMove)
Deprecated.
was replaced by
setSvgTextProperties(SvgTextProperties) |
void |
setRootTransform(com.itextpdf.kernel.geom.AffineTransform newTransform)
Set the current root transformation.
|
void |
setSvgTextProperties(SvgTextProperties textProperties)
Sets
SvgTextProperties for textSVG elements. |
void |
setTempFonts(FontSet tempFonts)
Sets the FontSet.
|
int |
size()
Get the current size of the stack, signifying the nesting level of the
XObjects.
|
public SvgDrawContext(ResourceResolver resourceResolver, FontProvider fontProvider)
resourceResolver - instance of ResourceResolverfontProvider - instance of FontProviderpublic com.itextpdf.kernel.geom.Rectangle getCustomViewport()
The custom viewport is used to resolve percent values of the top level svg.
public void setCustomViewport(com.itextpdf.kernel.geom.Rectangle customViewport)
The custom viewport is used to resolve percent values of the top level svg.
customViewport - the custom viewportpublic com.itextpdf.kernel.pdf.canvas.PdfCanvas getCurrentCanvas()
public com.itextpdf.kernel.pdf.canvas.PdfCanvas popCanvas()
public void pushCanvas(com.itextpdf.kernel.pdf.canvas.PdfCanvas canvas)
PdfCanvas to the stack (by definition its top), for use in
drawing operations.canvas - the new top of the stackpublic int size()
public void addViewPort(com.itextpdf.kernel.geom.Rectangle viewPort)
viewPort - rectangle representing the current viewboxpublic com.itextpdf.kernel.geom.Rectangle getCurrentViewPort()
public com.itextpdf.kernel.geom.Rectangle getRootViewPort()
public void removeCurrentViewPort()
public void addNamedObject(String name, ISvgNodeRenderer namedObject)
name - name of the objectnamedObject - object to be referencedpublic ISvgNodeRenderer getNamedObject(String name)
name - name of the object you want to referencepublic ResourceResolver getResourceResolver()
public void addNamedObjects(Map<String,ISvgNodeRenderer> namedObjects)
namedObjects - Map containing the named objects keyed to their ID stringspublic FontProvider getFontProvider()
public FontSet getTempFonts()
public void setTempFonts(FontSet tempFonts)
tempFonts - font set to be used during drawing operationspublic boolean isIdUsedByUseTagBefore(String elementId)
elementId - element id to checkpublic void addUsedId(String elementId)
elementId - referenced element IDpublic void removeUsedId(String elementId)
elementId - referenced element ID@Deprecated public com.itextpdf.kernel.geom.AffineTransform getLastTextTransform()
getRootTransform()AffineTransform representing the last text transformation@Deprecated public void setLastTextTransform(com.itextpdf.kernel.geom.AffineTransform newTransform)
setRootTransform(AffineTransform)newTransform - last text transformationpublic com.itextpdf.kernel.geom.AffineTransform getRootTransform()
AffineTransform representing the root transformation.public void setRootTransform(com.itextpdf.kernel.geom.AffineTransform newTransform)
newTransform - root transformation.public float[] getTextMove()
public void resetTextMove()
public void addTextMove(float additionalMoveX,
float additionalMoveY)
additionalMoveX - horizontal value to addadditionalMoveY - vertical value to addpublic com.itextpdf.kernel.geom.AffineTransform getCurrentCanvasTransform()
AffineTransform representing the current canvas transformationpublic SvgCssContext getCssContext()
public void setCssContext(SvgCssContext cssContext)
cssContext - the SVG CSS contextpublic boolean pushPatternId(String patternId)
false and not add, if it is not - add and return true.patternId - pattern idtrue if pattern id was not on the stack and was pushed; false if it is on the stackpublic void popPatternId()
@Deprecated public void setPreviousElementTextMove(float[] previousElementTextMove)
setSvgTextProperties(SvgTextProperties)previousElementTextMove - previous element text move@Deprecated public float[] getPreviousElementTextMove()
getSvgTextProperties()public SvgTextProperties getSvgTextProperties()
SvgTextProperties for text SVG elements.SvgTextProperties text propertiespublic void setSvgTextProperties(SvgTextProperties textProperties)
SvgTextProperties for textSVG elements.textProperties - SvgTextProperties to setpublic float[] getRelativePosition()
public void moveRelativePosition(float dx,
float dy)
dx - x-axis movementdy - y-axis movementpublic void resetRelativePosition()
public com.itextpdf.kernel.geom.AffineTransform getClippingElementTransform()
It is used to preserve clipping element transformation matrix and before drawing clipped element revert canvas transformation matrix into original state. After clipped element will be drawn, clipping element transformation matrix will be used once again to return clipping element matrix for next siblings.
public void resetClippingElementTransform()
See getClippingElementTransform() for more info about clipping element transformation matrix.
public com.itextpdf.kernel.geom.AffineTransform getConcatenatedTransform()
AffineTransform instanceCopyright © 1998–2025 Apryse Group NV. All rights reserved.