Gérer les portions de texte dans les présentations à l'aide de C++
Obtenir les coordonnées d’une portion de texte
GetCoordinates() méthode a été ajoutée à IPortion et à la classe Portion, ce qui permet de récupérer les coordonnées du début de la portion :
auto presentation = System::MakeObject<Presentation>(u"Shapes.pptx");
auto shape = System::ExplicitCast<IAutoShape>(presentation->get_Slides()->idx_get(0)->get_Shapes()->idx_get(0));
auto textFrame = shape->get_TextFrame();
for (const auto& paragraph : textFrame->get_Paragraphs())
{
for (const auto& portion : paragraph->get_Portions())
{
PointF point = portion->GetCoordinates();
Console::WriteLine(String(u"Coordinates X =") + point.get_X() + u" Coordinates Y =" + point.get_Y());
}
}
FAQ
Puis-je appliquer un hyperlien à seulement une partie du texte dans un même paragraphe ?
Oui, vous pouvez attribuer 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 surcharge, et qu’est‑ce qui est repris 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à, 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 de police s’appliquent. Le texte peut se réorganiser : 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 de texte spécifique à une 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.