Проблема с поиском внутри XML-файла документа Word заключается в том, что текст можно разбить на элементы по любому символу. Он обязательно будет разделен, если форматирование отличается, например, как в Hello World. Но его можно разделить в любой момент, и это действительно в OOXML. Таким образом, вы столкнетесь с подобным XML, даже если форматирование не изменится в середине фразы!
<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>
Вы, конечно, можете загрузить его в дерево XML DOM (не уверен, что это будет в Python) и попросить получить текст только в виде строки, но вы можете оказаться во многих других «тупиках» только потому, что существует спецификация OOXML. 6000 страниц, и MS Word может написать много «всего», чего вы не ожидаете. Таким образом, вы могли бы написать свою собственную библиотеку обработки документов.
Или вы можете попробовать использовать Aspose.Words < / а>.
Он доступен как продукты .NET и Java. Оба могут использоваться из Python. Один через COM-взаимодействие, другой через JPype. См. Руководство программиста Aspose.Words, Использование Aspose.Words на других языках программирования (извините, я не могу опубликовать вторую ссылку, stackoverflow пока не позволяет).
person
romeok
schedule
15.11.2009