Extraction avancée de texte à partir de présentations en PHP
Extraire le texte des diapositives
Aspose.Slides for PHP via Java fournit la classe SlideUtil. Cette classe expose un certain nombre de méthodes statiques surchargées pour extraire le texte complet d’une présentation ou d’une diapositive. Pour extraire le texte d’une diapositive dans une présentation PPTX, utilisez la méthode statique surchargée getAllTextBoxes exposée par la classe SlideUtil. Cette méthode accepte l’objet Slide comme paramètre. Lors de l’exécution, la méthode Slide parcourt tout le texte de la diapositive passée en paramètre et renvoie un tableau d’objets TextFrame. Cela signifie que tout formatage de texte associé au texte est disponible. Le fragment de code suivant extrait tout le texte de la première diapositive de la présentation :
# Instancier la classe Presentation qui représente un fichier PPTX
$pres = new Presentation("demo.pptx");
$Array = new java_class("java.lang.reflect.Array");
try {
foreach($pres->getSlides() as $slide) {
# Obtenir un tableau d'objets ITextFrame à partir de toutes les diapositives du PPTX
$textFramesPPTX = SlideUtil->getAllTextBoxes($slide);
# Parcourir le tableau de TextFrames
for($i = 0; $i < java_values($Array->getLength($textFramesPPTX)) ; $i++) {
# Parcourir les paragraphes dans le ITextFrame actuel
foreach($textFramesPPTX[$i]->getParagraphs() as $para) {
# Parcourir les portions dans le IParagraph actuel
foreach($para->getPortions() as $port) {
# Afficher le texte dans la portion actuelle
echo($port->getText());
# Afficher la hauteur de police du texte
echo($port->getPortionFormat()->getFontHeight());
# Afficher le nom de police du texte
if (!java_is_null($port->getPortionFormat()->getLatinFont())) {
echo($port->getPortionFormat()->getLatinFont()->getFontName());
}
}
}
}
}
} finally {
$pres->dispose();
}
Extraire le texte des présentations
Pour parcourir le texte de l’ensemble de la présentation, utilisez la méthode statique getAllTextFrames exposée par la classe SlideUtil. Elle prend deux paramètres :
- Tout d’abord, un objet Presentation qui représente la présentation dont le texte doit être extrait.
- Deuxièmement, une valeur booléenne déterminant si la diapositive maîtresse doit être incluse lors du scan du texte de la présentation.
La méthode renvoie un tableau d’objets TextFrame, complet avec les informations de formatage du texte. Le code ci‑dessous parcourt le texte et les informations de formatage d’une présentation, y compris les diapositives maîtresses.
# Instancier la classe Presentation qui représente un fichier PPTX
$pres = new Presentation("demo.pptx");
$Array = new java_class("java.lang.reflect.Array");
try {
# Obtenir un tableau d'objets ITextFrame à partir de toutes les diapositives du PPTX
$textFramesPPTX = SlideUtil->getAllTextFrames($pres, true);
# Parcourir le tableau de TextFrames
for($i = 0; $i < java_values($Array->getLength($textFramesPPTX)) ; $i++) {
# Parcourir les paragraphes dans le ITextFrame actuel
foreach($textFramesPPTX[$i]->getParagraphs() as $para) {
# Parcourir les portions dans le IParagraph actuel
foreach($para->getPortions() as $port) {
# Afficher le texte dans la portion actuelle
echo($port->getText());
# Afficher la hauteur de police du texte
echo($port->getPortionFormat()->getFontHeight());
# Afficher le nom de police du texte
if (!java_is_null($port->getPortionFormat()->getLatinFont())) {
echo($port->getPortionFormat()->getLatinFont()->getFontName());
}
}
}
}
} finally {
$pres->dispose();
}
Extraction de texte classée et rapide
La nouvelle méthode statique getPresentationText a été ajoutée à la classe Presentation. Il existe trois surcharges pour cette méthode :
FAQ
À quelle vitesse Aspose.Slides traite-t‑il les grandes présentations lors de l’extraction du texte ?
Aspose.Slides est optimisé pour des performances élevées et traite efficacement même les grandes présentations, ce qui le rend adapté aux scénarios de traitement en temps réel ou en masse.
Aspose.Slides peut‑il extraire le texte des tableaux et des graphiques présents dans les présentations ?
Oui, Aspose.Slides prend pleinement en charge l’extraction de texte à partir des tableaux, graphiques et autres éléments complexes des diapositives, vous permettant d’accéder et d’analyser facilement tout le contenu textuel.
Ai‑je besoin d’une licence spéciale Aspose.Slides pour extraire le texte des présentations ?
Vous pouvez extraire le texte avec la version d’essai gratuite d’Aspose.Slides, bien qu’elle comporte certaines limitations, comme le traitement d’un nombre limité de diapositives. Pour une utilisation illimitée et pour gérer des présentations plus volumineuses, l’achat d’une licence complète est recommandé.