2010-11-19 31 views
5

Gracias de antemano por su ayuda y asistencia.Diff 2 Open XML Word Documents

Estoy tratando de encontrar alguna utilidad/dirección sobre la mejor manera de comparar archivos docx de dos palabras (versión original y modificada) para las diferencias y luego resaltar los cambios en la versión modificada en C#.

Nuevamente muchas gracias por la asistencia que puede brindar.

Respuesta

4

El OpenXML SDK 2.0 Toolkit viene con una herramienta que hace esto. Se llama OpenXMLDiff. También puede leer sobre qué más ofrece el kit de herramientas aquí: An introduction to Open XML SDK 2.0.

Si eso no es lo que necesita, entonces tendrá que examinar cada paquete de documentos Open XML y determinar las diferencias entre ellos.

0

Un archivo docx es un archivo zip renombrado. Podría cambiarle el nombre a .zip y extraerlo.

Sin embargo, el docx no es un archivo comprimido de un solo archivo ... es una jerarquía de carpetas con archivos xml. Así que podrías extraerlo y crear una utilidad de comparación como Beyond Compare para obtener las diferencias.

¿No estoy seguro de cómo presentaría las diferencias? ¿Desea mostrar visualmente la diferencia en los documentos de Word? p.ej. este párrafo falta en el segundo archivo, etc.

+0

Hola gracias por su respuesta, tengo el control del editor de documentos que se usa para crear estos documentos, así que mi intención fue desactivar la opción resaltar en el editor para poder usarlo como un mecanismo para resaltar cambios/adiciones a el documento. – Emlyn

0

El contenido del documento está etiquetado con XML y desglosado dependiendo de las opciones, cambios, énfasis, etc. que se agreguen/modifiquen/eliminen entre guardados. Algo tan simple como agregar y eliminar una nueva línea puede dar como resultado una estructura XML física diferente. No habrá ninguna diferencia en el contenido real final, pero el XML podría ser diferente.

¿Qué cuenta exactamente como una "diferencia" que desea identificar? Eso determinará la cantidad de análisis de la estructura interna que necesita hacer y las técnicas o herramientas que puede usar para identificar las diferencias.

0

Hay algunas herramientas de diff OpenXML listadas here.

0

Actualizaré este tema un poco. Actualmente "Open XML SDK 2.5 Productivity Tool" hace la cosa. Lo encontré muy útil en diferentes archivos pptx \ docx \ xlsx. Open XML SDK 2.5

Si está utilizando Visual Studio también se debe considerar la adición de este plugin: Open XML Package Editor for Visual Studio. Es muy útil cuando tiene un vistazo rápido al archivo o cambia algo.

Cuestiones relacionadas