SearchWP Documentation

Visualizza la guida all'installazione, sfoglia la Knowledge Base, scopri i numerosi hook di SearchWP

Integrazione Xpdf

Versione attuale: 1.3.2

Attenzione: Questa estensione richiede l'uso di exec() e richiede inoltre di installare autonomamente gli strumenti da riga di comando Xpdf.

SearchWP offre la funzionalità unica di estrarre testo semplice da file PDF caricati sul tuo sito WordPress. Di base, SearchWP tenta di farlo utilizzando solo PHP, ma a causa della complessità e della variazione del formato PDF, ciò a volte comporta un'estrazione inaccurata del contenuto. Inserisci Xpdf.

Xpdf dispone di un set di strumenti da riga di comando che devono essere installati sul tuo server affinché questa estensione funzioni. Le istruzioni sono incluse qui.

Utilizzando l'estensione Integrazione Xpdf puoi scaricare tutto il lavoro che PHP deve fare nell'elaborazione dei tuoi file PDF sugli strumenti da riga di comando di Xpdf, che sono estremamente veloci e accurati nell'estrarre contenuti dai tuoi PDF. Dopo aver attivato l'estensione, dovrai seguire le istruzioni di installazione. Una volta installato, SearchWP scaricherà il processo di estrazione del contenuto PDF su Xpdf.

Installazione degli strumenti da riga di comando Xpdf

Utilizzando questa estensione puoi utilizzare Xpdf per estrarre il contenuto dai tuoi PDF.

IMPORTANTE: Gli strumenti da riga di comando Xpdf non sono forniti in questo download dell'estensione. Devi seguire queste istruzioni per scaricare gli strumenti da riga di comando e caricarli in una posizione non pubblica (esterna alla tua directory Web).

Puoi scaricare gli strumenti da riga di comando Xpdf sia per Windows che per Linux su http://www.xpdfreader.com/download.html.

Installazione

Una volta scaricati gli strumenti da riga di comando per il tipo di server:

  1. Estrai xpdf-tools-linux-4.03.tar.gz (il numero di versione potrebbe essere diverso)
  2. Carica il binario pdftotext (trovato nella directory bin32 o bin64 dopo l'estrazione, a seconda dell'architettura del tuo server) in una posizione non pubblica, esterna alla tua directory Web
  3. Carica il binario pdfinfo (trovato nella directory bin32 o bin64 dopo l'estrazione, a seconda dell'architettura del tuo server) in una posizione non pubblica, esterna alla tua directory Web
  4. Assicurati che sia pdftotext che pdfinfo abbiano i permessi di esecuzione per l'utente PHP sul tuo server

L'ultimo passaggio consiste nell'indicare a SearchWP Integrazione Xpdf dove hai installato pdftotext e pdfinfo. Per fare ciò:

Aggiungi quanto segue al tuo plugin Personalizzazioni SearchWP, sostituendo /percorso/a/pdftotext con il percorso effettivo ai binari pdftotext e pdfinfo (non alla cartella) sul tuo 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.
} );

Fatto!

Aggiunta del supporto per password PDF nell'integrazione Xpdf

Xpdf supporta l'analisi di PDF protetti da password (lettura: non crittografati) utilizzando il filtro searchwp_xpdf_command. Questo filtro ti consente di manipolare direttamente il comando eseguito per avviare Xpdf, e poiché Xpdf supporta un'opzione per includere una password, puoi procedere e farlo in questo modo:

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

Testare manualmente l'integrazione Xpdf

Dopo aver caricato e attivato l'estensione di integrazione Xpdf e definito il percorso per pdftotext, puoi confermare manualmente che l'estrazione del testo di Xpdf funzioni come previsto su specifici PDF caricati nella tua libreria multimediale. Inizia andando alla schermata delle impostazioni di SearchWP (Impostazioni > SearchWP) e trova il link Integrazione Xpdf nelle Estensioni nella schermata delle impostazioni di SearchWP.

Nella schermata di test dell'integrazione Xpdf, puoi inserire l'ID del PDF che desideri testare:

Screenshot 2013-12-09 alle 11.34.24

L'ID può essere trovato navigando nella sezione Media e quindi facendo clic sul link Modifica del tuo PDF, l'ID sarà nell'URL, seguito da post=

Dopo aver inviato un ID valido, ti verrà fornito un registro dettagliato dei passaggi eseguiti dall'estensione di integrazione Xpdf e di eventuali punti di errore che potrebbero essersi verificati. Ti viene anche mostrato il contenuto esatto estratto da Xpdf dal PDF:

Screenshot 2013-12-09 alle 11.36.16

Se il registro mostra un punto di errore, includilo in qualsiasi richiesta di supporto che invii.

Codici di errore dell'integrazione Xpdf

Se Xpdf ha avuto problemi nell'esecuzione, uno dei codici di errore elencati di seguito sarà indicato nel registro.

Codice di uscitaDescrizione
0Comando eseguito con successo
1Cattura per qualsiasi errore non specificato
2Problema di permessi, verifica che www-data (o l'utente del tuo server web) abbia i permessi per eseguire pdftotext
11Errore di segmentazione. Stai usando il binario Xpdf corretto per il tuo ambiente server?
126C'è un problema di permessi nell'esecuzione di pdftotext dall'utente del server web. Verifica con il tuo host per assicurare i permessi corretti.
127Il tuo server non è stato in grado di eseguire pdftotext. Verifica con il tuo host per assicurare che l'utente del server web possa eseguire pdftotext.
139C'è un problema di permessi nell'esecuzione di pdftotext dall'utente del server web. Verifica con il tuo host per assicurare i permessi corretti.

Registro Modifiche

1.3.2

  • [Miglioramento] Aggiunge l'escape agli argomenti del comando shell
  • [Correzione] Corretto il link alla documentazione dell'estensione

1.3.1

  • [Correzione] Creazione di proprietà dinamica deprecata in PHP 8.2+

1.3.0

  • [Nuovo] Aggiunge il supporto per pdfinfo per estrarre metadati PDF
  • [Aggiornamento] Aggiornatore aggiornato

1.2.0

  • [Nuovo] Aggiunge il supporto per SearchWP 4

1.1.6

  • [Nuovo] Visualizza un avviso quando exec() non è disponibile poiché è necessario
  • [Aggiornamento] Aggiornatore aggiornato

1.1.5

  • [Modifica] Xpdf è ora XpdfReader, il che ha comportato una modifica nella formattazione del comando. DEVI AGGIORNARE ANCHE pdftotext. Si prega di consultare la documentazione dell'integrazione Xpdf per un link al sito web di XpdfReader per scaricare una versione aggiornata.
  • [Aggiornamento] Aggiornatore aggiornato

1.1.3

  • [Aggiornamento] Aggiornatore aggiornato
  • [Modifica] Versione minima richiesta di SearchWP aggiornata

1.1.2

  • [Miglioramento] Gestione migliore dei codici di uscita

1.1.1

  • [Nuovo] Nuovo filtro: searchwp_xpdf_command che consente la manipolazione del comando Xpdf

1.1

  • [Improvement] Aggiunto supporto per gli aggiornamenti automatici basati sulla chiave di licenza di SearchWP

0.7.2

  • [Correzione] Migliore gestione dei separatori di directory di Windows

0.7

  • Rilascio iniziale

Crea Oggi Stesso una Migliore Esperienza di Ricerca WordPress

Non perdere mai più visitatori a causa di risultati di ricerca inutili. SearchWP rende la creazione della tua ricerca intelligente WordPress veloce e facile.

Get SearchWP Now
Icona di motori di ricerca multipli