Категория

Python: объединить документы Word

2023-12-18 03:25:59 zaki zou

Работа с большим количеством документов Word может быть очень сложной задачей. Будь то редактирование или просмотр большого количества документов, на открытие и закрытие документов тратится много времени. Более того, совместное использование и получение большого количества отдельных документов Word может раздражать, поскольку для этого может потребоваться множество повторяющихся операций отправки и получения как отправителем, так и получателем. Поэтому для повышения эффективности и экономии времени рекомендуется объединить связанные документы Word в один файл. Из этой статьи вы узнаете, как легко использовать Spire.Doc for Python объединить документы Word через программы Python.

Установите Spire.Doc for Python

Для этого сценария требуется Spire.Doc for Python и Plum-Dispatch v1.7.4. Их можно легко установить в ваш VS Code с помощью следующей команды pip.

pip install Spire.Doc

Если вы не знаете, как установить, обратитесь к этому руководству: Как установить Spire.Doc for Python в VS Code

Объединение документов Word путем вставки файлов с помощью Python

Метод Document.insertTextFromFile() используется для вставки других документов Word в текущий, при этом вставленное содержимое начинается с новой страницы. Подробные шаги по объединению документов Word путем вставки следующие:

  • Создайте объект класса Document и загрузите документ Word с помощью метода Document.LoadFromFile().
  • Вставьте в него содержимое из другого документа с помощью метода Document.InsertTextFromFile().
  • Сохраните документ, используя метод Document.SaveToFile().
  • Python
from spire.doc import *
from spire.doc.common import *

# Create an object of Document class and load a Word document
doc = Document()
doc.LoadFromFile("Sample1.docx")

# Insert the content from another Word document to this one
doc.InsertTextFromFile("Sample2.docx", FileFormat.Auto)

# Save the document
doc.SaveToFile("output/InsertDocuments.docx")
doc.Close()

Python: Merge Word Documents

Объединение документов Word путем клонирования содержимого с помощью Python

Объединение документов Word также может быть достигнуто путем клонирования содержимого одного документа Word в другой. Этот метод сохраняет форматирование исходного документа, а контент, клонированный из другого документа, продолжается в конце текущего документа, не начиная новую страницу. Подробные шаги следующие:

  • Создайте два объекта класса Document и загрузите два документа Word с помощью метода Document.LoadFromFile().
  • Получите последний раздел целевого документа, используя метод Document.Sections.get_Item().
  • Прокрутите разделы документа, которые нужно клонировать, а затем просмотрите дочерние объекты разделов.
  • Получите дочерний объект раздела, используя метод Раздел.Body.ChildObjects.get_Item().
  • Добавьте дочерний объект в последний раздел целевого документа с помощью метода Раздел.Body.ChildObjects.Add().
  • Сохраните полученный документ с помощью метода Document.SaveToFile().
  • Python
from spire.doc import *
from spire.doc.common import *

# Create two objects of Document class and load two Word documents
doc1 = Document()
doc1.LoadFromFile("Sample1.docx")
doc2 = Document()
doc2.LoadFromFile("Sample2.docx")

# Get the last section of the first document
lastSection = doc1.Sections.get_Item(doc1.Sections.Count - 1)

# Loop through the sections in the second document
for i in range(doc2.Sections.Count):
    section = doc2.Sections.get_Item(i)
    # Loop through the child objects in the sections
    for j in range(section.Body.ChildObjects.Count):
        obj = section.Body.ChildObjects.get_Item(j)
        # Add the child objects from the second document to the last section of the first document
        lastSection.Body.ChildObjects.Add(obj.Clone())

# Save the result document
doc1.SaveToFile("output/MergeByCloning.docx")
doc1.Close()
doc2.Close()

Python: Merge Word Documents

Подать заявку на временную лицензию

Если вы хотите удалить сообщение об оценке из сгенерированных документов или избавиться от ограничений функции, пожалуйста запросите 30-дневную пробную лицензию для себя.

Смотрите также