[]
DsPdfJS API / Layout
Represents one or more paragraphs of multi-formatted text. Provides text analysis and layout functionality.
new Layout(
layoutProperties?):Layout
Creates a new Layout with specified properties.
The layout settings, including one or more paragraphs of multi-formatted text.
Layout
ObjectBase.constructor
new Layout(
baseLayout,layoutProperties?):Layout
Creates a new Layout based on properties of an existing Layout.
Layout
The Layout object used as the base for the new Layout.
The settings overriding properties of the base Layout.
Layout
ObjectBase.constructor
new Layout(
om,layoutProperties?):Layout
Creates a new Layout with specified properties.
An object manager that controls the lifetime of the Layout object.
The layout settings, including one or more paragraphs of multi-formatted text.
Layout
ObjectBase.constructor
get addSpacingAfterLastLine():
boolean
Gets a value indicating whether the line spacing should be added after the last line of text.
boolean
get allowOverhangingWords():
boolean
Gets a value indicating whether long words can overhang beyond the layout box bounds.
boolean
get canSkipFirstLineWithIndentation():
boolean
Gets a value indicating whether the whole first line of a paragraph with indentation can be skipped.
boolean
get codePoints():
Int32Array
Gets the array of UTF-32 characters (code points) in a Layout.
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.
number | null
get contentHeight():
number
Gets the height of the formatted text, in graphic units.
number
get contentHeightFitsInBounds():
boolean
Gets a value indicating whether the height of the formatted text fits in the specified MaxHeight.
boolean
get contentRect():
Rect
Gets a rectangle containing the formatted text, in graphic units.
get contentWidth():
number
Gets the width of the formatted text, in graphic units.
number
get contentWidthFitsInBounds():
boolean
Gets a value indicating whether the width of the formatted text fits in the specified MaxWidth.
boolean
get contentX():
number
Gets the X coordinate of the rectangle containing the formatted text, in graphic units.
number
get contentY():
number
Gets the Y coordinate of the rectangle containing the formatted text, in graphic units.
number
get defaultFormat():
Format|null
Gets the Format object used as default text format for the current Layout.
Format | null
get defaultTabSize():
number
Gets spacing between the default tab stops, in graphic units.
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).
number
get delimiterCharCount():
number
Gets the delimiter count, counting from the end of the text, to preserve text from (for text trimming).
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.
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.
number
get firstLineIsStartOfParagraph():
boolean
Gets a value indicating whether the first line of text is the start of paragraph.
boolean
get flowDirection():
FlowDirection
Gets the flow direction (how lines of text are placed relative to one another).
get fontCollection():
FontCollection|null
Gets the font collection used for searching fonts and font fallbacks.
FontCollection | null
get fontFallbackScope():
FontFallbackScope
Gets the scope for searching fallback fonts for the glyphs missing in the font defined in Format.
get fontScaleFactor():
number
Gets the uniform scale factor for all fonts used in the current Layout. Valid values are from 0.001 to 1000.
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.
boolean
get honorIdeographicBaseline():
boolean
Gets a value indicating whether the ideographic baseline should be used instead of the Roman baseline for hieroglyph characters.
boolean
get honorLastLineSpacing():
boolean
Gets a value indicating whether line spacing for the last line is considered a part of the layout content.
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.
boolean
get id():
number
Gets the reference to the object.
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.
number
get justifiedSpaceShrinking():
number
Gets the white space shrinking factor when text is justified. Values are between 0.0 and 1.0.
number
get justifiedTextExtension():
number
Gets the maximum text extension factor when text is justified. Values are between 0 and 10000.
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).
boolean
get lastLineIsEndOfParagraph():
boolean
Gets a value indicating whether the last line of text is the end of paragraph.
boolean
get layoutPerformed():
boolean
Gets a value indicating if the Layout#performLayout method was executed at least once.
boolean
get lineBreakingRules():
LineBreakingRules
Gets the line breaking algorithm.
get lineGapBeforeFirstLine():
boolean
Gets a value indicating whether the typographic line gap should be added before the first line of text.
boolean
get lines():
TextLine[]
Gets the array of text lines after executing the Layout#performLayout method.
TextLine[]
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.
number
get lineSpacingScaleFactor():
number
Gets the scaling factor to be applied to the computed line height. Values are between 0 and 1000.
number
get marginBottom():
number
Gets the bottom margin of the layout box, in graphic units.
number
get marginLeft():
number
Gets the left margin of the layout box, in graphic units.
number
get marginRight():
number
Gets the right margin of the layout box, in graphic units.
number
get marginTop():
number
Gets the top margin of the layout box, in graphic units.
number
get maxHeight():
number|null
Gets the height of the layout box, in graphic units.
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.
number
get maxWidth():
number|null
Gets the width of the layout box, in graphic units.
number | null
get minimalLineSpacing():
number|null
Gets the explicit minimal distance between lines, in graphic units.
number | null
get om():
ObjectManager
Gets the owner ObjectManager instance.
get paragraphAlignment():
ParagraphAlignment
Gets the alignment of paragraphs along the flow direction axis.
get paragraphSpacing():
number
Gets the additional spacing between paragraphs, in graphic units.
number
get restrictedFontLookup():
boolean
Gets a value indicating whether the fonts should be searched in the custom collection only, if any specified.
boolean
get rightToLeft():
boolean
Gets the base direction for horizontal and sideways text.
boolean
get rotateSidewaysCounterclockwise():
boolean
Gets a value indicating whether sideways text should be rotated counterclockwise.
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.
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.
number
get suppressShaping():
boolean
Gets a value indicating if shaping and positioning of graphemes should be skipped for the sake of speed.
boolean
get tabStops():
TabStop[] |null
Gets the array of custom tab stops.
TabStop[] | null
get textAlignment():
TextAlignment
Gets the alignment of text along the reading direction axis.
get textExtensionStrategy():
TextExtensionStrategy
Gets the rules used for justified text extension.
get trimmingGranularity():
TrimmingGranularity
Gets the text granularity used to trim text overflowing the layout box.
get uniformLineSpacing():
number|null
Gets the explicit distance between lines, in graphic units.
number | null
get useEmbeddableFonts():
boolean
Get a value indicating if the linked and fallback fonts have to be embeddable.
boolean
get vertical():
boolean
Gets a value indicating whether the LayoutProperties#flowDirection was vertical when the Layout#performLayout method was last called.
boolean
get wordBoundaryRules():
WordBoundaryRules
Gets the word breaking algorithm.
get wrapMode():
WrapMode
Gets a value specifying how text lines are broken to avoid text overflowing the layout box.
append(
runProperties):void
Adds a text run with specified format to the current Layout.
A text section (run) with formatting.
void
appendLine(
runProperties):void
Adds a text run and line break characters (0x0D, 0x0A) with specified format to the current Layout.
A text section (run) with formatting.
void
appendLineBreak(
format?):void
Adds line break characters (0x0D, 0x0A).
Text format, if specified, the default format is used otherwise.
Format | null
void
appendParagraphBreak(
format?):void
Adds a special character (0x2029) that causes a paragraph break but prevents a page break between paragraphs.
Text format, if specified, the default format is used otherwise.
Format | null
void
appendSectionBreak(
format?):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.
Text format, if specified, the default format is used otherwise.
Format | null
void
appendSoftBreak(
format?):void
Adds a line separator character (0x2028) that causes a line break without ending the paragraph.
Text format, if specified, the default format is used otherwise.
Format | null
void
applyOffset(
dx,dy):void
Adjusts the positions of content rectangle.
number
The offset along the horizontal direction.
number
The offset along the vertical direction.
void
clear():
void
Clears the current text layout, removing all text and formatting associated with individual text runs.
void
free():
void
Detaches the object from the ObjectManager and deallocates its memory, if possible.
void
performLayout():
boolean
Determines the coordinates of all text lines and glyph runs.
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.
rebind(
omTo):void
Rebinds the object from the current ObjectManager to the specified one.
The new ObjectManager for the object.
void
split(
splitOptions,rest):SplitResult
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.
Options controlling how text is split.
SplitOptions | null
Layout
Recipient for the text that did not fit in the current bounds.
A value indicating the result of splitting the current text layout.
truncate(
lastLineTrimming?):boolean
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.
The text granularity used when trimming the last line of text.
boolean