#884 - Estrarre il testo contenuto in un file PDF con Xpdf

Tramite Xpdf, scaricabili dal sito http://www.foolabs.com/xpdf/download.html sotto licenza GNU (GPL), possiamo effettuare innumerevoli operazioni su file PDF, come salvare le immagini, estrapolarne il testo, vedere l'autore, la versione, ecc.

In questo script ci occuperemo dell'estrapolazione del testo per poi poterlo utilizzare nelle nostre applicazioni, magari per indicizzare il file all'interno del nostro motore di ricerca.

I tools sono funzionanti per diversi piattaforme e nel nostro caso ci limiteremo ad utilizzare la versione per DOS, comandabile da riga di comando.

Per poter eseguire lo script è necessario disporre dei permessi di esecuzione all'interno della cartella dove si trova il file pdftotext.exe.

Process process = new Process();
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.CreateNoWindow = true;
process.StartInfo.FileName = @"G:\AspItalia\Script\PDF\Pdf2Text\pdftotext.exe";
process.StartInfo.Arguments = "-enc UTF-8 -eol dos \"" + @"G:\AspItalia\Script\PDF\Pdf2Text\testFile.pdf" + "\" -";
process.StartInfo.WorkingDirectory = @"G:\AspItalia\Script\PDF\Pdf2Text\";

process.Start();

string end = process.StandardOutput.ReadToEnd();

Encoding enc = process.StandardOutput.CurrentEncoding;
byte[] output = enc.GetBytes(end);
return System.Text.Encoding.UTF8.GetString(output);

La libreria è molto performante, ma è consigliabile l'utilizzo di questo script all'interno di un thread separato da quello legato alla nostra GUI, perchè nell'estrapolare il testo da un documento di grandi dimensioni si può arrivare anche ad alcuni minuti di durata per l'intera operazione.


Approfondimenti

Commenti

Esprimi il tuo giudizio su questo script:

Per procedere devi essere autenticato.

Per inserire un commento, devi registrarti alla nostra community.




IN EVIDENZA
MISC