OfficeMathRenderer

Inheritance: java.lang.Object, com.aspose.words.NodeRendererBase

public class OfficeMathRenderer extends NodeRendererBase

Provides methods to render an individual OfficeMath to a raster or vector image or to a Graphics object.

To learn more, visit the Working with OfficeMath documentation article.

Examples:

Shows how to measure and scale shapes.


 Document doc = new Document(getMyDir() + "Office math.docx");

 OfficeMath officeMath = (OfficeMath) doc.getChild(NodeType.OFFICE_MATH, 0, true);
 OfficeMathRenderer renderer = new OfficeMathRenderer(officeMath);

 Assert.assertEquals(119.0f, renderer.getBoundsInPoints().getWidth(), 0.2f);
 Assert.assertEquals(13.0f, renderer.getBoundsInPoints().getHeight(), 0.1f);

 // Shapes with transparent parts may contain different values in the "OpaqueBoundsInPoints" properties.
 Assert.assertEquals(119.0f, renderer.getOpaqueBoundsInPoints().getWidth(), 0.2f);
 Assert.assertEquals(14.2f, renderer.getOpaqueBoundsInPoints().getHeight(), 0.1f);

 // Get the shape size in pixels, with linear scaling to a specific DPI.
 Rectangle bounds = renderer.getBoundsInPixels(1.0f, 96.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(18.0, bounds.getHeight());

 // Get the shape size in pixels, but with a different DPI for the horizontal and vertical dimensions.
 bounds = renderer.getBoundsInPixels(1.0f, 96.0f, 150.0f);
 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(28.0, bounds.getHeight());

 // The opaque bounds may vary here also.
 bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(18.0, bounds.getHeight());

 bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f, 150.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(30.0, bounds.getHeight());
 

Constructors

ConstructorDescription
OfficeMathRenderer(OfficeMath math)Initializes a new instance of this class.

Methods

MethodDescription
getBoundsInPixels(float scale, float dpi)Calculates the bounds of the shape in pixels for a specified zoom factor and resolution.
getBoundsInPixels(float scale, float horizontalDpi, float verticalDpi)Calculates the bounds of the shape in pixels for a specified zoom factor and resolution.
getBoundsInPoints()Gets the actual bounds of the shape in points.
getOpaqueBoundsInPixels(float scale, float dpi)Calculates the opaque bounds of the shape in pixels for a specified zoom factor and resolution.
getOpaqueBoundsInPixels(float scale, float horizontalDpi, float verticalDpi)Calculates the opaque bounds of the shape in pixels for a specified zoom factor and resolution.
getOpaqueBoundsInPoints()Gets the opaque bounds of the shape in points.
getSizeInPixels(float scale, float dpi)Calculates the size of the shape in pixels for a specified zoom factor and resolution.
getSizeInPixels(float scale, float horizontalDpi, float verticalDpi)Calculates the size of the shape in pixels for a specified zoom factor and resolution.
getSizeInPoints()Gets the actual size of the shape in points.
renderToScale(Graphics2D graphics, float x, float y, float scale)Renders the shape into a java.awt.Graphics2D object to a specified scale.
renderToSize(Graphics2D graphics, float x, float y, float width, float height)Renders the shape into a java.awt.Graphics2D object to a specified size.
save(OutputStream stream, ImageSaveOptions saveOptions)
save(OutputStream stream, SvgSaveOptions saveOptions)
save(String fileName, ImageSaveOptions saveOptions)Renders the shape and saves into an image.
save(String fileName, SvgSaveOptions saveOptions)Renders the shape and saves into an SVG image.

OfficeMathRenderer(OfficeMath math)

public OfficeMathRenderer(OfficeMath math)

Initializes a new instance of this class.

Examples:

Shows how to measure and scale shapes.


 Document doc = new Document(getMyDir() + "Office math.docx");

 OfficeMath officeMath = (OfficeMath) doc.getChild(NodeType.OFFICE_MATH, 0, true);
 OfficeMathRenderer renderer = new OfficeMathRenderer(officeMath);

 Assert.assertEquals(119.0f, renderer.getBoundsInPoints().getWidth(), 0.2f);
 Assert.assertEquals(13.0f, renderer.getBoundsInPoints().getHeight(), 0.1f);

 // Shapes with transparent parts may contain different values in the "OpaqueBoundsInPoints" properties.
 Assert.assertEquals(119.0f, renderer.getOpaqueBoundsInPoints().getWidth(), 0.2f);
 Assert.assertEquals(14.2f, renderer.getOpaqueBoundsInPoints().getHeight(), 0.1f);

 // Get the shape size in pixels, with linear scaling to a specific DPI.
 Rectangle bounds = renderer.getBoundsInPixels(1.0f, 96.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(18.0, bounds.getHeight());

 // Get the shape size in pixels, but with a different DPI for the horizontal and vertical dimensions.
 bounds = renderer.getBoundsInPixels(1.0f, 96.0f, 150.0f);
 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(28.0, bounds.getHeight());

 // The opaque bounds may vary here also.
 bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(18.0, bounds.getHeight());

 bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f, 150.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(30.0, bounds.getHeight());
 

Parameters:

ParameterTypeDescription
mathOfficeMathThe OfficeMath object that you want to render.

getBoundsInPixels(float scale, float dpi)

public Rectangle getBoundsInPixels(float scale, float dpi)

Calculates the bounds of the shape in pixels for a specified zoom factor and resolution.

Remarks:

This method converts getBoundsInPoints() into rectangle in pixels.

Examples:

Shows how to measure and scale shapes.


 Document doc = new Document(getMyDir() + "Office math.docx");

 OfficeMath officeMath = (OfficeMath) doc.getChild(NodeType.OFFICE_MATH, 0, true);
 OfficeMathRenderer renderer = new OfficeMathRenderer(officeMath);

 Assert.assertEquals(119.0f, renderer.getBoundsInPoints().getWidth(), 0.2f);
 Assert.assertEquals(13.0f, renderer.getBoundsInPoints().getHeight(), 0.1f);

 // Shapes with transparent parts may contain different values in the "OpaqueBoundsInPoints" properties.
 Assert.assertEquals(119.0f, renderer.getOpaqueBoundsInPoints().getWidth(), 0.2f);
 Assert.assertEquals(14.2f, renderer.getOpaqueBoundsInPoints().getHeight(), 0.1f);

 // Get the shape size in pixels, with linear scaling to a specific DPI.
 Rectangle bounds = renderer.getBoundsInPixels(1.0f, 96.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(18.0, bounds.getHeight());

 // Get the shape size in pixels, but with a different DPI for the horizontal and vertical dimensions.
 bounds = renderer.getBoundsInPixels(1.0f, 96.0f, 150.0f);
 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(28.0, bounds.getHeight());

 // The opaque bounds may vary here also.
 bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(18.0, bounds.getHeight());

 bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f, 150.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(30.0, bounds.getHeight());
 

Parameters:

ParameterTypeDescription
scalefloatThe zoom factor (1.0 is 100%).
dpifloatThe resolution (horizontal and vertical) to convert from points to pixels (dots per inch).

Returns: java.awt.Rectangle - The actual (as rendered on the page) bounding box of the shape in pixels.

getBoundsInPixels(float scale, float horizontalDpi, float verticalDpi)

public Rectangle getBoundsInPixels(float scale, float horizontalDpi, float verticalDpi)

Calculates the bounds of the shape in pixels for a specified zoom factor and resolution.

Remarks:

This method converts getBoundsInPoints() into rectangle in pixels.

Examples:

Shows how to measure and scale shapes.


 Document doc = new Document(getMyDir() + "Office math.docx");

 OfficeMath officeMath = (OfficeMath) doc.getChild(NodeType.OFFICE_MATH, 0, true);
 OfficeMathRenderer renderer = new OfficeMathRenderer(officeMath);

 Assert.assertEquals(119.0f, renderer.getBoundsInPoints().getWidth(), 0.2f);
 Assert.assertEquals(13.0f, renderer.getBoundsInPoints().getHeight(), 0.1f);

 // Shapes with transparent parts may contain different values in the "OpaqueBoundsInPoints" properties.
 Assert.assertEquals(119.0f, renderer.getOpaqueBoundsInPoints().getWidth(), 0.2f);
 Assert.assertEquals(14.2f, renderer.getOpaqueBoundsInPoints().getHeight(), 0.1f);

 // Get the shape size in pixels, with linear scaling to a specific DPI.
 Rectangle bounds = renderer.getBoundsInPixels(1.0f, 96.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(18.0, bounds.getHeight());

 // Get the shape size in pixels, but with a different DPI for the horizontal and vertical dimensions.
 bounds = renderer.getBoundsInPixels(1.0f, 96.0f, 150.0f);
 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(28.0, bounds.getHeight());

 // The opaque bounds may vary here also.
 bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(18.0, bounds.getHeight());

 bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f, 150.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(30.0, bounds.getHeight());
 

Parameters:

ParameterTypeDescription
scalefloatThe zoom factor (1.0 is 100%).
horizontalDpifloatThe horizontal resolution to convert from points to pixels (dots per inch).
verticalDpifloatThe vertical resolution to convert from points to pixels (dots per inch).

Returns: java.awt.Rectangle - The actual (as rendered on the page) bounding box of the shape in pixels.

getBoundsInPoints()

public Rectangle2D.Float getBoundsInPoints()

Gets the actual bounds of the shape in points.

Remarks:

This property returns the actual (as rendered on the page) bounding box of the shape. The bounds takes into account shape rotation (if any).

Examples:

Shows how to measure and scale shapes.


 Document doc = new Document(getMyDir() + "Office math.docx");

 OfficeMath officeMath = (OfficeMath) doc.getChild(NodeType.OFFICE_MATH, 0, true);
 OfficeMathRenderer renderer = new OfficeMathRenderer(officeMath);

 Assert.assertEquals(119.0f, renderer.getBoundsInPoints().getWidth(), 0.2f);
 Assert.assertEquals(13.0f, renderer.getBoundsInPoints().getHeight(), 0.1f);

 // Shapes with transparent parts may contain different values in the "OpaqueBoundsInPoints" properties.
 Assert.assertEquals(119.0f, renderer.getOpaqueBoundsInPoints().getWidth(), 0.2f);
 Assert.assertEquals(14.2f, renderer.getOpaqueBoundsInPoints().getHeight(), 0.1f);

 // Get the shape size in pixels, with linear scaling to a specific DPI.
 Rectangle bounds = renderer.getBoundsInPixels(1.0f, 96.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(18.0, bounds.getHeight());

 // Get the shape size in pixels, but with a different DPI for the horizontal and vertical dimensions.
 bounds = renderer.getBoundsInPixels(1.0f, 96.0f, 150.0f);
 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(28.0, bounds.getHeight());

 // The opaque bounds may vary here also.
 bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(18.0, bounds.getHeight());

 bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f, 150.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(30.0, bounds.getHeight());
 

Returns: java.awt.geom.Rectangle2D.Float - The actual bounds of the shape in points.

getOpaqueBoundsInPixels(float scale, float dpi)

public Rectangle getOpaqueBoundsInPixels(float scale, float dpi)

Calculates the opaque bounds of the shape in pixels for a specified zoom factor and resolution.

Remarks:

This method converts getOpaqueBoundsInPoints() into rectangle in pixels and it is useful when you want to create a bitmap for rendering the shape with only opaque part of the shape.

Examples:

Shows how to measure and scale shapes.


 Document doc = new Document(getMyDir() + "Office math.docx");

 OfficeMath officeMath = (OfficeMath) doc.getChild(NodeType.OFFICE_MATH, 0, true);
 OfficeMathRenderer renderer = new OfficeMathRenderer(officeMath);

 Assert.assertEquals(119.0f, renderer.getBoundsInPoints().getWidth(), 0.2f);
 Assert.assertEquals(13.0f, renderer.getBoundsInPoints().getHeight(), 0.1f);

 // Shapes with transparent parts may contain different values in the "OpaqueBoundsInPoints" properties.
 Assert.assertEquals(119.0f, renderer.getOpaqueBoundsInPoints().getWidth(), 0.2f);
 Assert.assertEquals(14.2f, renderer.getOpaqueBoundsInPoints().getHeight(), 0.1f);

 // Get the shape size in pixels, with linear scaling to a specific DPI.
 Rectangle bounds = renderer.getBoundsInPixels(1.0f, 96.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(18.0, bounds.getHeight());

 // Get the shape size in pixels, but with a different DPI for the horizontal and vertical dimensions.
 bounds = renderer.getBoundsInPixels(1.0f, 96.0f, 150.0f);
 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(28.0, bounds.getHeight());

 // The opaque bounds may vary here also.
 bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(18.0, bounds.getHeight());

 bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f, 150.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(30.0, bounds.getHeight());
 

Parameters:

ParameterTypeDescription
scalefloatThe zoom factor (1.0 is 100%).
dpifloatThe resolution to convert from points to pixels (dots per inch).

Returns: java.awt.Rectangle - The opaque rectangle of the shape in pixels.

getOpaqueBoundsInPixels(float scale, float horizontalDpi, float verticalDpi)

public Rectangle getOpaqueBoundsInPixels(float scale, float horizontalDpi, float verticalDpi)

Calculates the opaque bounds of the shape in pixels for a specified zoom factor and resolution.

Remarks:

This method converts getOpaqueBoundsInPoints() into rectangle in pixels and it is useful when you want to create a bitmap for rendering the shape with only opaque part of the shape.

Examples:

Shows how to measure and scale shapes.


 Document doc = new Document(getMyDir() + "Office math.docx");

 OfficeMath officeMath = (OfficeMath) doc.getChild(NodeType.OFFICE_MATH, 0, true);
 OfficeMathRenderer renderer = new OfficeMathRenderer(officeMath);

 Assert.assertEquals(119.0f, renderer.getBoundsInPoints().getWidth(), 0.2f);
 Assert.assertEquals(13.0f, renderer.getBoundsInPoints().getHeight(), 0.1f);

 // Shapes with transparent parts may contain different values in the "OpaqueBoundsInPoints" properties.
 Assert.assertEquals(119.0f, renderer.getOpaqueBoundsInPoints().getWidth(), 0.2f);
 Assert.assertEquals(14.2f, renderer.getOpaqueBoundsInPoints().getHeight(), 0.1f);

 // Get the shape size in pixels, with linear scaling to a specific DPI.
 Rectangle bounds = renderer.getBoundsInPixels(1.0f, 96.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(18.0, bounds.getHeight());

 // Get the shape size in pixels, but with a different DPI for the horizontal and vertical dimensions.
 bounds = renderer.getBoundsInPixels(1.0f, 96.0f, 150.0f);
 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(28.0, bounds.getHeight());

 // The opaque bounds may vary here also.
 bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(18.0, bounds.getHeight());

 bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f, 150.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(30.0, bounds.getHeight());
 

Parameters:

ParameterTypeDescription
scalefloatThe zoom factor (1.0 is 100%).
horizontalDpifloatThe horizontal resolution to convert from points to pixels (dots per inch).
verticalDpifloatThe vertical resolution to convert from points to pixels (dots per inch).

Returns: java.awt.Rectangle - The opaque rectangle of the shape in pixels.

getOpaqueBoundsInPoints()

public Rectangle2D.Float getOpaqueBoundsInPoints()

Gets the opaque bounds of the shape in points.

Remarks:

This property returns the opaque (i.e. transparent parts of the shape are ignored) bounding box of the shape. The bounds takes the shape rotation into account.

Examples:

Shows how to measure and scale shapes.


 Document doc = new Document(getMyDir() + "Office math.docx");

 OfficeMath officeMath = (OfficeMath) doc.getChild(NodeType.OFFICE_MATH, 0, true);
 OfficeMathRenderer renderer = new OfficeMathRenderer(officeMath);

 Assert.assertEquals(119.0f, renderer.getBoundsInPoints().getWidth(), 0.2f);
 Assert.assertEquals(13.0f, renderer.getBoundsInPoints().getHeight(), 0.1f);

 // Shapes with transparent parts may contain different values in the "OpaqueBoundsInPoints" properties.
 Assert.assertEquals(119.0f, renderer.getOpaqueBoundsInPoints().getWidth(), 0.2f);
 Assert.assertEquals(14.2f, renderer.getOpaqueBoundsInPoints().getHeight(), 0.1f);

 // Get the shape size in pixels, with linear scaling to a specific DPI.
 Rectangle bounds = renderer.getBoundsInPixels(1.0f, 96.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(18.0, bounds.getHeight());

 // Get the shape size in pixels, but with a different DPI for the horizontal and vertical dimensions.
 bounds = renderer.getBoundsInPixels(1.0f, 96.0f, 150.0f);
 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(28.0, bounds.getHeight());

 // The opaque bounds may vary here also.
 bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(18.0, bounds.getHeight());

 bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f, 150.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(30.0, bounds.getHeight());
 

Returns: java.awt.geom.Rectangle2D.Float - The opaque bounds of the shape in points.

getSizeInPixels(float scale, float dpi)

public Dimension getSizeInPixels(float scale, float dpi)

Calculates the size of the shape in pixels for a specified zoom factor and resolution.

Remarks:

This method converts getSizeInPoints() into size in pixels and it is useful when you want to create a bitmap for rendering the shape neatly onto the bitmap.

Examples:

Shows how to measure and scale shapes.


 Document doc = new Document(getMyDir() + "Office math.docx");

 OfficeMath officeMath = (OfficeMath) doc.getChild(NodeType.OFFICE_MATH, 0, true);
 OfficeMathRenderer renderer = new OfficeMathRenderer(officeMath);

 Assert.assertEquals(119.0f, renderer.getBoundsInPoints().getWidth(), 0.2f);
 Assert.assertEquals(13.0f, renderer.getBoundsInPoints().getHeight(), 0.1f);

 // Shapes with transparent parts may contain different values in the "OpaqueBoundsInPoints" properties.
 Assert.assertEquals(119.0f, renderer.getOpaqueBoundsInPoints().getWidth(), 0.2f);
 Assert.assertEquals(14.2f, renderer.getOpaqueBoundsInPoints().getHeight(), 0.1f);

 // Get the shape size in pixels, with linear scaling to a specific DPI.
 Rectangle bounds = renderer.getBoundsInPixels(1.0f, 96.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(18.0, bounds.getHeight());

 // Get the shape size in pixels, but with a different DPI for the horizontal and vertical dimensions.
 bounds = renderer.getBoundsInPixels(1.0f, 96.0f, 150.0f);
 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(28.0, bounds.getHeight());

 // The opaque bounds may vary here also.
 bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(18.0, bounds.getHeight());

 bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f, 150.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(30.0, bounds.getHeight());
 

Parameters:

ParameterTypeDescription
scalefloatThe zoom factor (1.0 is 100%).
dpifloatThe resolution (horizontal and vertical) to convert from points to pixels (dots per inch).

Returns: java.awt.Dimension - The size of the shape in pixels.

getSizeInPixels(float scale, float horizontalDpi, float verticalDpi)

public Dimension getSizeInPixels(float scale, float horizontalDpi, float verticalDpi)

Calculates the size of the shape in pixels for a specified zoom factor and resolution.

Remarks:

This method converts getSizeInPoints() into size in pixels and it is useful when you want to create a bitmap for rendering the shape neatly onto the bitmap.

Examples:

Shows how to measure and scale shapes.


 Document doc = new Document(getMyDir() + "Office math.docx");

 OfficeMath officeMath = (OfficeMath) doc.getChild(NodeType.OFFICE_MATH, 0, true);
 OfficeMathRenderer renderer = new OfficeMathRenderer(officeMath);

 Assert.assertEquals(119.0f, renderer.getBoundsInPoints().getWidth(), 0.2f);
 Assert.assertEquals(13.0f, renderer.getBoundsInPoints().getHeight(), 0.1f);

 // Shapes with transparent parts may contain different values in the "OpaqueBoundsInPoints" properties.
 Assert.assertEquals(119.0f, renderer.getOpaqueBoundsInPoints().getWidth(), 0.2f);
 Assert.assertEquals(14.2f, renderer.getOpaqueBoundsInPoints().getHeight(), 0.1f);

 // Get the shape size in pixels, with linear scaling to a specific DPI.
 Rectangle bounds = renderer.getBoundsInPixels(1.0f, 96.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(18.0, bounds.getHeight());

 // Get the shape size in pixels, but with a different DPI for the horizontal and vertical dimensions.
 bounds = renderer.getBoundsInPixels(1.0f, 96.0f, 150.0f);
 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(28.0, bounds.getHeight());

 // The opaque bounds may vary here also.
 bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(18.0, bounds.getHeight());

 bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f, 150.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(30.0, bounds.getHeight());
 

Parameters:

ParameterTypeDescription
scalefloatThe zoom factor (1.0 is 100%).
horizontalDpifloatThe horizontal resolution to convert from points to pixels (dots per inch).
verticalDpifloatThe vertical resolution to convert from points to pixels (dots per inch).

Returns: java.awt.Dimension - The size of the shape in pixels.

getSizeInPoints()

public Point2D.Float getSizeInPoints()

Gets the actual size of the shape in points.

Remarks:

This property returns the size of the actual (as rendered on the page) bounding box of the shape. The size takes into account shape rotation (if any).

Examples:

Shows how to measure and scale shapes.


 Document doc = new Document(getMyDir() + "Office math.docx");

 OfficeMath officeMath = (OfficeMath) doc.getChild(NodeType.OFFICE_MATH, 0, true);
 OfficeMathRenderer renderer = new OfficeMathRenderer(officeMath);

 Assert.assertEquals(119.0f, renderer.getBoundsInPoints().getWidth(), 0.2f);
 Assert.assertEquals(13.0f, renderer.getBoundsInPoints().getHeight(), 0.1f);

 // Shapes with transparent parts may contain different values in the "OpaqueBoundsInPoints" properties.
 Assert.assertEquals(119.0f, renderer.getOpaqueBoundsInPoints().getWidth(), 0.2f);
 Assert.assertEquals(14.2f, renderer.getOpaqueBoundsInPoints().getHeight(), 0.1f);

 // Get the shape size in pixels, with linear scaling to a specific DPI.
 Rectangle bounds = renderer.getBoundsInPixels(1.0f, 96.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(18.0, bounds.getHeight());

 // Get the shape size in pixels, but with a different DPI for the horizontal and vertical dimensions.
 bounds = renderer.getBoundsInPixels(1.0f, 96.0f, 150.0f);
 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(28.0, bounds.getHeight());

 // The opaque bounds may vary here also.
 bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(18.0, bounds.getHeight());

 bounds = renderer.getOpaqueBoundsInPixels(1.0f, 96.0f, 150.0f);

 Assert.assertEquals(159.0, bounds.getWidth());
 Assert.assertEquals(30.0, bounds.getHeight());
 

Returns: java.awt.geom.Point2D.Float - The actual size of the shape in points.

renderToScale(Graphics2D graphics, float x, float y, float scale)

public Point2D.Float renderToScale(Graphics2D graphics, float x, float y, float scale)

Renders the shape into a java.awt.Graphics2D object to a specified scale.

Parameters:

ParameterTypeDescription
graphicsjava.awt.Graphics2DThe object where to render to.
xfloatThe X coordinate (in world units) of the top left corner of the rendered shape.
yfloatThe Y coordinate (in world units) of the top left corner of the rendered shape.
scalefloatThe scale for rendering the shape (1.0 is 100%).

Returns: java.awt.geom.Point2D.Float - The width and height (in world units) of the rendered shape.

renderToSize(Graphics2D graphics, float x, float y, float width, float height)

public float renderToSize(Graphics2D graphics, float x, float y, float width, float height)

Renders the shape into a java.awt.Graphics2D object to a specified size.

Parameters:

ParameterTypeDescription
graphicsjava.awt.Graphics2DThe object where to render to.
xfloatThe X coordinate (in world units) of the top left corner of the rendered shape.
yfloatThe Y coordinate (in world units) of the top left corner of the rendered shape.
widthfloatThe maximum width (in world units) that can be occupied by the rendered shape.
heightfloatThe maximum height (in world units) that can be occupied by the rendered shape.

Returns: float - The scale that was automatically calculated for the rendered shape to fit the specified size.

save(OutputStream stream, ImageSaveOptions saveOptions)

public void save(OutputStream stream, ImageSaveOptions saveOptions)

Parameters:

ParameterTypeDescription
streamjava.io.OutputStream
saveOptionsImageSaveOptions

save(OutputStream stream, SvgSaveOptions saveOptions)

public void save(OutputStream stream, SvgSaveOptions saveOptions)

Parameters:

ParameterTypeDescription
streamjava.io.OutputStream
saveOptionsSvgSaveOptions

save(String fileName, ImageSaveOptions saveOptions)

public void save(String fileName, ImageSaveOptions saveOptions)

Renders the shape and saves into an image. Renders the shape into an image and saves into a file.

Examples:

Shows how to render an Office Math object into an image file in the local file system.


 Document doc = new Document(getMyDir() + "Office math.docx");

 OfficeMath math = (OfficeMath) doc.getChild(NodeType.OFFICE_MATH, 0, true);

 // Create an "ImageSaveOptions" object to pass to the node renderer's "Save" method to modify
 // how it renders the OfficeMath node into an image.
 ImageSaveOptions saveOptions = new ImageSaveOptions(SaveFormat.PNG);

 // Set the "Scale" property to 5 to render the object to five times its original size.
 saveOptions.setScale(5f);

 math.getMathRenderer().save(getArtifactsDir() + "Shape.RenderOfficeMath.png", saveOptions);
 

Parameters:

ParameterTypeDescription
fileNamejava.lang.StringThe name for the image file. If a file with the specified name already exists, the existing file is overwritten.
saveOptionsImageSaveOptionsSpecifies the options that control how the shape is rendered and saved. Can be null .

save(String fileName, SvgSaveOptions saveOptions)

public void save(String fileName, SvgSaveOptions saveOptions)

Renders the shape and saves into an SVG image. Renders the shape into an SVG image and saves into a file.

Examples:

Shows how to pass save options when rendering office math.


 Document doc = new Document(getMyDir() + "Office math.docx");

 OfficeMath math = (OfficeMath)doc.getChild(NodeType.OFFICE_MATH, 0, true);

 SvgSaveOptions options = new SvgSaveOptions();
 options.setTextOutputMode(SvgTextOutputMode.USE_PLACED_GLYPHS);

 math.getMathRenderer().save(getArtifactsDir() + "SvgSaveOptions.Output.svg", options);
 

Parameters:

ParameterTypeDescription
fileNamejava.lang.StringThe name for the image file. If a file with the specified name already exists, the existing file is overwritten.
saveOptionsSvgSaveOptionsSpecifies the options that control how the shape is rendered and saved. Can be null .