Wie Text von MS Word-Dokument in C # (.NET) laden?
Frage
Wie lade ich MS Word-Dokument (.doc und .docx) in dem Speicher (variabel), ohne dass dies zu tun:
wordApp.Documents.Open
Ich will nicht MS Word öffnen, ich will nur, dass der Text nach innen.
Du hast mich für DOCX zu beantworten, aber was DOC? Ich will frei und leistungsstarke Lösung - nicht 12.000 Instanzen von Word zu öffnen, um sie alle zu verarbeiten. :( Aspose ist kommerzielles Produkt, und $ 900 ist ein viel zu viel für das, was ich tue.
Lösung
Sie können wordconv.exe verwenden, die Teil des Office Compatibility Pack ist von doc zu konvertieren docx.
Rufen Sie den Befehl wie folgt: "C: \ Programme \ Microsoft Office \ Office12 \ wordconv.exe" -oice -NMe Eingabedatei Ausgabedatei
Ich bin mir nicht sicher, ob Sie Wort für es installiert ausführen müssen, aber es funktioniert. Ich benutze es lokal als Windows-Shell-Befehl alte Office-Dateien zu 2007-Format zu konvertieren, wenn ich will.
Andere Tipps
Für docx formatiert Word-Dokumente fand ich diesen interessanten Artikel über die Codeproject
DocxToText Verwenden von Text von DOCX-Dateien zu Extrahieren
In dem Artikel der Autor bespricht Strippen nur die Worte selbst.
Für Ihre doc (nicht-docx) Word-Dokumente andere als die Office-APIs und (im Hintergrund) Laichen eine Instanz von Word Sie könnten versuchen Beschuss aus einem der vielen verschiedenen Doc2Docx Konverter auf dem Markt und dann die Anwendung obige Verfahren für beide.
Wenn Sie mit docx beschäftigen Sie können dies tun, ohne jede Interop mit Word zu tun DOCX-Datei tatsächlich eine ZIP enthält eine XML-Datei, können Sie die XML lesen Bitte beachten Sie die unten stehenden Links
http: / /conceptdev.blogspot.com/2007/03/open-docx-using-c-to-extract-text-for.html
Ich habe vor kurzem einige der Forschung zu diesem Thema. Es stellt sich heraus, dass in der Lage sein, Word-Dateien ohne Wort selbst einige sehr teure Werkzeuge benötigen öffnen programmatisch zu manipulieren.
Es gibt einen Artikel über Code Projekt auf Word- manipulieren, können Sie es nützlich finden. Der Autor einen C # COM-Wrapper baut mit Anrufen zu Word für den Umgang. Es sieht aus wie es aufspringt tatsächlich das Wort, obwohl Anwendung.
Dieser Beitrag über an die Neowin Foren zu vielversprechend aussieht. Es enthält nicht wenige PInvoked fordert zum Zwecke der Textextraktion.
Vielleicht, wenn Sie einen Weg finden könnten, das Fenster zu halten versteckt wäre es akzeptabel sein.
Aspose hat eine Komponente zu lesen, ändern und Word-Dokumente zu schreiben. Hier ist das Produkt Link: Aspose.Words für .NET und Java
Aspose.Words ermöglicht .NET und Java Anwendungen zu lesen, ändern und schreiben Word®-Dokumente ohne Verwendung Microsoft Word®. Aspose.Words Stützen Eine Vielzahl von Funktionen, einschließlich Dokumentenerstellung, Inhalt und Formatierung Manipulation, leistungsstarke Mail fusionieren Fähigkeiten, umfassende Unterstützung von DOC, OOXML, RTF, WordprocessingML, HTML, Opendocument und PDF-Format. Aspose.Words ist wirklich die erschwinglich, schnellste und funktionsreiche Word-Komponente auf dem Markt.
Mit docxtemplater , können Sie einfach den vollständigen Text eines Wortes erhalten (funktioniert mit docx nur).
Hier ist der Code (Node.JS)
DocxTemplater=require('docxtemplater');
doc=new DocxTemplater().loadFromFile("input.docx");
result=doc.getFullText();
Dies ist nur drei Zeilen Code und hängt nicht von jedem Wort Instanz (alle Ebene JS)
Das meine ich nicht ein Antagonist sein, aber warum?
Ich habe Daten aus Word-Dokumenten auf Linux-Servern mit Word2X oder AbiWord extrahiert und in Abhängigkeit von der Anzahl und der Vielfalt der Dokumente: es gibt immer Fehler bei der Extraktion sein. Es ist schlimmer, desto mehr Kugeln, Seitenumbrüche Dokumentabschnitte und andere „besondere“ kennzeichnet es.
Ich verstehe, gibt es Optionen, jetzt Openoffice zu automatisieren, Dokumente zu verarbeiten, aber mein Rat ist, wenn Sie können, nur Word verwenden Word-Dokumente zu verarbeiten.