Question

Existe-t-il une méthode de programmation pour extraire les équations (et éventuellement les images) d'un document MS Word? J'ai cherché sur Google, mais je n'ai encore rien trouvé qui me permette de travailler. Si possible, j'aimerais pouvoir le faire avec VB.NET ou C #, mais je peux en choisir assez pour n’importe quel langage pour pirater une DLL. Merci!

MODIFIER: Je souhaite maintenant extraire les équations de Word 2003, mais si la conversion en 2007 / Open XML est requise, c'est très bien.

Était-ce utile?

La solution

Je ne sais pas si cela vous aidera, mais le modèle objet de Word 2000/2003 contient une InlineShapes collection faisant partie de l'objet Document qui représente des images incorporées et éventuellement des objets similaires, tels que des équations.

Certains codes VBA permettant de copier le premier élément dans le presse-papiers pourraient vous aider à les extraire:

ThisDocument.InlineShapes.Items(1).Select
Selection.Copy

Il est également accessible en .NET, lien MSDN .

Autres conseils

Quel est le format Word de vos documents? S'ils sont au format Open XML (extension de fichier .docx), vous pouvez utiliser l'élément SDK Open XML disponible auprès de Microsoft pour extraire les images et le contenu incorporé.

Un fichier Open XML n'est rien d'autre qu'une archive zip utilisant une structure spéciale. Vous trouverez des exemples dans le SDK pour savoir comment accéder à des parties de cette archive zip. En fait, vous pouvez utiliser n'importe quelle bibliothèque compatible avec le zip pour extraire le contenu du paquet de documents.

Si les documents utilisent toujours l'ancien format binaire, les choses sont un peu plus compliquées. Je pense que le moyen le plus simple serait de convertir les documents au format Open XML. Il existe plusieurs façons de procéder:

  • Obtenez le b2xtranslator gratuit et ouvert de SourceForge, qui vous offre des dll C # pour la conversion de fichiers.
  • Installez les Pack de compatibilité et utilisez la ligne de commande suivante pour la conversion:

    "C:\Program Files\Microsoft Office\Office12\wordconv.exe" -oice -nme input\_file output_file

où input_file et output_file doivent être des noms de chemin complets.

Essayez de consulter le convertisseur Word-to-latex . Cela nécessite le framework .Net et bien que la source ne soit pas encore ouverte, l’auteur pose des questions à ce sujet.

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