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

    Class Layout

    Represents one or more paragraphs of multi-formatted text. Provides text analysis and layout functionality.

    Hierarchy (View Summary)

    Index

    Constructors

    • Creates a new Layout with specified properties.

      Parameters

      • OptionallayoutProperties: LayoutProperties

        The layout settings, including one or more paragraphs of multi-formatted text.

      Returns Layout

    • Creates a new Layout based on properties of an existing Layout.

      Parameters

      • baseLayout: Layout

        The Layout object used as the base for the new Layout.

      • OptionallayoutProperties: LayoutProperties

        The settings overriding properties of the base Layout.

      Returns Layout

    • Creates a new Layout with specified properties.

      Parameters

      • om: ObjectManager

        An object manager that controls the lifetime of the Layout object.

      • OptionallayoutProperties: LayoutProperties

        The layout settings, including one or more paragraphs of multi-formatted text.

      Returns Layout

    Accessors

    • get addSpacingAfterLastLine(): boolean

      Gets a value indicating whether the line spacing should be added after the last line of text.

      Returns boolean

    • get allowOverhangingWords(): boolean

      Gets a value indicating whether long words can overhang beyond the layout box bounds.

      Returns boolean

    • get canSkipFirstLineWithIndentation(): boolean

      Gets a value indicating whether the whole first line of a paragraph with indentation can be skipped.

      Returns boolean

    • get codePoints(): Int32Array

      Gets the array of UTF-32 characters (code points) in a Layout.

      Returns Int32Array

    • get columnWidth(): number | null

      Gets the width of the layout box measured from the left margin (for positive values) or from the right margin (for negative values), in graphic units.

      Returns number | null

    • get contentHeight(): number

      Gets the height of the formatted text, in graphic units.

      Returns number

    • get contentHeightFitsInBounds(): boolean

      Gets a value indicating whether the height of the formatted text fits in the specified MaxHeight.

      Returns boolean

    • get contentRect(): Rect

      Gets a rectangle containing the formatted text, in graphic units.

      Returns Rect

    • get contentWidth(): number

      Gets the width of the formatted text, in graphic units.

      Returns number

    • get contentWidthFitsInBounds(): boolean

      Gets a value indicating whether the width of the formatted text fits in the specified MaxWidth.

      Returns boolean

    • get contentX(): number

      Gets the X coordinate of the rectangle containing the formatted text, in graphic units.

      Returns number

    • get contentY(): number

      Gets the Y coordinate of the rectangle containing the formatted text, in graphic units.

      Returns number

    • get defaultFormat(): Format | null

      Gets the Format object used as default text format for the current Layout.

      Returns Format | null

    • get defaultTabSize(): number

      Gets spacing between the default tab stops, in graphic units.

      Returns number

    • get delimiterCharCode(): number

      Gets a UTF-32 character code used as a delimiter that signals the beginning of the portion of text to be preserved (for text trimming).

      Returns number

    • get delimiterCharCount(): number

      Gets the delimiter count, counting from the end of the text, to preserve text from (for text trimming).

      Returns number

    • get ellipsisCharCode(): number

      Gets a UTF-32 code of the omission sign (ellipsis character) for text trimming. A value of 0 prevents the ellipsis character from showing.

      Returns number

    • get firstLineIndent(): number

      Gets the indent of the first line after paragraph separator, in graphic units. Positive value applies indentation to the first line, negative value applies indentation to all lines except the first one.

      Returns number

    • get firstLineIsStartOfParagraph(): boolean

      Gets a value indicating whether the first line of text is the start of paragraph.

      Returns boolean

    • get flowDirection(): FlowDirection

      Gets the flow direction (how lines of text are placed relative to one another).

      Returns FlowDirection

    • get fontCollection(): FontCollection | null

      Gets the font collection used for searching fonts and font fallbacks.

      Returns FontCollection | null

    • get fontScaleFactor(): number

      Gets the uniform scale factor for all fonts used in the current Layout. Valid values are from 0.001 to 1000.

      Returns number

    • get hasMissingFontCharacters(): boolean

      Gets a value indicating whether text runs contain some characters that are not present in the specified fonts and fallback fonts, so those characters cannot be displayed correctly.

      Returns boolean

    • get honorIdeographicBaseline(): boolean

      Gets a value indicating whether the ideographic baseline should be used instead of the Roman baseline for hieroglyph characters.

      Returns boolean

    • get honorLastLineSpacing(): boolean

      Gets a value indicating whether line spacing for the last line is considered a part of the layout content.

      Returns boolean

    • get honorTrailingLineBreak(): boolean

      Gets a value indicating whether the trailing line break causes a blank line to be added to the output text layout.

      Returns boolean

    • get id(): number

      Gets the reference to the object.

      Returns number

    • get justifiedSpaceExtension(): number

      Gets the maximum white space extension factor before applying extension to other characters when text is justified. Values are between 0 and 10000.

      Returns number

    • get justifiedSpaceShrinking(): number

      Gets the white space shrinking factor when text is justified. Values are between 0.0 and 1.0.

      Returns number

    • get justifiedTextExtension(): number

      Gets the maximum text extension factor when text is justified. Values are between 0 and 10000.

      Returns number

    • get justifyLastLine(): boolean

      Gets a value indicating whether for paragraphs that have textAlignment set to "Distributed" the last line will be justified (typical in East Asian typography).

      Returns boolean

    • get lastLineIsEndOfParagraph(): boolean

      Gets a value indicating whether the last line of text is the end of paragraph.

      Returns boolean

    • get layoutPerformed(): boolean

      Gets a value indicating if the Layout#performLayout method was executed at least once.

      Returns boolean

    • get lineGapBeforeFirstLine(): boolean

      Gets a value indicating whether the typographic line gap should be added before the first line of text.

      Returns boolean

    • get linesBetweenConsecutiveHyphens(): number

      Gets the minimum number of lines not using hyphens after breaking a word across lines and displaying a visible hyphen at the position of soft hyphen.

      Returns number

    • get lineSpacingScaleFactor(): number

      Gets the scaling factor to be applied to the computed line height. Values are between 0 and 1000.

      Returns number

    • get marginBottom(): number

      Gets the bottom margin of the layout box, in graphic units.

      Returns number

    • get marginLeft(): number

      Gets the left margin of the layout box, in graphic units.

      Returns number

    • get marginRight(): number

      Gets the right margin of the layout box, in graphic units.

      Returns number

    • get marginTop(): number

      Gets the top margin of the layout box, in graphic units.

      Returns number

    • get maxHeight(): number | null

      Gets the height of the layout box, in graphic units.

      Returns number | null

    • get maxLastLineOverflowFactor(): number

      Gets the maximum fraction of the last line's height overflowing beyond the layout bounds for that line not to be truncated.

      Returns number

    • get maxWidth(): number | null

      Gets the width of the layout box, in graphic units.

      Returns number | null

    • get minimalLineSpacing(): number | null

      Gets the explicit minimal distance between lines, in graphic units.

      Returns number | null

    • get paragraphSpacing(): number

      Gets the additional spacing between paragraphs, in graphic units.

      Returns number

    • get restrictedFontLookup(): boolean

      Gets a value indicating whether the fonts should be searched in the custom collection only, if any specified.

      Returns boolean

    • get rightToLeft(): boolean

      Gets the base direction for horizontal and sideways text.

      Returns boolean

    • get rotateSidewaysCounterclockwise(): boolean

      Gets a value indicating whether sideways text should be rotated counterclockwise.

      Returns boolean

    • get rowHeight(): number | null

      Gets the height of the layout box measured from the top margin (for positive values) or from the bottom margin (for negative values), in graphic units.

      Returns number | null

    • get softHyphenReplacementCharCode(): number

      Gets a UTF-32 character code used as replacement for soft hyphen characters (0x00AD) at ends of lines when breaking words across lines.

      Returns number

    • get suppressShaping(): boolean

      Gets a value indicating if shaping and positioning of graphemes should be skipped for the sake of speed.

      Returns boolean

    • get tabStops(): TabStop[] | null

      Gets the array of custom tab stops.

      Returns TabStop[] | null

    • get uniformLineSpacing(): number | null

      Gets the explicit distance between lines, in graphic units.

      Returns number | null

    • get useEmbeddableFonts(): boolean

      Get a value indicating if the linked and fallback fonts have to be embeddable.

      Returns boolean

    • get wrapMode(): WrapMode

      Gets a value specifying how text lines are broken to avoid text overflowing the layout box.

      Returns WrapMode

    Methods

    • Adds a text run with specified format to the current Layout.

      Parameters

      • runProperties: RunProperties

        A text section (run) with formatting.

      Returns void

    • Adds a text run and line break characters (0x0D, 0x0A) with specified format to the current Layout.

      Parameters

      • runProperties: RunProperties

        A text section (run) with formatting.

      Returns void

    • Adds line break characters (0x0D, 0x0A).

      Parameters

      • Optionalformat: Format | null

        Text format, if specified, the default format is used otherwise.

      Returns void

    • Adds a special character (0x2029) that causes a paragraph break but prevents a page break between paragraphs.

      Parameters

      • Optionalformat: Format | null

        Text format, if specified, the default format is used otherwise.

      Returns void

    • Appends a form feed character ('\f', character code 0x000C) to the text. This causes any text added after it to "not fit" - if the text layout is drawn, that text will not be rendered. If the Layout#split method is called, the text will be split at this point.

      Parameters

      • Optionalformat: Format | null

        Text format, if specified, the default format is used otherwise.

      Returns void

    • Adds a line separator character (0x2028) that causes a line break without ending the paragraph.

      Parameters

      • Optionalformat: Format | null

        Text format, if specified, the default format is used otherwise.

      Returns void

    • Adjusts the positions of content rectangle.

      Parameters

      • dx: number

        The offset along the horizontal direction.

      • dy: number

        The offset along the vertical direction.

      Returns void

    • Clears the current text layout, removing all text and formatting associated with individual text runs.

      Returns void

    • Detaches the object from the ObjectManager and deallocates its memory, if possible.

      Returns void

    • Determines the coordinates of all text lines and glyph runs.

      Returns boolean

      true if the whole text fits in the bounds of Layout, false if some text doesn't fit in bounds and the Layout#split method must be executed to move the rest of the text into another Layout instance.

    • Fits all or the first portion of the current text layout into the current layout bounds. If the whole text did not fit into the bounds, the rest is moved into the Layout instance specified by the 'rest' parameter.

      Parameters

      • splitOptions: SplitOptions | null

        Options controlling how text is split.

      • rest: Layout

        Recipient for the text that did not fit in the current bounds.

      Returns SplitResult

      A value indicating the result of splitting the current text layout.

    • If a portion of the text content does not fit into the current layout bounds, removes that portion so that the remaining text fits. Returns true if at least some text remains that fits into the current layout bounds. Returns false if the current layout did not contain any text or all text had to be removed. Note that if there is only one line, and it does not fit into the available height, it is not removed, and this method returns true.

      Parameters

      • OptionallastLineTrimming: TrimmingGranularity

        The text granularity used when trimming the last line of text.

      Returns boolean