2010-09-06 26 views

risposta

6

È possibile utilizzare i filtri progettati per/utilizzati dal servizio di indicizzazione. Sono progettati per estrarre il testo normale da vari documenti, che è utile per la ricerca all'interno di un documento. Puoi usarlo per file Office, PDF, HTML e così via, praticamente qualsiasi tipo di file che ha un filtro. L'unico svantaggio è che devi installare questi filtri sul server, quindi se non hai accesso diretto al server questo potrebbe non essere possibile. Alcuni filtri sono preinstallati con Windows, ma alcuni, come PDF, devi installarti. Per un'implementazione C# consulta questo articolo: Using IFilter in C#

+0

Questo è esattamente ciò di cui avevo bisogno. Grazie! –

0

modello a oggetti Utilizzare Word, è l'unico modo affidabile dal formato Word non è aperto e variano da versione a versione.

+0

Ma come? Questa è una risposta inutile senza un esempio di codice. – KyleM

4

PDF:

Sono disponibili varie opzioni.

pdftotext:
Scaricare il XPDF utilities. Nel file .zip ci sono varie utility a riga di comando. Uno è pdftotext(.exe). Può estrarre tutto il contenuto del testo da un file PDF funzionante. Digitare pdftotext -help per informazioni su alcuni se i suoi parametri della riga di comando.

Ghostscript:
Installare il latest version of Ghostscript (v.8.71). Ghostscript è un interprete PostScript e PDF. Si può usare per estrarre il testo da un PDF così: testo di output

gswin32c.exe^
-q^
-sFONTPATH=c:/windows/fonts^
-dNODISPLAY^
-dSAFER^
-dDELAYBIND^
-dWRITESYSTEMDICT^
-dSIMPLE^
-f ps2ascii.ps^
-dFirstPage=3^
-dLastPage=7^
input.pdf^
-dQUIET 

Questa volontà contenuta nelle pagine 3-7 di input.pdf a stdout. È possibile reindirizzare questo ad un file aggiungendo > /path/to/output.txt al comando. (Controllare per assicurarsi che il programma di utilità PostScript ps2ascii.ps è presente in lib sottodirectory del vostro Ghostscript.)

Se si omette il parametro -dSIMPLE, l'output di testo sarà indovinare interruzioni di linea e spaziature di parola. Per i dettagli guarda i commenti all'interno del file ps2ascii.ps stesso. Puoi anche sostituire quel parametro con -dCOMPLEX per ottenere ulteriori informazioni sulla formattazione del testo.

+0

XPDF funziona meglio di qualsiasi cosa che ho trovato – chrisfs

0

Si potrebbe voler esaminare PDFBox. Ecco un link a una pagina del progetto del codice che mostra come usarlo in C# così come altri commenti utili.

http://www.codeproject.com/KB/string/pdf2text.aspx

Per quanto riguarda Word il suggerimento di utilizzare il modello di oggetti di Word è probabilmente la più accurata.