[Python-es] Manipulando documentos MS Word

Antonio Carrasco antoniojezu en hotmail.com
Vie Mayo 3 20:04:52 CEST 2002


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.

-----------------------
Zalu2.
Antonio Carrasco.


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