Оглавление
Установить с помощью Пипа
pip install Spire.Doc
Ссылки по теме
Работа с большим количеством документов Word может быть очень сложной задачей. Будь то редактирование или просмотр большого количества документов, на открытие и закрытие документов тратится много времени. Более того, совместное использование и получение большого количества отдельных документов Word может раздражать, поскольку для этого может потребоваться множество повторяющихся операций отправки и получения как отправителем, так и получателем. Поэтому для повышения эффективности и экономии времени рекомендуется объединить связанные документы Word в один файл. Из этой статьи вы узнаете, как легко использовать Spire.Doc for Python объединить документы Word через программы Python.
- Объединение документов Word путем вставки файлов с помощью 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()

Объединение документов 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()

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