DsPdfJS API - v9.1.0
    Preparing search index...

    Class SvgContext

    Represents a drawing context for a new SvgDocument.

    Hierarchy (View Summary)

    Index

    Constructors

    Accessors

    • get description(): string

      Gets or sets the description of the SVG document.

      Returns string

    • set description(value: string): void

      Gets or sets the description of the SVG document.

      Parameters

      • value: string

      Returns void

    • get drawTextAsPath(): boolean

      Gets or sets a value indicating if text is rendered using the graphic paths instead of the specialized text drawing services. Assigning a null value resets the property to a default value that depends on context type. This property does not affect drawing to BmpContext.

      Returns boolean

    • set drawTextAsPath(value: boolean | null): void

      Gets or sets a value indicating if text is rendered using the graphic paths instead of the specialized text drawing services. Assigning a null value resets the property to a default value that depends on context type. This property does not affect drawing to BmpContext.

      Parameters

      • value: boolean | null

      Returns void

    • get embedFonts(): boolean

      Gets or sets a value indicating whether fonts used in 'text' elements should be embedded.

      Returns boolean

    • set embedFonts(value: boolean): void

      Gets or sets a value indicating whether fonts used in 'text' elements should be embedded.

      Parameters

      • value: boolean

      Returns void

    • get height(): number

      Gets or sets the height of the image, in device-independent pixels.

      Returns number

    • set height(value: number): void

      Gets or sets the height of the image, in device-independent pixels.

      Parameters

      • value: number

      Returns void

    • get id(): number

      Gets the reference to the object.

      Returns number

    • get idSuffix(): string

      Gets or sets a string to be appended to the auto-generated ID values.

      Returns string

    • set idSuffix(value: string): void

      Gets or sets a string to be appended to the auto-generated ID values.

      Parameters

      • value: string

      Returns void

    • get imageRendering(): ImageRendering

      Gets or sets a hint to the implementation about how to make speed vs. quality tradeoffs as it performs image processing.

      Returns ImageRendering

    • set imageRendering(imageRendering: ImageRendering): void

      Gets or sets a hint to the implementation about how to make speed vs. quality tradeoffs as it performs image processing.

      Parameters

      Returns void

    • get matrix(): number[]

      Gets or sets the transformation matrix. The matrix consists of six numbers (their meaning is simplified for clarity): m11 - scales the drawing horizontally m12 - skew the the drawing horizontally m21 - skew the the drawing vertically m22 - scales the drawing vertically m31 - moves the the drawing horizontally m32 - moves the the drawing vertically

      Returns number[]

    • set matrix(matrix: number[]): void

      Gets or sets the transformation matrix. The matrix consists of six numbers (their meaning is simplified for clarity): m11 - scales the drawing horizontally m12 - skew the the drawing horizontally m21 - skew the the drawing vertically m22 - scales the drawing vertically m31 - moves the the drawing horizontally m32 - moves the the drawing vertically

      Parameters

      • matrix: number[]

      Returns void

    • get preciseCharPositions(): boolean

      Gets or sets a value indicating whether the positions are set for each individual character within the 'text' element.

      Returns boolean

    • set preciseCharPositions(value: boolean): void

      Gets or sets a value indicating whether the positions are set for each individual character within the 'text' element.

      Parameters

      • value: boolean

      Returns void

    • get shapeRendering(): ShapeRendering

      Gets or sets a hint to the implementation about what tradeoffs to make as it renders vector graphics elements.

      Returns ShapeRendering

    • set shapeRendering(shapeRendering: ShapeRendering): void

      Gets or sets a hint to the implementation about what tradeoffs to make as it renders vector graphics elements.

      Parameters

      Returns void

    • get title(): string

      Gets or sets the title of the SVG document.

      Returns string

    • set title(value: string): void

      Gets or sets the title of the SVG document.

      Parameters

      • value: string

      Returns void

    • get transform(): Transform

      Gets or sets the current transformation of the drawing surface.

      Returns Transform

    • set transform(transform: Transform): void

      Gets or sets the current transformation of the drawing surface.

      Parameters

      Returns void

    • get width(): number

      Gets or sets the width of the image, in device-independent pixels.

      Returns number

    • set width(value: number): void

      Gets or sets the width of the image, in device-independent pixels.

      Parameters

      • value: number

      Returns void

    Methods

    • Draws and fills an ellipse.

      Parameters

      • x: number

        The X coordinate of the rectangle enclosing an ellipse.

      • y: number

        The Y coordinate of the rectangle enclosing an ellipse.

      • width: number

        The width of the rectangle enclosing an ellipse.

      • height: number

        The height of the rectangle enclosing an ellipse.

      • drawEllipseOptions: DrawEllipseOptions

        The options for drawing and filling an ellipse.

      Returns void

    • Draws and fills an ellipse.

      Parameters

      • bounds: Bounds

        The rectangle enclosing an ellipse.

      • drawEllipseOptions: DrawEllipseOptions

        The options for drawing and filling an ellipse.

      Returns void

    • Draws an image or bitmap with specified size, location, and opacity.

      Parameters

      • image: ImageOrBitmap

        The image object to draw.

      • x: number

        The X coordinate of the destination rectangle.

      • y: number

        The Y coordinate of the destination rectangle.

      • width: number

        The width of the destination rectangle.

      • height: number

        The height of the destination rectangle.

      • OptionaldrawImageOptions: DrawImageOptions

        The options for drawing an image.

      Returns void

    • Draws an image or bitmap with specified size, location, and opacity.

      Parameters

      Returns void

    • Draws a Layout at the specified position.

      Parameters

      • layout: Layout | LayoutProperties

        An existing Layout object or the properties describing a new Layout settings.

      • x: number

        The X coordinate at which to draw the Layout.

      • y: number

        The Y coordinate at which to draw the Layout.

      Returns void

      const font = Font.getPdfFont(StandardPdfFont.CourierBold);
      const sb = new SolidBrush("CadetBlue");
      const lgb = new LinearGradientBrush({
      startColor: "Red", startPoint: { x: 0, y: 0 },
      gradientStops: [{ offset: 0.5, color: "Green" }],
      endColor: "Blue", endPoint: { x: 1, y: 0 }
      });
      const rgb = new RadialGradientBrush({ startColor: "Red", endColor: "Green" });

      const bitmap = new Bitmap(600, 420);
      const ctx = bitmap.newContext({ backColor: "Yellow" });
      const tf = new Format({ font: font, fontSize: 40 });

      ctx.drawLayout({
      maxWidth: 600,
      firstLineIndent: 50,
      runs: [
      { text: "test font Solid fill brush in DsPdfJS\n", format: tf,
      fillBrush: sb },
      { text: "test Linear Gradient fill in DsPdfJS\n", format: tf,
      fillBrush: lgb },
      { text: "test Radial Gradient fill that spans multiple lines in DsPdfJS",
      format: tf, fillBrush: rgb }
      ]
      }, 0, 0);

      const res: Uint8Array = bitmap.saveAsPng();
    • Draws a line between two points, using the specified pen.

      Parameters

      • x1: number

        The X coordinate of the first point.

      • y1: number

        The Y coordinate of the first point.

      • x2: number

        The X coordinate of the second point.

      • y2: number

        The Y coordinate of the second point.

      • pen: Pen | PenProperties

        The Pen object or settings for creating a pen.

      Returns void

    • Draws and fills a graphics path.

      Parameters

      Returns void

      const ctx = new BmpContext(800, 600, 0.5, "Honeydew");

      const path = ctx.createPath();

      path.beginFigure(100, 350);
      path.addLine(210, 310);
      path.addArc({
      size: { width: 183, height: 173 },
      sweepDirection: SweepDirection.Clockwise,
      point: { x: 550, y: 205 }
      });
      path.addLine(650, 170);
      path.addLine(680, 250);
      path.addLine(575, 285);
      path.addArc({
      size: { width: 183, height: 173 },
      sweepDirection: SweepDirection.Clockwise,
      point: { x: 240, y: 390 }
      });
      path.addLine(130, 430);
      path.endFigure(true);
      path.addEllipse({ x: 295, y: 197, width: 200, height: 190 });

      ctx.drawPath(path, {
      fillColor: "MediumAquamarine",
      lineColor: "Green",
      lineWidth: 20
      });

      const res: Uint8Array = ctx.bitmap.saveAsPng();
    • Draws and fills a rectangle or rounded rectangle.

      Parameters

      • x: number

        The X coordinate of the rectangle.

      • y: number

        The Y coordinate of the rectangle.

      • width: number

        The width of the rectangle.

      • height: number

        The height of the rectangle.

      • drawRectangleOptions: DrawRectangleOptions

        The options for drawing and filling a rectangle.

      Returns void

    • Draws and fills a rectangle or rounded rectangle.

      Parameters

      Returns void

    • Draws a SvgDocument at a point specifying the position of SVG viewport. To specify the position of SVG content rather than viewport, see the drawSvgContent method.

      Parameters

      • svgDocument: SvgDocument

        The SvgDocument to draw.

      • x: number

        The X coordinate of SVG viewport.

      • y: number

        The Y coordinate of SVG viewport.

      • Optionalopacity: number

        The opacity factor to be applied to SVG content, between 0.0 (fully transparent) and 1.0 (fully opaque). The default is 1.0.

      Returns void

      const svgDoc = SvgDocument.load(svgData);
      const margin = 50;

      const rect = svgDoc.measure(0, 0);
      const ctx = new BmpContext(
      rect.width + margin * 2,
      rect.height + margin * 2,
      0.7,
      "Linen"
      });
      ctx.slowAntialiasing = true;
      ctx.drawSvg(svgDoc, -rect.x + margin, -rect.y + margin);

      const res: Uint8Array = ctx.bitmap.saveAsPng();
    • Draws the content of a specified SvgDocument at a point specifying the top-left corner of SVG content. To specify the position of SVG viewport rather than content, see the drawSvg method.

      Parameters

      • svgDocument: SvgDocument

        The SvgDocument to draw.

      • x: number

        The X coordinate of SVG content.

      • y: number

        The Y coordinate of SVG content.

      • Optionalopacity: number

        The opacity factor to be applied to SVG content, between 0.0 (fully transparent) and 1.0 (fully opaque). The default is 1.0.

      Returns void

    • Draws the content of a specified SvgDocument, resizing the content to fit into a specified rectangle. To draw the SVG resizing its viewport rather than just the content, see the drawSvgToRect method.

      Parameters

      • svgDocument: SvgDocument

        The SvgDocument to draw.

      • contentX: number

        The X coordinate of the target rectangle for SVG content.

      • contentY: number

        The Y coordinate of the target rectangle for SVG content.

      • contentWidth: number

        The width of the target rectangle for SVG content.

      • contentHeight: number

        The height of the target rectangle for SVG content.

      • Optionalopacity: number

        The opacity factor to be applied to SVG content, between 0.0 (fully transparent) and 1.0 (fully opaque). The default is 1.0.

      Returns void

    • Draws the content of a specified SvgDocument, resizing the content to fit into a specified rectangle. To draw the SVG resizing its viewport rather than just the content, see the drawSvgToRect method.

      Parameters

      • svgDocument: SvgDocument

        The SvgDocument to draw.

      • contentBounds: Bounds

        The target rectangle for SVG content.

      • Optionalopacity: number

        The opacity factor to be applied to SVG content, between 0.0 (fully transparent) and 1.0 (fully opaque). The default is 1.0.

      Returns void

    • Draws a SvgDocument, resizing its viewport to fit into the specified rectangle. To draw just the content of the SVG ignoring viewport position, see the drawSvgToContentRect method.

      Parameters

      • svgDocument: SvgDocument

        The SvgDocument to draw.

      • x: number

        The X coordinate of the target rectangle for SVG viewport.

      • y: number

        The Y coordinate of the target rectangle for SVG viewport.

      • width: number

        The width of the target rectangle for SVG viewport.

      • height: number

        The height of the target rectangle for SVG viewport.

      • Optionalopacity: number

        The opacity factor to be applied to SVG content, between 0.0 (fully transparent) and 1.0 (fully opaque). The default is 1.0.

      Returns void

    • Draws a SvgDocument, resizing its viewport to fit into the specified rectangle. To draw just the content of the SVG ignoring viewport position, see the drawSvgToContentRect method.

      Parameters

      • svgDocument: SvgDocument

        The SvgDocument to draw.

      • bounds: Bounds

        The target rectangle for SVG viewport.

      • Optionalopacity: number

        The opacity factor to be applied to the SVG content, between 0.0 (fully transparent) and 1.0 (fully opaque). The default is 1.0.

      Returns void

    • Draws text using a specified format at the specified position.

      Parameters

      • text: string

        The text to draw.

      • format: Format

        The text format to use.

      • x: number

        The X coordinate at which to draw the text.

      • y: number

        The Y coordinate at which to draw the text.

      • OptionalmaxWidth: number | null

        If provided, specifies the maximum width of text.

      Returns void

    • Draws text using a specified attributes at a specified location.

      Parameters

      • text: string

        The text to draw.

      • font: Font

        The font to use.

      • fontSize: number

        The font size.

      • foreColor: Color

        The text color.

      • x: number

        The X coordinate at which to draw the text.

      • y: number

        The Y coordinate at which to draw the text.

      • OptionalmaxWidth: number | null

        If provided, specifies the maximum width of text.

      Returns void

    • Draws a text run at the specified position.

      Parameters

      • textRun: RunProperties

        The formatted text section to draw.

      • x: number

        The X coordinate at which to draw the text.

      • y: number

        The Y coordinate at which to draw the text.

      • OptionalmaxWidth: number | null

        If provided, specifies the maximum width of text.

      Returns void

      const pericFont = Font.load(await Util.loadFontAsArray("peric.ttf"));
      const emojiFont = Font.load(await Util.loadFontAsArray("seguiemj.ttf"));

      const fontColl = new FontCollection();
      fontColl.loadFont(await Util.loadFontAsArray("arial.ttf"));

      const g = new BmpContext(540, 320, 2, "FloralWhite");
      g.fontCollection = fontColl;

      g.drawText("Peric Font", pericFont, 40, "Black", 4, 90);
      g.drawText({ text: "Arial Font", fontFamily: "Arial", fontSize: 20 }, 300, 110);
      g.drawText({
      text: "Emoji: " + String.fromCodePoint(0x1F433, 0x1F349, 0x1F367),
      font: emojiFont,
      fontSize: 40,
      paletteIndex: 0
      }, 4, 140);

      const res: Uint8Array = g.bitmap.saveAsPng();
    • Measures text using a specified Format.

      Parameters

      • text: string

        The string to measure.

      • format: Format

        The text format to use.

      • OptionalmaxWidth: number | null

        If provided, specifies the maximum width of text.

      Returns Size

      The actual size needed to draw the text.

    • Measures text using a specified font, font size and layout width.

      Parameters

      • text: string

        The string to measure.

      • font: Font

        The font to use.

      • fontSize: number

        The font size to use.

      • OptionalmaxWidth: number | null

        If provided, specifies the maximum width of text.

      Returns Size

      The actual size needed to draw the text.

    • Measures the size of the given text run.

      Parameters

      • textRun: RunProperties

        The formatted text section to measure.

      • OptionalmaxWidth: number | null

        If provided, specifies the maximum width of text.

      Returns Size

      The actual size needed to draw the text.

    • Removes the last clip. After this method is called, the last clip is no longer applied to subsequent drawing operations.

      Returns void

    • Stops redirecting drawing operations to the transparency layer that was created by the last pushLayer call.

      Returns void

    • Restores the previously pushed transformation from the stack.

      Returns void

    • Specifies a rectangle to which all subsequent drawing operations are clipped.

      Parameters

      • x: number

        The X coordinate of the clipping rectangle.

      • y: number

        The Y coordinate of the clipping rectangle.

      • width: number

        The width of the clipping rectangle.

      • height: number

        The height of the clipping rectangle.

      Returns void

    • Specifies a rectangle to which all subsequent drawing operations are clipped.

      Parameters

      • bounds: Bounds

        The clipping rectangle.

      Returns void

    • Specifies a path to which all subsequent drawing operations are clipped.

      Parameters

      Returns void

    • Starts a group ('g') element with custom attributes in the SVG document. Call the SvgContext#popGroup method to end the group.

      Parameters

      • attributeName: string

        The name of the attribute, including the optional prefix.

      • value: string

        A string value of the attribute.

      • Optionalnamespace: string

        The optional namespace of the attribute.

      Returns void

    • Starts a group ('g') element with custom attributes in the SVG document. Call the SvgContext#popGroup method to end the group.

      Parameters

      • attributes: SvgAttribute[]

        The list of attributes to be associated with the group.

      Returns void

    • Adds a transparency layer to the target surface. That layer receives all subsequent drawing operations until popLayer is called.

      Parameters

      • opacity: number

        An opacity value that is applied uniformly to all drawings in the layer when compositing to the backplate. The value is between 0.0 and 1.0.

      • OptionalcontentBounds: Bounds | null

        The content bounds of the transparency layer. Content won't render outside these bounds. If not set, the content bounds are effectively taken to be the bounds of the target surface.

      Returns void

    • Applies the rotation transformation.

      Parameters

      • angle: number

        The rotation angle.

      • OptionalangleUnits: AngleUnits

        The angle units. The default is Degrees.

      • Optionalcx: number

        The optional center point X offset.

      • Optionalcy: number

        The optional center point Y offset.

      Returns void

    • Applies the scaling transformation.

      Parameters

      • scaleFactor: number

        The value to scale by on the X and Y axes.

      • Optionalcx: number

        The optional center point X offset.

      • Optionalcy: number

        The optional center point Y offset.

      Returns void

    • Applies the scaling transformation.

      Parameters

      • scaleX: number

        The value to scale by on the X axis.

      • scaleY: number

        The value to scale by on the Y axis.

      • Optionalcx: number

        The optional center point X offset.

      • Optionalcy: number

        The optional center point Y offset.

      Returns void

    • Applies the skew transformation.

      Parameters

      • angleX: number

        The X angle.

      • angleY: number

        The Y angle.

      • OptionalangleUnits: AngleUnits

        The angle units. The default is Degrees.

      • Optionalcx: number

        The optional center point X offset.

      • Optionalcy: number

        The optional center point Y offset.

      Returns void

    • Applies the skew transformation along the X axis.

      Parameters

      • angle: number

        The X angle.

      • OptionalangleUnits: AngleUnits

        The angle units. The default is Degrees.

      Returns void

    • Applies the skew transformation along the Y axis.

      Parameters

      • angle: number

        The Y angle.

      • OptionalangleUnits: AngleUnits

        The angle units. The default is Degrees.

      Returns void

    • Applies the translation transformation.

      Parameters

      • offsetX: number

        The horizontal offset.

      • offsetY: number

        The vertical offset.

      Returns void