una texto pasar modificar imagenes imagen extraer escaneada copiar convertir convertidor como .net vb.net ms-word extract equation

.net - texto - free ocr



Extrayendo ecuaciones e imágenes de Word (3)

¿Existe alguna forma programática para extraer ecuaciones (y posiblemente imágenes) de un documento de MS Word? He buscado en Google, pero todavía no he encontrado nada en lo que pueda hundirme y trabajar. Si es posible, me gustaría poder hacer esto con VB.NET o C #, pero puedo aprender lo suficiente de cualquier idioma para hackear una DLL. ¡Gracias!

EDITAR: en este momento estoy buscando extraer las ecuaciones de Word 2003, pero si se requiere convertirlo a 2007 / Open XML, está bien.


¿En qué formato de Word están sus documentos? Si están en formato XML abierto (extensión de archivo .docx), puede usar el SDK Open XML disponible de Microsoft para extraer imágenes y contenido incrustado.

Un archivo Open XML no es más que un archivo zip que utiliza una estructura especial. Encontrará ejemplos en el SDK de cómo acceder a partes de ese archivo zip. De hecho, podría usar cualquier biblioteca con capacidad de zip para extraer el contenido del paquete de documentos.

Si los documentos aún usan el formato binario anterior, las cosas son un poco más complicadas. Creo que la manera más fácil sería convertir los documentos al formato Open XML. Hay varias formas de hacer esto:

  • Obtenga el b2xtranslator gratuito y abierto de SourceForge que le ofrece dlls C # para la conversión de archivos.
  • Instale el paquete de compatibilidad de Microsoft y use la siguiente línea de comando para la conversión:

    "C: / Archivos de programa / Microsoft Office / Office12 / wordconv.exe" -oice -nme archivo de entrada archivo de salida

donde input_file y output_file deben ser nombres de ruta completos.


No sé si algo de esto ayudará, pero el modelo de objetos en Word 2000/2003 tiene una colección InlineShapes como parte del objeto Document que representa imágenes incrustadas y posiblemente objetos similares como ecuaciones.

Algunos códigos VBA para copiar el primer elemento en el portapapeles, lo que podría ayudarlo a extraerlos:

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

También se puede acceder en .NET, enlace de MSDN .


Intente ver el convertidor Word-to-latex . Requiere el framework .Net y aunque la fuente aún no está abierta, el autor sí invita preguntas al respecto.