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:

  1. Zunächst ein Presentation‑Objekt, das die Präsentation repräsentiert, aus der der Text extrahiert werden soll.
  2. 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.