SearchWP Documentation

Sehen Sie sich die Installationsanleitung an, durchsuchen Sie die Wissensdatenbank und erfahren Sie mehr über die vielen Hooks von SearchWP

Xpdf-Integration

Aktuelle Version: 1.3.2

Warnung: Diese Erweiterung erfordert die Verwendung von exec() und außerdem, dass Sie die Xpdf-Befehlszeilentools selbst installieren.

SearchWP bietet die einzigartige Funktion, reinen Text aus PDF-Dateien zu extrahieren, die auf Ihre WordPress-Website hochgeladen werden. Standardmäßig versucht SearchWP, dies nur mit PHP zu tun, aber aufgrund der Komplexität und Variation des PDF-Formats werden Inhalte manchmal nicht korrekt extrahiert. Hier kommt Xpdf ins Spiel.

Xpdf verfügt über eine Reihe von Befehlszeilentools, die auf Ihrem Server installiert sein müssen, damit diese Erweiterung funktioniert. Anweisungen finden Sie hier.

Mit der Xpdf-Integrationserweiterung können Sie die gesamte Arbeit, die PHP bei der Verarbeitung Ihrer PDF-Dateien leisten muss, an die Befehlszeilentools von Xpdf auslagern, die beim Extrahieren von Inhalten aus Ihren PDFs extrem schnell und genau sind. Nach der Aktivierung der Erweiterung müssen Sie die Installationsanweisungen befolgen. Nach der Installation wird SearchWP den Prozess der Inhaltsextraktion aus PDFs an Xpdf auslagern.

Installation der Xpdf-Befehlszeilentools

Mit dieser Erweiterung können Sie Xpdf verwenden, um den Inhalt aus Ihren PDFs zu extrahieren.

WICHTIG: Die Xpdf-Befehlszeilentools sind nicht in diesem Erweiterungsdownload enthalten. Sie müssen diesen Anweisungen folgen, um die Befehlszeilentools herunterzuladen und an einem nicht öffentlichen (außerhalb Ihres Web-Stammverzeichnisses) Speicherort hochzuladen.

Sie können die Xpdf-Befehlszeilentools für Windows und Linux unter http://www.xpdfreader.com/download.html herunterladen.

Installation

Nachdem Sie die Befehlszeilentools für Ihren Servertyp heruntergeladen haben:

  1. Extrahieren Sie xpdf-tools-linux-4.03.tar.gz (die Versionsnummer kann abweichen)
  2. Laden Sie die pdftotext -Binärdatei (nach dem Extrahieren entweder im Verzeichnis bin32 oder bin64, abhängig von Ihrer Serverarchitektur) an einen nicht öffentlichen Speicherort außerhalb Ihres Web-Stammverzeichnisses hoch
  3. Laden Sie die pdfinfo-Binärdatei (nach dem Extrahieren entweder im Verzeichnis bin32 oder bin64, abhängig von Ihrer Serverarchitektur) an einen nicht öffentlichen Speicherort außerhalb Ihres Web-Stammverzeichnisses hoch
  4. Stellen Sie sicher, dass sowohl pdftotext als auch pdfinfo über Ausführungsberechtigungen für den PHP-Benutzer auf Ihrem Server verfügen

Der letzte Schritt besteht darin, SearchWP Xpdf Integration mitzuteilen, wo Sie pdftotext und pdfinfo installiert haben. Tun Sie dies wie folgt:

Fügen Sie Folgendes zu Ihrem SearchWP Customizations-Plugin hinzu und ersetzen Sie /path/to/pdftotext durch den tatsächlichen Pfad zu den Binärdateien pdftotext und pdfinfo (nicht zum Ordner) auf Ihrem Server.

// Tell SearchWP the location of the pdftotext binary.
add_filter( 'searchwp_xpdf_path', function() {
    return '/home/johndoe/pdftotext'; // Full absolute path to the binary NOT A FOLDER, NOT A URL.
} );

// Tell SearchWP the location of the pdfinfo binary.
add_filter( 'searchwp_pdfinfo_path', function() {
    return '/home/johndoe/pdfinfo'; // Full absolute path to the binary NOT A FOLDER, NOT A URL.
} );

Das ist alles!

Hinzufügen von PDF-Passwortunterstützung in der Xpdf-Integration

Xpdf unterstützt das Parsen von passwortgeschützten (lies: nicht verschlüsselten) PDFs über den Filter searchwp_xpdf_command. Dieser Filter erlaubt es Ihnen, den auszuführenden Befehl zur Ausführung von Xpdf direkt zu manipulieren, und da Xpdf eine Option zur Einbeziehung eines Passworts unterstützt, können Sie dies wie folgt tun:

<?php
function my_searchwp_xpdf_command( $cmd, $filename ) {
return $cmd . ' -upw password';
}
add_filter( 'searchwp_xpdf_command', 'my_searchwp_xpdf_command', 10, 2 );

Manuelle Tests der Xpdf-Integration

