[Python-es] Manipulando documentos MS Word

Marcos Sánchez Provencio rapto en arrakis.es
Vie Mayo 3 20:20:56 CEST 2002


El vie, 03-05-2002 a las 20:04, Antonio Carrasco escribió:
> VIERNES!. Pero me he estrellado. Esto más que una consulta, creo que es a
> título informativo. Desarrollando una herramienta de registro documental que
> ofrece la posibilidad de sustituir campos en plantillas creadas en MS Word,
> Excel, Project, ... me encuentro con que al manipular estos archivos
> binarios, utilizando el replace de las cadenas, corrompe los archivos.
> 
> Me explico un poquito mejor. Por ejemplo, un documento de especificación de
> requisitos con campos a sustituir como autor, empresa, fecha de creación,
> código del proyecto u otros, quedan corrompidos.
> 
> Me he paseado por la documentación de www.python.org, por los mail-archive,
> y encuentro una referencia a wvWare (www.wvware.com), pero esta herramienta
> sólo convierte archivos de MSWord a html, etc.. (creo que es lo que utiliza
> el kde word, si no me equivoco).
> 
> La única solución que he encontrado es utilizar documentos .rtf en lugar de
> .doc. Pero esto no resuelve mi problema para archivos de tipo .xls o .prj.
> 
> Otra de las soluciones es trabajar con COM y python, pero el servidor es una
> máquina unix. Vaya. Otra sería delegar en una máquina windows que modificara
> el archivo y lo devolviera, pero obliga a tener dos máquinas en la empresa,
> y a un desarrollo demasiado complicado.
> 
> Total, que jugando con los documentos de MSWord con el Notepad, me encuentro
> que si sustituyo cadenas por otras del mismo tamaño, el archivo no se
> corrompe, luego esta es la única solución viable hasta ahora y la que
> seguramente utilize.
> 
> Espero que sirva de información para que no os estrelléis donde yo, y si
> alguien ha tenido alguna experiencia manipulando documentos de este tipo con
> python y no le importa compartirlo o si me he saltado algo que debería tener
> en cuenta o que debería haber provado, que aporte. Gracias.
> 
> -----------------------
Ya sé que éste no es un foro típico Bill-Gates-es-el-demonio, pero éste
es uno más de los resultados de utilizar productos de Microsoft. Uno
queda cautivo de ellos hasta el fin de los tiempos. El sistema de
substituir cadenas binarias dentro de los ficheros ya escritos debe ser
de los más peligrosos de la historia (y, desde luego, yo estaría
temblando de tener que usarlo). Vamos, que me parece muy poco fiable. La
alternativa de usar los productos originales (por cierto, igual te vale
el producto 
http://codeweavers.com/products/office/
) me parece igualmente poco fiables. El uso de un procesador de texto
interactivo para la generación de documentos es frustrantemente lento.

En resumen "yet another" motivo para huir de los productos de Microsoft.
Incidentalmente, OpenOffice ha sacado su versión 1.0 en castellano. Es
capaz de abrir varios de los formatos de MS Office. El formato nativo
está completamente documentado (ficheros xml comprimidos con zip), por
lo que es inmediato generarlos externamente y analizarlos y modificarlos
programáticamente. Y funciona perfectamente desde Linux, Solaris y
Windows, con una relación calidad/precio insuperable.

Hala, mis disculpas por el 'rollo'.





Más información sobre la lista de distribución Python-es