2008-10-18 12 views
6

Come faccio a caricare documenti MS Word (.doc e .docx) di memoria (variabile) senza fare questo ?:Come caricare il testo del documento MS Word in C# (.NET)?

wordApp.Documents.Open

non voglio aprire MS Word , Voglio solo quel testo dentro.

Mi hai dato la risposta per DOCX, ma che dire di DOC? Voglio una soluzione gratuita e ad alte prestazioni - non aprire 12.000 istanze di Word per elaborarle tutte. :(Aspose è un prodotto commerciale e 900 $ è un modo troppo per quello che faccio

risposta

4

È possibile utilizzare wordconv.exe che fa parte del pacchetto di compatibilità Office per la conversione da doc a docx.

http://www.microsoft.com/downloads/details.aspx?familyid=941b3470-3ae9-4aee-8f43-c6bb74cd1466&displaylang=en

basta chiamare il comando in questo modo: "C: \ Programmi \ Microsoft Office \ Office12 \ wordconv.exe" -oice -nme InputFile OutputFile

non sono sicuro se si bisogno di parola installato per farlo funzionare ma funziona. Lo uso localmente come comando di windows shell per convertire i vecchi file office in formato 2007 ogni volta che voglio.

2

Per docx formattato documenti di Word ho trovato questo interessante articolo su CodeProject il

Using DocxToText to Extract Text from DOCX Files

Nell'articolo l'autore discute eliminando solo le parole stesse.

Per documenti di documenti doc (non docx) diversi dall'utilizzo delle API di Office e (in background) generazione di un'istanza di Word, è possibile provare a eseguire il bombardamento su uno dei molti diversi convertitori Doc2Docx sul mercato e quindi applicare il processo di cui sopra per entrambi.

+0

C'è qualche doc gratis alla soluzione docx? – Skuta

-1

Non intendo essere un antagonista, ma perché?

Ho estratto i dati da documenti Word su server Linux utilizzando Word2X o AbiWord e in base al numero e alla varietà di documenti ci saranno sempre errori con l'estrazione. È peggio, più proiettili, interruzioni di pagina, sezioni di documenti e altre funzioni "speciali" ci sono.

Capisco che ora ci sono opzioni per automatizzare OpenOffice per elaborare i documenti, ma il mio consiglio è, se puoi, basta usare Word per elaborare i documenti di Word.

+0

Se voglio elaborare 12.000 documenti di parole ogni giorno .. Indovina perché non voglio aprire 12000 istanze di Word. – Skuta

1

Recentemente ho fatto qualche ricerca su questo argomento. Si scopre che per essere in grado di manipolare i file di parole in modo programmatico senza aprire la parola stessa sono necessari alcuni strumenti molto costosi.

C'è un articolo oltre a code project on manipulating Word, potrebbe essere utile. L'autore crea un wrapper COM C# per gestire le chiamate a Word. Sembra che in realtà si apre l'applicazione di parole però.

This post over at the neowin forums sembra troppo promettente. Include alcune chiamate PInvoked a scopo di estrazione del testo.

Forse se riuscissi a trovare un modo per tenere nascosta la finestra, sarebbe accettabile.

0

Aspose ha un componente per leggere, modificare e scrivere documenti Word. ecco il link del prodotto: Aspose.Words for .NET and Java

Aspose.Words consente.NET e Java applicazioni Word per leggere, modificare e scrivere documenti senza utilizzare Microsoft Word®. Aspose.Words supporta una vasta gamma di funzioni, tra creazione di documenti, contenuti e manipolazione formattazione, posta potente unire abilità, supporto completo di DOC, OOXML, RTF, WordprocessingML, HTML, OpenDocument e PDF. Aspose.Words è davvero il componente di testo più economico, veloce e ricco di funzionalità più disponibile sul mercato.

+0

libreria gratuita, -> Aspose: US $ 899 – Skuta

0

Con docxtemplater, è possibile ottenere facilmente il testo completo di una parola (funziona solo con docx).

Ecco il codice (Node.JS)

DocxTemplater=require('docxtemplater'); doc=new DocxTemplater().loadFromFile("input.docx"); result=doc.getFullText();

Questo è solo tre righe di codice e non dipende da qualsiasi istanza di parola (tutto normale JS)