Erweiterte Textextraktion aus Präsentationen in PHP
Text aus Folien extrahieren
Aspose.Slides for PHP via Java stellt die Klasse SlideUtil bereit. Diese Klasse bietet mehrere überladene statische Methoden zum Extrahieren des gesamten Textes aus einer Präsentation oder Folie. Um den Text aus einer Folie in einer PPTX‑Präsentation zu extrahieren, verwenden Sie die überladene statische Methode getAllTextBoxes der Klasse SlideUtil. Diese Methode akzeptiert das Slide‑Objekt als Parameter. Bei der Ausführung scannt die Slide‑Methode den gesamten Text der übergebenen Folie und gibt ein Array von TextFrame‑Objekten zurück. Das bedeutet, dass jede Textformatierung, die dem Text zugeordnet ist, verfügbar ist. Der folgende Code extrahiert den gesamten Text der ersten Folie der Präsentation:
# Instantiieren Sie die Presentation-Klasse, die eine PPTX-Datei darstellt
$pres = new Presentation("demo.pptx");
$Array = new java_class("java.lang.reflect.Array");
try {
foreach($pres->getSlides() as $slide) {
# Ein Array von ITextFrame-Objekten aus allen Folien im PPTX erhalten
$textFramesPPTX = SlideUtil->getAllTextBoxes($slide);
# Durchlaufen des Arrays von TextFrames
for($i = 0; $i < java_values($Array->getLength($textFramesPPTX)) ; $i++) {
# Durchlaufen der Absätze im aktuellen ITextFrame
foreach($textFramesPPTX[$i]->getParagraphs() as $para) {
# Durchlaufen der Abschnitte im aktuellen IParagraph
foreach($para->getPortions() as $port) {
# Text im aktuellen Abschnitt anzeigen
echo($port->getText());
# Schriftgröße des Textes anzeigen
echo($port->getPortionFormat()->getFontHeight());
# Schriftname des Textes anzeigen
if (!java_is_null($port->getPortionFormat()->getLatinFont())) {
echo($port->getPortionFormat()->getLatinFont()->getFontName());
}
}
}
}
}
} finally {
$pres->dispose();
}
Text aus Präsentationen extrahieren
Um den Text der gesamten Präsentation zu scannen, verwenden Sie die getAllTextFrames‑statische Methode der SlideUtil‑Klasse. Sie erwartet zwei Parameter:
- Zunächst ein Presentation‑Objekt, das die Präsentation repräsentiert, aus der der Text extrahiert werden soll.
- Zweitens ein boolescher Wert, der bestimmt, ob die Master‑Folien in den Scan einbezogen werden sollen. Die Methode gibt ein Array von TextFrame‑Objekten zurück, einschließlich aller Textformatierungsinformationen. Der nachstehende Code scannt den Text und die Formatierungsinformationen einer Präsentation, einschließlich der Master‑Folien.
# Instanziieren Sie die Presentation-Klasse, die eine PPTX-Datei darstellt
$pres = new Presentation("demo.pptx");
$Array = new java_class("java.lang.reflect.Array");
try {
# Ein Array von ITextFrame-Objekten aus allen Folien im PPTX erhalten
$textFramesPPTX = SlideUtil->getAllTextFrames($pres, true);
# Durchlaufen des Arrays von TextFrames
for($i = 0; $i < java_values($Array->getLength($textFramesPPTX)) ; $i++) {
# Durchlaufen der Absätze im aktuellen ITextFrame
foreach($textFramesPPTX[$i]->getParagraphs() as $para) {
# Durchlaufen der Abschnitte im aktuellen IParagraph
foreach($para->getPortions() as $port) {
# Text im aktuellen Abschnitt anzeigen
echo($port->getText());
# Schriftgröße des Textes anzeigen
echo($port->getPortionFormat()->getFontHeight());
# Schriftname des Textes anzeigen
if (!java_is_null($port->getPortionFormat()->getLatinFont())) {
echo($port->getPortionFormat()->getLatinFont()->getFontName());
}
}
}
}
} finally {
$pres->dispose();
}
Kategorisierte und schnelle Textextraktion
Die neue statische Methode getPresentationText wurde der Klasse Presentation hinzugefügt. Es gibt drei Überladungen für diese Methode:
FAQ
Wie schnell verarbeitet Aspose.Slides große Präsentationen bei der Textextraktion?
Aspose.Slides ist für hohe Leistung optimiert und verarbeitet effizient selbst große Präsentationen, sodass es für Echtzeit‑ oder Batch‑Verarbeitungsszenarien geeignet ist.
Kann Aspose.Slides Text aus Tabellen und Diagrammen innerhalb von Präsentationen extrahieren?
Ja, Aspose.Slides unterstützt das Extrahieren von Text aus Tabellen, Diagrammen und anderen komplexen Folienelementen vollständig, sodass Sie gesamten Textinhalt leicht zugreifen und analysieren können.
Benötige ich eine spezielle Aspose.Slides‑Lizenz, um Text aus Präsentationen zu extrahieren?
Sie können Text mit der kostenlosen Testversion von Aspose.Slides extrahieren, wobei jedoch bestimmte Einschränkungen gelten, z. B. die Verarbeitung nur einer begrenzten Anzahl von Folien. Für uneingeschränkte Nutzung und zur Verarbeitung größerer Präsentationen wird der Kauf einer Volllizenz empfohlen.