Gérer les portions de texte dans les présentations sur Android

Obtenir les coordonnées d’une portion de texte

getCoordinates() la méthode a été ajoutée aux classes IPortion et Portion qui permet de récupérer les coordonnées du début de la portion.

// Instancier la classe Presentation qui représente le PPTX
Presentation pres = new Presentation();
try {
    // Reconfigurer le contexte de la présentation
    IAutoShape shape = (IAutoShape) pres.getSlides().get_Item(0).getShapes().get_Item(0);
    
    ITextFrame textFrame = (ITextFrame) shape.getTextFrame();
    
    for (IParagraph paragraph : textFrame.getParagraphs()) 
    {
        for (IPortion portion : paragraph.getPortions()) 
        {
            Point2D.Float point = portion.getCoordinates();
            System.out.println("X: " + point.x + " Y: " + point.y);
        }
    }
} finally {
    if (pres != null) pres.dispose();
}

FAQ

Puis-je appliquer un hyperlien uniquement à une partie du texte au sein d’un même paragraphe ?

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

Comment fonctionne l’héritage de style : qu’est‑ce qu’une Portion remplace, et qu’est‑ce qui provient 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 du Paragraph; si elle n’est pas non plus définie là, il la prend 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 des polices s’appliquent. Le texte peut se reconstituer : les métriques, la césure et la largeur peuvent changer, ce qui influence le positionnement précis.

Puis-je définir une transparence ou un dégradé de remplissage de texte propre à la Portion, indépendamment 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.