Question

Comment charger un document MS Word (.doc et .docx) en mémoire (variable) sans le faire?:

wordApp.Documents.Open

Je ne veux pas ouvrir MS Word, je veux juste ce texte à l'intérieur.

Vous m'avez donné la réponse pour DOCX, mais qu'en est-il de DOC? Je souhaite une solution gratuite et performante - ne pas ouvrir 12 000 instances de Word pour toutes les traiter. :( Aspose est un produit commercial et 900 $, c’est beaucoup trop pour ce que je fais.

Était-ce utile?

La solution

Vous pouvez utiliser wordconv.exe, qui fait partie du pack de compatibilité Office, pour convertir un document doc en docx.

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

Appelez simplement la commande comme suit: " C: \ Program Files \ Microsoft Office \ Office12 \ wordconv.exe " -oice -nme InputFile OutputFile

Je ne suis pas sûr d'avoir besoin de Word pour pouvoir fonctionner, mais cela fonctionne. Je l’utilise localement comme commande shell Windows pour convertir les anciens fichiers Office au format 2007 à tout moment.

Autres conseils

Pour les documents Word au format docx, j'ai trouvé cet article intéressant dans CodeProject

Utiliser DocxToText pour extraire du texte à partir de fichiers DOCX

Dans l'article, l'auteur discute de la suppression des mots eux-mêmes.

Pour votre document Word (non docx), les documents autres que ceux utilisant les API Office et (en arrière-plan) générant une instance de Word, vous pouvez essayer de vous adresser à l'un des nombreux convertisseurs Doc2Docx du marché, puis d'appliquer la processus ci-dessus pour les deux.

Si vous utilisez docx, vous pouvez le faire sans interopérabilité avec Word. fichier .docx en fait un ZIP contient un fichier XML, vous pouvez lire le fichier XML Veuillez vous référer aux liens ci-dessous

http: / /conceptdev.blogspot.com/2007/03/open-docx-using-c-to-extract-text-for.html

Formats de fichier XML ouverts Office (2007)

J'ai récemment effectué des recherches sur ce sujet. Il s'avère que pour pouvoir manipuler des fichiers Word de manière programmée sans ouvrir Word lui-même, vous avez besoin d'outils très coûteux.

Un article est disponible sur le projet de code relatif à la manipulation de Word . trouve cela utile. L'auteur crée un wrapper COM C # pour traiter les appels à Word. Il semble que cela ouvre en réalité le mot application.

Ce message est disponible sur les forums neowin semblent également prometteurs. Il inclut de nombreux appels PInvoked à des fins d’extraction de texte.

Peut-être que si vous pouviez trouver un moyen de garder la fenêtre cachée, cela serait acceptable.

Aspose a un composant pour lire, modifier et écrire des documents Word. Voici le lien du produit: Aspose.Words pour .NET et Java

  

Aspose.Words active .NET et Java.   applications pour lire, modifier et écrire   Documents Word® sans utiliser   Microsoft Word®. Aspose.Words prend en charge   un large éventail de fonctionnalités, y compris   création de document, contenu et   manipulation de formatage, courrier puissant   fusionner des compétences, un soutien complet   de DOC, OOXML, RTF, WordprocessingML,   Formats HTML, OpenDocument et PDF.   Aspose.Words est vraiment le plus   abordable, rapide et riche en fonctionnalités   Composant Word sur le marché.

Avec docxtemplater , vous pouvez facilement obtenir le texte intégral d'un mot (fonctionne avec docx uniquement).

Voici le code (Node.JS)

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

Il ne s'agit que de trois lignes de code et ne dépend d'aucune instance de mot (tout JS)

Je ne veux pas être un antagoniste, mais pourquoi?

J'ai extrait des données de documents Word sur des serveurs Linux à l'aide de Word2X ou d'AbiWord et, en fonction du nombre et de la variété des documents, il y aura toujours des erreurs lors de l'extraction. C’est pire, plus il ya de puces, de sauts de page, de sections de document et d’autres "spéciaux" caractéristiques il y a.

Je comprends qu'il existe maintenant des options pour automatiser OpenOffice afin de traiter les documents, mais mon conseil est, si vous le pouvez, d'utiliser Word uniquement pour traiter des documents Word.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top