Python: запись текста в документ Word 2003 в определенном месте на странице

Я использую Python 2.7, Windows 7 и Word 2003. Эти три не могут измениться (ну за исключением, возможно, версии python). Я работаю в области юриспруденции, и у адвокатов есть примерно 3 возражения (просто большой фрагмент текста, возможно, 5 абзацев), которые необходимо вставить в текстовый документ в определенном месте. Теперь вместо того, чтобы копировать и вставлять возражение там, где оно необходимо, моя идея состоит в том, чтобы пользователь прошел через документ, добавив специальное слово / фразу (заполнитель, если хотите), который не будет найден где-либо в документе. Затем запустите некоторый код и оставьте Python для заполнения. Может быть, не самый умный способ сделать это, но я нуб. Я практиковался с тестовой страницей и вставил нижеприведенный текст в качестве заполнителей (дополнительный "о" означает возражение)

oone

otwo

othree

Ниже то, что я имею до сих пор. У меня два вопроса

  1. У вас есть другие предложения по этому поводу?
  2. Мой код вставляет строку в правильном порядке, но форматирование выходит за пределы окна и записывается в мою строку 6 раз вместо 1. Как я могу решить проблему форматирования, чтобы он просто записывал текст в место, где находится заполнитель в?

    import sys
    import fileinput
    f = open('work.doc', 'r+')
    obj1 = "oone"
    obj2 = "otwo"
    obj3 = "othree"
    for line in fileinput.input('work.doc'):
        if obj1 in line:
            f.write("Objection 1")
        elif obj2 in line:
            f.write("Objection 2")
        elif obj3 in line:
            f.write("Objection 3")
        else:
            f.write("No Objection")
    f.close
    

1 ответ

Вы можете использовать python-uno для загрузки документа в OpenOffice и манипулирования им с помощью интерфейса UNO. На сайте, на который я только что ссылался, есть пример кода, с которого можно начать.

Другие вопросы по тегам