texto procesamiento open office documento desplazarse dentro como python ms-word common-lisp openxml

python - procesamiento - como desplazarse dentro de un documento de texto



¿Cómo insertar comentarios mediante programación en un documento de Microsoft Word? (2)

Aquí esta lo que hice:

  1. Crea un documento simple con la palabra (es decir, uno muy pequeño)
  2. Añadir un comentario en Word
  3. Guardar como docx.
  4. Utilice el módulo zip de python para acceder al archivo (los archivos docx son archivos ZIP).
  5. Vuelque el contenido de la entrada "word / document.xml" en el archivo. Este es el XML del documento en sí.

Esto debería darle una idea de lo que debe hacer. Después de eso, puede usar una de las bibliotecas XML en Python para analizar el documento, cambiarlo y agregarlo a un nuevo archivo ZIP con la extensión ".docx". Simplemente copie todas las demás entradas del ZIP original y tendrá un nuevo documento de Word válido.

También hay una biblioteca que podría ayudar: openxmllib

Buscando una forma de insertar comentarios mediante programación (usando la función de comentarios en Word) en una ubicación específica en un documento de MS Word. Preferiría un enfoque que se pueda usar en las versiones recientes de los formatos estándar de MS Word y se pueda implementar en un entorno que no sea de Windows (lo ideal sería usar Python y / o Common Lisp). He estado mirando el SDK de OpenXML pero parece que no puedo encontrar una solución allí.


Si esto es del lado del servidor (no interactivo) el uso de la aplicación de Word no está soportado (pero veo que esto no es aplicable). Por lo tanto, tome esa ruta o use el SDK OpenXML para conocer el marcado necesario para crear un comentario. Con ese conocimiento, todo se trata de manipular datos.

El formato .docx es un ZIP de archivos XML con una estructura definida, de modo que una vez que ingresa al ZIP y obtiene el archivo XML correcto, se convierte en una cuestión de modificación de un DOM XML.

La mejor ruta puede ser tomar un docx, copiarlo, agregar un comentario (usando Word) a uno, y comparar. Un diff le mostrará el tipo de elementos / estructuras que necesita buscar en el SDK (o estándar ISO / Ecma).