Un problema de buscar dentro de un archivo de documento XML palabra es que el texto se puede dividir en elementos en cualquier carácter. Ciertamente se dividirá si el formateo es diferente, por ejemplo, como en Hello World. Pero puede dividirse en cualquier punto y eso es válido en OOXML. ¡Así que terminarás lidiando con XML de esta manera, incluso si el formato no cambia en el medio de la frase!
<w:p w:rsidR="00C07F31" w:rsidRDefault="003F6D7A">
<w:r w:rsidRPr="003F6D7A">
<w:rPr>
<w:b />
</w:rPr>
<w:t>Hello</w:t>
</w:r>
<w:r>
<w:t xml:space="preserve">World.</w:t>
</w:r>
</w:p>
Por supuesto, puede cargarlo en un árbol DOM XML (no estoy seguro de lo que será en Python) y pedir para obtener sólo texto como una cadena, pero que podría terminar con muchos otros "callejones sin salida" solo porque la especificación OOXML tiene alrededor de 6000 páginas y MS Word puede escribir muchas "cosas" que no espera. Entonces podrías terminar escribiendo tu propia biblioteca de procesamiento de documentos.
O puede intentar con Aspose.Words.
Está disponible como productos .NET y Java. Ambos se pueden usar desde Python. Uno vía COM Interop otro a través de JPype. Consulte la Guía de programadores de Aspose.Words, utilice Aspose.Words en otros lenguajes de programación (lo siento, no puedo publicar un segundo enlace, stackoverflow aún no me lo permite).
Ya tengo todo el xml file.Now i Quiero preguntarle ¿Cómo podemos obtener todos los valores (negrita, cursiva, color, nombre de letra, espacio) y toda la configuración de formato? ¿Cómo podemos obtener estos valores de xml? – user1006544