Package com.itextpdf.svg.xobject
Class SvgImageXObject
- java.lang.Object
-
- com.itextpdf.kernel.pdf.PdfObjectWrapper<PdfStream>
-
- com.itextpdf.kernel.pdf.xobject.PdfXObject
-
- com.itextpdf.kernel.pdf.xobject.PdfFormXObject
-
- com.itextpdf.svg.xobject.SvgImageXObject
-
public class SvgImageXObject extends PdfFormXObject
A wrapper for Form XObject for SVG images.
-
-
Field Summary
Fields Modifier and Type Field Description private float
em
private boolean
isCreatedByImg
private boolean
isCreatedByObject
private boolean
isGenerated
private boolean
isRelativeSized
private ResourceResolver
resourceResolver
private ISvgProcessorResult
result
private SvgDrawContext
svgDrawContext
-
Fields inherited from class com.itextpdf.kernel.pdf.xobject.PdfFormXObject
resources
-
-
Constructor Summary
Constructors Constructor Description SvgImageXObject(Rectangle bBox, ISvgProcessorResult result, ResourceResolver resourceResolver)
Creates a new instance of Form XObject for the SVG image.SvgImageXObject(ISvgProcessorResult result, SvgDrawContext svgContext, float em, PdfDocument pdfDocument)
Creates a new instance of Form XObject for the relative sized SVG image.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
generate(PdfDocument document)
Processes xObject before first image generation to avoid drawing it twice or more.UnitValue
getElementHeight()
Gets the SVG element height.UnitValue
getElementWidth()
Gets the SVG element width.ResourceResolver
getResourceResolver()
Deprecated.not used anymoreISvgProcessorResult
getResult()
Returns processor result containing the SVG information.boolean
isCreatedByImg()
Check if SVG image is created from HTML img tag contextboolean
isCreatedByObject()
Check if SVG image is created from HTML object tag contextboolean
isRelativeSized()
If the SVG image is relative sized.void
setIsCreatedByImg(boolean isCreatedByImg)
Set if SVG image is created from HTML img tag contextvoid
setIsCreatedByObject(boolean isCreatedByObject)
Set if SVG image is created from HTML object tag contextvoid
updateBBox(float areaWidth, float areaHeight)
Updated XObject BBox for relative sized SVG image.-
Methods inherited from class com.itextpdf.kernel.pdf.xobject.PdfFormXObject
calculateBBoxMultipliedByMatrix, flush, getBBox, getHeight, getMarkStyle, getProcessColorModel, getResources, getSeparationColorNames, getTrapRegions, getTrapStyles, getWidth, put, setBBox, setGroup, setMarkStyle, setProcessColorModel, setSeparationColorNames, setTrapRegions, setTrapStyles
-
Methods inherited from class com.itextpdf.kernel.pdf.xobject.PdfXObject
addAssociatedFile, calculateProportionallyFitRectangleWithHeight, calculateProportionallyFitRectangleWithWidth, getAssociatedFiles, isWrappedObjectMustBeIndirect, makeXObject, setLayer
-
Methods inherited from class com.itextpdf.kernel.pdf.PdfObjectWrapper
ensureObjectIsAddedToDocument, ensureUnderlyingObjectHasIndirectReference, getPdfObject, isFlushed, makeIndirect, makeIndirect, markObjectAsIndirect, setForbidRelease, setModified, setPdfObject, unsetForbidRelease
-
-
-
-
Field Detail
-
result
private final ISvgProcessorResult result
-
resourceResolver
private final ResourceResolver resourceResolver
-
isGenerated
private boolean isGenerated
-
isCreatedByImg
private boolean isCreatedByImg
-
isCreatedByObject
private boolean isCreatedByObject
-
em
private float em
-
svgDrawContext
private SvgDrawContext svgDrawContext
-
isRelativeSized
private boolean isRelativeSized
-
-
Constructor Detail
-
SvgImageXObject
public SvgImageXObject(Rectangle bBox, ISvgProcessorResult result, ResourceResolver resourceResolver)
Creates a new instance of Form XObject for the SVG image.- Parameters:
bBox
- the form XObject’s bounding box.result
- processor result containing the SVG information.resourceResolver
-ResourceResolver
for the SVG image.
-
SvgImageXObject
public SvgImageXObject(ISvgProcessorResult result, SvgDrawContext svgContext, float em, PdfDocument pdfDocument)
Creates a new instance of Form XObject for the relative sized SVG image.- Parameters:
result
- processor result containing the SVG informationsvgContext
- the svg draw contextem
- em value in ptpdfDocument
- pdf that shall contain the SVG image, can be null
-
-
Method Detail
-
setIsCreatedByImg
public void setIsCreatedByImg(boolean isCreatedByImg)
Set if SVG image is created from HTML img tag context- Parameters:
isCreatedByImg
- true if object is created from HTML img tag, false otherwise
-
isCreatedByImg
public boolean isCreatedByImg()
Check if SVG image is created from HTML img tag context- Returns:
- true if object is created from HTML img tag, false otherwise
-
setIsCreatedByObject
public void setIsCreatedByObject(boolean isCreatedByObject)
Set if SVG image is created from HTML object tag context- Parameters:
isCreatedByObject
- true if object is created from HTML object tag, false otherwise
-
isCreatedByObject
public boolean isCreatedByObject()
Check if SVG image is created from HTML object tag context- Returns:
- true if object is created from HTML object tag, false otherwise
-
isRelativeSized
public boolean isRelativeSized()
If the SVG image is relative sized. This information is used during image layouting to resolve it's relative size.- Overrides:
isRelativeSized
in classPdfFormXObject
- Returns:
true
if the SVG image is relative sized,false
otherwise- See Also:
updateBBox(float, float)
,SvgImageXObject(ISvgProcessorResult, SvgDrawContext, float, PdfDocument)
-
getResult
public ISvgProcessorResult getResult()
Returns processor result containing the SVG information.- Returns:
- {ISvgProcessorResult} processor result.
-
getResourceResolver
@Deprecated public ResourceResolver getResourceResolver()
Deprecated.not used anymoreReturns resource resolver for the SVG image.- Returns:
ResourceResolver
instance
-
generate
public void generate(PdfDocument document)
Processes xObject before first image generation to avoid drawing it twice or more. It allows to reuse the same Form XObject multiple times.- Parameters:
document
- pdf that shall contain the SVG image, can be null if constructorSvgImageXObject(ISvgProcessorResult, SvgDrawContext, float, PdfDocument)
was used
-
updateBBox
public void updateBBox(float areaWidth, float areaHeight)
Updated XObject BBox for relative sized SVG image.- Parameters:
areaWidth
- the area width where SVG image will be drawnareaHeight
- the area height where SVG image will be drawn
-
getElementWidth
public UnitValue getElementWidth()
Gets the SVG element width.- Returns:
- the SVG element width
-
getElementHeight
public UnitValue getElementHeight()
Gets the SVG element height.- Returns:
- the SVG element height
-
-