Skip to main content

IntersectWith

Returns a new range that is the intersection of this range and the given range. The current range is not changed.

Syntax​

expression.IntersectWith(range);

expression - A variable that represents an ApiTextRange class.

Parameters​

NameRequired/OptionalData typeDefaultDescription
rangeRequiredApiTextRangeNo description provided.

Returns​

ApiTextRange | null

Example​

Take the common part of two text ranges in a shape on a PDF page.

// The result is null when the two ranges do not overlap.

// Underline the fragment that belongs to both ranges.

const doc = Api.GetDocument();
const page = doc.GetPage(0);

const fill = Api.CreateSolidFill(Api.RGB(255, 111, 61));
const stroke = Api.CreateStroke(0, Api.CreateNoFill());
const shape = Api.CreateShape("rect", 200 * 36000, 80 * 36000, fill, stroke);
shape.SetPosition(608400, 1267200);
page.AddObject(shape);

const docContent = shape.GetContent();
const paragraph = docContent.GetElement(0);
paragraph.AddText("Hello World");

const range = shape.GetTextRange();

const first = range.GetRange(0, 8);
const second = range.GetRange(4, 11);
const common = first.IntersectWith(second);
common.SetUnderline(true);

const reportFill = Api.CreateSolidFill(Api.RGB(200, 230, 255));
const report = Api.CreateShape("rect", 200 * 36000, 40 * 36000, reportFill, stroke);
report.SetPosition(608400, 4000000);
page.AddObject(report);
report.GetContent().GetElement(0).AddText("IntersectWith: " + common.GetText());