Portion

Get Position Coordinates of Portion

getCoordinates() method has been added to Portion class which allows retrieving the coordinates of the beginning of the portion.

// Instantiate Prseetation class that represents the PPTX
var pres = new aspose.slides.Presentation("pres.pptx");
try {
    // Reshaping the context of presentation
    var shape = pres.getSlides().get_Item(0).getShapes().get_Item(0);
    var textFrame = shape.getTextFrame();
    for (let i = 0; i < textFrame.getParagraphs().getCount(); i++) {
        const paragraph = textFrame.getParagraphs().get_Item(i);
        for (let j = 0; j < paragraph.getPortions().getCount(); j++) {
            const portion = paragraph.getPortions().get_Item(j);
            var point = portion.getCoordinates();
            console.log("X: " + point.x + " Y: " + point.y);
        }
    }
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

FAQ

Can I apply a hyperlink to only part of the text within a single paragraph?

Yes, you can assign a hyperlink to an individual portion; only that fragment will be clickable, not the entire paragraph.

How does style inheritance work: what does a Portion override, and what is taken from Paragraph/TextFrame?

Portion-level properties have the highest precedence. If a property is not set on the Portion, the engine takes it from the Paragraph; if it is not set there either, from the TextFrame or the theme style.

What happens if the font specified for a Portion is missing on the target machine/server?

Font substitution rules apply. The text may reflow: metrics, hyphenation, and width can change, which matters for precise positioning.

Can I set a Portion-specific text fill transparency or gradient independent of the rest of the paragraph?

Yes, text color, fill, and transparency at the Portion level can differ from neighboring fragments.