Gérer les portions de texte dans les présentations avec PHP
Obtenir les coordonnées d’une portion de texte
La méthode getCoordinates() a été ajoutée à la classe Portion qui permet de récupérer les coordonnées du début de la portion.
# Instancier la classe Prseetation qui représente le PPTX
$pres = new Presentation();
try {
# Remodeler le contexte de la présentation
$shape = $pres->getSlides()->get_Item(0)->getShapes()->get_Item(0);
$textFrame = $shape->getTextFrame();
foreach($textFrame->getParagraphs() as $paragraph) {
foreach($paragraph->getPortions() as $portion) {
$point = $portion->getCoordinates();
echo("X: " . $point->$x . " Y: " . $point->$y);
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
FAQ
Puis-je appliquer un hyperlien uniquement à 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 remplace, et qu’est‑ce qui provient de 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 définie non plus là, du TextFrame ou du theme style.
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 reflower : les métriques, la césure et la largeur peuvent changer, ce qui importe pour un positionnement précis.
Puis-je définir une transparence ou un dégradé de remplissage de texte spécifique à 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.