Portion

Obtenir les coordonnées de position de la portion

GetCoordinates() a été ajouté à l’interface IPortion et à la classe Portion, ce qui permet de récupérer les coordonnées du début de la portion:

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

Puis-je appliquer un hyperlien à seulement une partie du texte dans un même paragraphe ?

Oui, vous pouvez assigner un hyperlien à une portion individuelle ; seul ce fragment sera cliquable, pas le paragraphe entier.

Comment fonctionne l’héritage de style : qu’est-ce qu’une Portion écrase, et qu’est-ce qui est hérité du Paragraph/TextFrame ?

Les propriétés au niveau de la Portion ont la priorité la plus élevée. Si une propriété n’est pas définie sur la Portion, le moteur la récupère depuis le Paragraph ; si elle n’est pas non plus définie là, elle provient du TextFrame ou du style du theme.

Que se passe-t-il si la police spécifiée pour une Portion est absente sur la machine/serveur cible ?

Les règles de substitution de police s’appliquent. Le texte peut se reconstituer : les métriques, la césure et la largeur peuvent changer, ce qui affecte le positionnement précis.

Puis-je définir une transparence ou un dégradé de remplissage du texte propre à une Portion, indépendant du reste du paragraphe ?

Oui, la couleur du texte, le remplissage et la transparence au niveau de la Portion peuvent différer des fragments voisins.