Nach dem Hochladen und Aktivieren der Xpdf Integration Extension und der Definition Ihres Pfads zu pdftotext können Sie manuell bestätigen, dass die Xpdf-Textextraktion wie erwartet für bestimmte PDFs funktioniert, die in Ihre Mediathek hochgeladen wurden. Beginnen Sie, indem Sie zum Einstellungsbildschirm von SearchWP (Einstellungen > SearchWP) navigieren und den Link Xpdf Integration unter den Erweiterungen auf dem Einstellungsbildschirm von SearchWP finden.

Auf dem Bildschirm zum Testen der Xpdf-Integration können Sie die ID des PDFs eingeben, das Sie testen möchten:

Bildschirmfoto 2013-12-09 um 11:34:24 Uhr

Die ID finden Sie, indem Sie zu Ihrem Medienbereich navigieren und dann auf den Link Bearbeiten Ihres PDFs klicken. Die ID befindet sich in der URL, gefolgt von post=

Nach dem Absenden einer gültigen ID erhalten Sie ein detailliertes Protokoll der Schritte, die von der Xpdf Integration Extension durchgeführt wurden, sowie alle aufgetretenen Fehlerpunkte. Sie sehen auch den exakten Inhalt, den Xpdf aus dem PDF extrahiert hat:

Bildschirmfoto 2013-12-09 um 11:36:16 Uhr

Wenn das Protokoll einen Fehlerpunkt anzeigt, geben Sie diesen bitte in allen Supportanfragen an, die Sie einreichen.

Xpdf Integration Fehlercodes

Wenn Xpdf Probleme bei der Ausführung hatte, wird einer der unten aufgeführten Fehlercodes im Protokoll angezeigt.

Exit-CodeBeschreibung
0Befehl erfolgreich ausgeführt
1Auffangbehälter für jeden nicht spezifizierten Fehler
2Berechtigungsproblem, stellen Sie sicher, dass www-data (oder Ihr Webserver-Benutzer) die Berechtigung zum Ausführen von pdftotext hat
11Segmentierungsfehler. Verwenden Sie die richtige Xpdf-Binärdatei für Ihre Serverumgebung?
126Es gibt ein Berechtigungsproblem beim Ausführen von pdftotext durch den Webserver-Benutzer. Bitte überprüfen Sie mit Ihrem Hoster, ob die Berechtigungen korrekt sind.
127Ihr Server konnte pdftotext nicht ausführen. Bitte überprüfen Sie mit Ihrem Hoster, ob der Webserver-Benutzer pdftotext ausführen kann.
139Es gibt ein Berechtigungsproblem beim Ausführen von pdftotext durch den Webserver-Benutzer. Bitte überprüfen Sie mit Ihrem Hoster, ob die Berechtigungen korrekt sind.

Änderungsprotokoll

1.3.2

  • [Verbesserung] Fügt Escaping zu Shell-Befehlsargumenten hinzu
  • [Korrektur] Korrigierter Link zur Erweiterungsdokumentation

1.3.1

  • [Korrektur] Erstellung dynamischer Eigenschaften in PHP 8.2+ veraltet

1.3.0

  • [Neu] Fügt Unterstützung für pdfinfo zur Extraktion von PDF-Metadaten hinzu
  • [Update] Updater aktualisiert

1.2.0

  • [Neu] Fügt Unterstützung für SearchWP 4 hinzu

1.1.6

  • [Neu] Zeigt eine Benachrichtigung an, wenn exec() nicht verfügbar ist, da es notwendig ist
  • [Update] Updater aktualisiert

1.1.5

  • [Änderung] Xpdf ist jetzt XpdfReader, was zu einer Änderung der Befehlsformatierung führte. SIE MÜSSEN AUCH pdftotext AKTUALISIEREN. Bitte sehen Sie in der Dokumentation der Xpdf-Integration nach einem Link zur XpdfReader-Website, um eine aktualisierte Version herunterzuladen.
  • [Update] Updater aktualisiert

1.1.3

  • [Update] Updater aktualisiert
  • [Änderung] Mindestversion von SearchWP aktualisiert

1.1.2

  • [Verbesserung] Bessere Handhabung von Exit-Codes

1.1.1

  • [Neu] Neuer Filter: searchwp_xpdf_command, der die Manipulation des Xpdf-Befehls ermöglicht

1.1

  • [Verbesserung] Unterstützung für automatische Updates basierend auf dem SearchWP-Lizenzschlüssel hinzugefügt

0.7.2

  • [Korrektur] Bessere Handhabung von Windows-Verzeichnistrennzeichen

0.7

  • Erste Veröffentlichung

Erstellen Sie noch heute eine bessere WordPress-Sucherfahrung

Verlieren Sie nie wieder Besucher an unzureichende Suchergebnisse. SearchWP macht die Erstellung Ihrer eigenen intelligenten WordPress-Suche schnell und einfach.

Get SearchWP Now
Symbol für mehrere Suchmaschinen