Textabschnitte in Präsentationen mit .NET verwalten

Koordinaten eines Textabschnitts abrufen

GetCoordinates()-Methode wurde zur IPortion- und Portion-Klasse hinzugefügt, die das Abrufen der Koordinaten des Beginns des Abschnitts ermöglicht:

using (Presentation presentation = new Presentation("Shapes.pptx"))
{
    IAutoShape shape = (IAutoShape)presentation.Slides[0].Shapes[0];
    var textFrame = (ITextFrame)shape.TextFrame;

    foreach (var paragraph in textFrame.Paragraphs)
    {
        foreach (Portion portion in paragraph.Portions)
        {
            PointF point = portion.GetCoordinates();
            Console.Write(Environment.NewLine + "Corrdinates X =" + point.X + " Corrdinates Y =" + point.Y);
        }
    }
}

FAQ

Kann ich einen Hyperlink nur auf einen Teil des Textes innerhalb eines einzelnen Absatzes anwenden?

Ja, Sie können einen Hyperlink zuweisen zu einem einzelnen Abschnitt; nur dieses Fragment ist anklickbar, nicht der gesamte Absatz.

Wie funktioniert die Stilvererbung: Was überschreibt ein Portion und was wird von Paragraph/TextFrame übernommen?

Eigenschaften auf Portion-Ebene haben die höchste Priorität. Wenn eine Eigenschaft nicht im Portion festgelegt ist, übernimmt die Engine sie vom Paragraph; ist sie dort ebenfalls nicht gesetzt, wird sie vom TextFrame oder vom Theme-Stil übernommen.

Was passiert, wenn die für einen Portion angegebene Schriftart auf dem Zielrechner/Server fehlt?

Font substitution rules gelten. Der Text kann umfließen: Metriken, Silbentrennung und Breite können sich ändern, was für präzise Positionierung wichtig ist.

Kann ich eine portionsspezifische Textfüll‑Transparenz oder einen Farbverlauf unabhängig vom Rest des Absatzes festlegen?

Ja, Textfarbe, Füllung und Transparenz auf Portion-Ebene können von benachbarten Fragmenten abweichen.