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 floatemprivate booleanisCreatedByImgprivate booleanisCreatedByObjectprivate booleanisGeneratedprivate booleanisRelativeSizedprivate ResourceResolverresourceResolverprivate ISvgProcessorResultresultprivate SvgDrawContextsvgDrawContext-
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 voidgenerate(PdfDocument document)Processes xObject before first image generation to avoid drawing it twice or more.UnitValuegetElementHeight()Gets the SVG element height.UnitValuegetElementWidth()Gets the SVG element width.ResourceResolvergetResourceResolver()Deprecated.not used anymoreISvgProcessorResultgetResult()Returns processor result containing the SVG information.booleanisCreatedByImg()Check if SVG image is created from HTML img tag contextbooleanisCreatedByObject()Check if SVG image is created from HTML object tag contextbooleanisRelativeSized()If the SVG image is relative sized.voidsetIsCreatedByImg(boolean isCreatedByImg)Set if SVG image is created from HTML img tag contextvoidsetIsCreatedByObject(boolean isCreatedByObject)Set if SVG image is created from HTML object tag contextvoidupdateBBox(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-ResourceResolverfor 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:
isRelativeSizedin classPdfFormXObject- Returns:
trueif the SVG image is relative sized,falseotherwise- 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:
ResourceResolverinstance
-
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
-
-