Перейти к содержимому

Как объединить файлы ворд в один документ

  • автор:

Объединение редакций документов

После отправки документа на рецензирование обратно может быть получено несколько копий с предложениями и изменениями. В этом случае можно объединить их в одном документе.

Объединение двух версий документа

  1. На вкладке Рецензирование нажмите кнопку Сравнить и выберите команду Объединить.
    Команда Во всплывающее окно можно выбрать исходный документ и измененный документ.
    объединение изображений
  2. В области Исходный документщелкните стрелку вниз и выберите документ, отправленный на рецензироние. Если вам нужно найти файл, щелкните значок папки. Помните, что это исходный документ, над который вы работали без каких-либо изменений.
    Исходные.
  3. В области Измененныйдокумент выберите документ, который вы хотите объединить.
    Пересмотренный
  4. В поле Пометка исправлений введите имя рецензента, чтобы знать, кто предложил изменения.
  5. Нажмите кнопку Дополнительные параметры, чтобы получить дополнительные параметры объединения документов.
    Дополнительно
  6. В разделе Показать изменения установите переключатель в положение в новом документе.
    Показать изменения в новом документе
  7. Нажмите кнопку ОК.

Word откроет новый документ, объединяющий исходный документ и копию, которую вы с ним объединяете. Экран состоит из трех разделов. В одном разделе показаны вносяизменения, в среднем — объединенный документ,а в третьем , разделенном на два, — исходный документ и измененный документ.

Смешанный
Если на экране слишком много сведений, нажмите кнопку >Показать исходные документы >Скрыть исходные документы. Обратите внимание на красную вертикальную линию, которая показывает, в какие места были внесены изменения.
исправления;

  • После того как объединенные изменения будут устранены, сохраните документ.
  • Совет: В следующий раз избавьте себя от всей этой работы, предоставив общий доступ к документу через OneDrive и предложив другим пользователям отредактировать и прокомментировать его.

    Объединение дополнительных копий

    Если вы хотите объединить несколько копий, сохраните документ, содержащий объединенные изменения первых двух копий. Затем объединяем дополнительные копии с этим документом.

    Команда

    1. На вкладке Рецензирование нажмите кнопку Сравнить и выберите команду Объединить.
    2. Щелкните стрелку рядом с полем Исходный документ и выберите документ, содержащий объединенные изменения.
    3. В области Измененный документщелкните следующую копию, которая вы хотите объединить.
    4. В поле Пометка исправлений введите имя рецензента, чтобы знать, кто предложил изменения.
    5. Нажмите кнопку Больше.
    6. В разделе Показать изменения установите переключатель в положение в исходном документе.
    7. Нажмите кнопку ОК.

    Как объединить два и более документа Word

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

    1. Откройте оба файла. В нашем случае это «1.docx» и «2.docx». Выберите, из какого и в какой нужно скопировать данные для объединения. Например, возьмем текст из «2.docx» и перенесем его в «1.docx». Для этого откройте второй документ и выделите текст и прочие данные сочетанием клавиш «Ctrl + A» или зажатой левой кнопки мыши, проведя от верхнего левого до правого нижнего конца окна просмотра. как объединить два документа word в один 01
    2. Воспользуйтесь сочетанием клавиш «Ctrl + С» для сохранения фрагмента в буфер обмена операционной системы или кликните ПКМ по выделенному набору данных и выберите из появившегося контекстного меню пункт «Копировать». как объединить два документа word в один 02
    3. Перейдите в другой файл и вставьте фрагмент в любое место, будь то начало, середина или конец документа. В нашем случае добавляем текст после основного. Для этого установите курсор под имеющимися данными и нажмите сочетание клавиш «Ctrl + V» или по аналогии с предыдущим пунктом кликните ПКМ и выберите в пункте «Параметры вставки» последнюю кнопку «Вставить только текст». как объединить два документа word в один 03
    4. Фрагмент будет добавлен без исходных стилей с форматированием размера шрифта и его начертания по умолчанию. как объединить два документа word в один 04

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

    Воспользоваться можно и другими тремя способами вставки, доступными в контекстном меню: «Сохранить исходное форматирование», «Объединить форматирование» и «Рисунок». В первом случае текст и другие данные будут вставлены так, как они отформатированы во втором документе. Второй способ позволяет применить к вставляемому фрагменту те же стили, которые настроены для работы с первым файлом. В последнем случае текстовые и графические данные объединяются в рисунок и вставляются в PNG-формате.

    1. Перейдите в один из документов и скопируйте данные по аналогии с предыдущей инструкцией. как объединить два документа word в один 05
    2. Откройте документ, куда необходимо выполнить вставку, и в любом его месте установите курсор мышки. Нажмите ПКМ, затем кнопку «Сохранить исходное форматирование» в пункте контекстного меню «Параметры вставки». как объединить два документа word в один 06
    3. Фрагмент будет вставлен без форматирования стилей и сохранит свои настройки отображения текста и других элементов документа. как объединить два документа word в один 07
    4. Если проделать все то же самое, но нажать на кнопку «Рисунок», то скопированный вами текст сохранится в графическом формате в виде скриншота выделенного фрагмента документа. как объединить два документа word в один 08

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

    Способ 2: Слияние средствами Microsoft Word

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

    1. Откройте первый документ. Он будет своего рода контейнером для объединения данных. Второй файл открывать не нужно. Выберите на панели инструментов вкладку «Вставка», перейдите в раздел «Текст» (находится справа) и около пункта «Объект» нажмите на значок треугольника. Выберите подпункт «Текст из файла…». как объединить два документа word в один 09
    2. В «Проводнике» найдите и укажите файл, который нужно объединить с первым. как объединить два документа word в один 10
    3. Наблюдайте результат объединения с сохранением форматирования второго файла. как объединить два документа word в один 11

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

    Еще одна важная деталь: в «Проводнике» можно выбрать не один, а целых два и более файлов для объединения в первом открытом контейнере. Важно учитывать порядок выбора, который отображается в строке «Имя файла:», чтобы вставка выполнялась правильно. В этом поле документ, который будет вставлен первым, смещается правее. Самый последний находится слева.

    На примере объединения трех документов, в которых записаны числа от 1 до 3, продемонстрировано, как происходит операция:

    1. Откройте первый файл и нажмите Enter, чтобы перевести курсор на новую строку для корректной вставки данных с целью более понятной демонстрации работы средства объединения документов. как объединить два документа word в один 12
    2. Найдите на панели инструментов вкладку «Вставка», воспользуйтесь разделом «Текст» и рядом с пунктом «Объект» кликните на треугольник. Тут вам нужен подпункт «Текст из файла…». как объединить два документа word в один 13
    3. Зажмите клавишу Ctrl и последовательно левой кнопкой мыши кликните на два остальных файла. Их названия будут отображены ниже. Нажмите на кнопку «Вставить». как объединить два документа word в один 14
    4. Наблюдайте слияние нескольких документов в выбранном порядке и вставки данных в позицию курсора. как объединить два документа word в один 15

    Как уже было сказано, лучше пользоваться именно этим способом, чем ручной вставкой. Все благодаря скорости выполнения операции, возможности слияния нескольких документов одновременно, сохранении форматирования исходного и добавляемых документов.

    Способ 3: Надстройка Kutools for Word

    Kutools — это удобная надстройка для Microsoft Word. Она существенно упрощает работу с документами и предлагает те функции, которые не реализованы в текстовом редакторе по умолчанию. Инструкция по работе с надстройкой описана ниже:

    1. Скачайте Kutools for Word с официального сайта и запустите файл формата EXE через браузер или папку, куда сохраняются загрузки. Следуйте простой инструкции установщика и после инсталляции в появившемся окне надстройки установите галочку напротив пункта «Задействовать Kutools for Word», затем нажмите кнопку «ОК». как объединить два документа word в один 16
    2. Перезапустите Ворд, если программа была открыта, чтобы на верхней панели инструментов появились новые вкладки: «Kutools» и «Kutools Plus». как объединить два документа word в один 17
    3. Создайте новый файл. Щелкните по вкладке «Kutools Plus» и выберите в левой части в разделе «Средства & Документы» пункт «Соединить». как объединить два документа word в один 18
    4. Дождитесь появления окна с соответствующим инструментарием. Нажмите на кнопку «Файлы». как объединить два документа word в один 19
    5. Через окно «Проводника» выберите все документы, которые нужно объединить, и нажмите «ОК». Если нужно выбрать все файлы из открытого каталога, то перед этим кликните на «Каталоги». как объединить два документа word в один 20
    6. Переместите документы в нужном порядке кнопками «Вверх» и «Вниз» при необходимости. Укажите тип разрыва между ними. как объединить два документа word в один 21
    7. Кликните на кнопку «Соединить» после применения всех настроек. как объединить два документа word в один 22
    8. Произойдет объединение файлов по заданным настройкам. как объединить два документа word в один 23

    Важно! Программа не работает с одним документом. Если открыть сначала первый файл, а потом попытаться добавить в него содержимое второго, то ничего не выйдет. Как и сказано в инструкции выше, необходимо создавать отдельный документ для объединения.

    Способ 4: Язык программирования VBA

    Встроенный в программы из пакета Microsoft Office язык программирования VBA (Visual Basic for Applications) — довольно простой, но мощный инструмент для упрощения работы с документами. Он берет всю рутину на себя и может даже объединить файлы. Пошаговая инструкция:

    1. Скопируйте или перенесите все файлы, подлежащие объединению в одну папку. Лучше дайте ей название на латинице. как объединить два документа word в один 24
    2. Измените название файлов так, чтобы они шли последовательно друг за другом и сортировались в том порядке, в котором их нужно объединить. Например, назовем их номерами от 1 до 3 для наглядности, а старые документы удалим. как объединить два документа word в один 25
    3. Откройте первый документ, к которому будут присоединены остальные. Для этого просто кликните по нему левой кнопкой мыши два раза. как объединить два документа word в один 26
    4. После открытия нажмите сочетание клавиш «Alt + F11» и дождитесь запуска программной среды VBA. Выберите в верхнем меню пункт «Insert» и подпункт «Module», чтобы создать исполняемый модуль для работы с документами. как объединить два документа word в один 27
    5. Скопируйте следующий код и вставьте его в поле ввода:
      Sub MergeDocuments()
      Application.ScreenUpdating = False
      MyPath = ActiveDocument.Path
      MyName = Dir(MyPath & «\» & «*.docx»)
      i = 0
      Do While MyName «»
      If MyName ActiveDocument.Name Then
      Set wb = Documents.Open(MyPath & «\» & MyName)
      Selection.WholeStory
      Selection.Copy
      Windows(1).Activate
      Selection.EndKey Unit:=wdLine
      Selection.TypeParagraph
      Selection.Paste
      i = i + 1
      wb.Close False
      End If
      MyName = Dir
      Loop
      Application.ScreenUpdating = True
      End Sub как объединить два документа word в один 28
    6. Нажмите клавишу F5 или кнопку «Выполнить», которая имеет иконку зеленого треугольника. как объединить два документа word в один 29
    7. Дождитесь обновления файла и слияния документов с отступом в одну строку. как объединить два документа word в один 30

    Важно! Программа может обработать только файлы с разрешением *.docx. Чтобы объединить формат DOC, в строке MyName = Dir(MyPath & «\» & «*.docx») следует заменить аргумент «*.docx» на «*.doc».

    VBA — мощный инструмент для работы не только с Microsoft Word, но и Excel, PowerPoint и другими программами линейки Office. Если освоить основные функции этого языка программирования, то работать с редакторами текста и таблиц от Майкрософт станет намного проще.

    Word Объединитель

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

    Загружая файлы или используя наш сервис, вы соглашаетесь с нашими Условиями использования. и Политикой конфиденциальности.

    Мы уже обработали 1 825 128 файлов общим размером 2 837 198 Мбайт

    Режим

    Вертикальный
    Горизонтальный
    Оба (сетка) x
    Объединить

    Ваши файлы были успешно объединены

    Отправить ссылку на скачивание

    О приложении слияния

    Объедините несколько Word документов в предпочтительном порядке и сохраните их в виде одного файла. Бесплатный онлайн Word инструмент слияния без регистрации создан для быстрого объединения нескольких файлов в один документ. Объединяйте несколько Word файлов в один документ с высокой скоростью. Вы не будете тратить свое время на выполнение этих операций вручную на настольном программном обеспечении. Наша цель — предоставить вам надежное решение для оптимизации рабочего процесса вашего офиса с помощью онлайн Word приложения Merger. Этот Word инструмент слияния работает для всех платформ: Windows, Linux, macOS и Android. Установка программного обеспечения для настольных компьютеров не требуется. Он мощный, современный, быстрый, гибкий, простой в использовании и полностью бесплатный.

    • Выберите порядок объединенных файлов
    • Объединение файлов Word в один документ
    • Загрузка или отправка результирующего файла в виде вложения электронной почты

    Как это работает

    Как объединить Word документы онлайн

    Выберите или перетяните Word документы, которые необходимо объединить.

    После завершения загрузки Word документов можно изменить очередность их объединения перетаскивая иконку документа в области предпросмотра.

    Нажмите на кнопку Объединить.
    Нажмите кнопку Скачать и сохраните объединенный Word документ.

    ВОПРОСЫ И ОТВЕТЫ

    Как объединить файлы с помощью Word Document Merger?

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

    Сколько времени занимает объединение Word файлов?
    Обычно этот Word Document Merger работает быстро для небольших файлов за считанные секунды.
    Безопасно ли объединять файлы с помощью нашего бесплатного Word Document Merger?

    Да, ссылка для скачивания объединенного Word файла будет доступна только вам. Загруженные файлы будут удалены через 24 часа, а ссылка для загрузки перестанет работать через этот период времени. Никто не имеет доступа к вашим файлам. Слияние документов Word абсолютно безопасно.

    Можно ли объединить Word файлы на Linux, Mac OS или Android?

    Да, вы можете использовать наш бесплатный Word Document Merger на любой операционной системе с веб-браузером. Наш Word Document Merger работает онлайн и не требует установки программного обеспечения.

    Какой браузер следует использовать для объединения Word файлов?

    Для объединения файлов Word например, Google Chrome, Microsoft Edge, Firefox, Opera или Safari, можно использовать любой современный браузер.

    Форматы файлов текстовых редакторов

    Файл обработки текста содержит информацию о пользователе в текстовом или расширенном текстовом формате. Формат обычного текстового файла содержит неформатированный текст, и к нему нельзя применить настройки шрифта, страницы и т. д. В отличие от этого, формат расширенного текстового файла позволяет параметры форматирования, такие как установка типа шрифта, стилей (полужирный, курсив, подчеркивание и т. д.), поля страницы, заголовки, маркеры и цифры, а также некоторые другие функции форматирования.

    Другие форматы, поддерживаемые GroupDocs.Merger

    Вы также можете объединять документы других форматов. Полный список представлен ниже.

    Статья Объединение документов формата Microsoft Word в один с помощью Python

    Не могу сказать за всех, а у меня иногда возникает необходимость в объединении нескольких файлов формата «.docx» в один документ. И зачастую это приходиться делать вручную, что занимает довольно много времени, так как большая его часть уходит на открытие документа, копирование и вставку в объединенный документ. Чтобы ускорить данный процесс я попробовал написать небольшой скрипт на Python, который делает все указанные операции в автоматическом режиме.

    000.jpg

    Первым делом, при решении данной задачи приходит на ум использование библиотеки python-docx. И да, она может помочь решить задачу частично. То есть, если ваши потребности невелики, а документ не содержит картинок и таблиц, то можно воспользоваться решением на основе данной библиотеки. Конечно же, нельзя сказать, что с ее помощью нельзя перенести документ полностью. Однако, здесь потребуется написать отдельный модуль для анализа содержимого документа, который будет определять, какой тип блоков присутствует и на основе этого формировать новый документ. Этого мы делать не будем, так как есть несколько более простое решение. Но, для полноты картины давайте рассмотрим, как можно объединить текст в нескольких документах с помощью python-docx.

    Что потребуется?

    Для работы данного скрипта потребуется установить библиотеку python-docx. Именно с ее помощью будут выполняться все основные операции по объединению. Чтобы установить данную библиотеку, пишем в терминале команду:

    pip install python-docx

    После того, как библиотека будет установлена, импортируем нужные модули в наш скрипт.

    import os import sys from pathlib import Path from docx import Document

    Объединение документов

    Создадим функцию merge(path: str, name: str). На входе она будет принимать путь к директории с документами для объединения, а также имя для объединенного документа. Для начала создадим новый документ, куда и будем копировать текстовое содержимое из остальных документов. Теперь в цикле итерируемся по директории с документами. Проверяем, является ли текущий файл документом «.docx». Открываем текущий документ.

    def merge(path: str, name: str): master = Document() for f in os.listdir(path): if Path(f).suffix == '.docx': doc = Document(Path(path) / f)

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

     for p in doc.paragraphs: out_para = master.add_paragraph() for run in p.runs: output_run = out_para.add_run(run.text) output_run.bold = run.bold output_run.italic = run.italic output_run.underline = run.underline output_run.font.color.rgb = run.font.color.rgb output_run.style.name = run.style.name master.save(name)

    Полный код функции объединения

    def merge(path: str, name: str): master = Document() for f in os.listdir(path): if Path(f).suffix == '.docx': doc = Document(Path(path) / f) for p in doc.paragraphs: out_para = master.add_paragraph() for run in p.runs: output_run = out_para.add_run(run.text) output_run.bold = run.bold output_run.italic = run.italic output_run.underline = run.underline output_run.font.color.rgb = run.font.color.rgb output_run.style.name = run.style.name master.save(name)

    Функция main

    Создадим функцию main, в которой будем запрашивать у пользователя директорию с документами для объединения. Проверять ее на существование. Затем запрашивать имя для объединенного документа и запускать функцию по объединению, передав туда полученные данные. После того, как объединение будет завершено, сообщаем об этом пользователю.

    def main(): path = input("Введите путь к директории с документами для объединения: ") if not Path(path).exists(): print("Директории не существует") sys.exit(0) name = f'.docx' merge(path, name) print(f"Объединение документов завершено. Документ сохранен -> ") if __name__ == "__main__": main()

    Вот, для примера, объединенный документ.

    Фрагмент объединенного документа

    01.png

    Однако здесь отсутствует важная деталь, а именно, изображение, которое здесь присутствует в оригинале.

    Фрагмент исходного документа с изображением

    02.png

    Как я уже говорил выше, вышеприведенный скрипт объединяет только текст.
    И если в документе нет изображений или таблиц, этого будет достаточно.

    Полный код скрипта

    # pip install python-docx import os import sys from pathlib import Path from docx import Document def merge(path: str, name: str): master = Document() for f in os.listdir(path): if Path(f).suffix == '.docx': doc = Document(Path(path) / f) for p in doc.paragraphs: out_para = master.add_paragraph() for run in p.runs: output_run = out_para.add_run(run.text) output_run.bold = run.bold output_run.italic = run.italic output_run.underline = run.underline output_run.font.color.rgb = run.font.color.rgb output_run.style.name = run.style.name master.save(name) def main(): path = input("Введите путь к директории с документами для объединения: ") if not Path(path).exists(): print("Директории не существует") sys.exit(0) name = f'.docx' merge(path, name) print(f"Объединение документов завершено. Документ сохранен -> ") if __name__ == "__main__": main()

    Но что, если все названные элементы присутствуют в исходниках? Давайте посмотрим, можно ли объединить документы, сохранив при этом изображения и таблицы.

    Что потребуется?

    На этот раз нам потребуются уже две библиотеки для работы с документами «docx». Первую мы уже рассматривали, это python-docx. А вот вторая библиотека – docxcompose. Она то как раз и предназначена для корректного объединения документов.

    Оговорюсь сразу — python-docx здесь вовсе не обязательна и используется только для примера. То есть, с ее помощью мы будем создавать документ, в который поместим объединенные данные. Однако, в качестве такого документа может служить и первый документ из директории. К примеру, у вас есть несколько файлов: док1.docx, док2.docx, док3.docx и так далее. Вы хотите объединить эти документы. То есть, по сути, перенести все данные в первый документ. Он, в данном случае и будет документом для объединения данных, куда будет добавляться все остальное.

    Для установки вышеуказанных библиотек пишем в терминале команду:

    pip install docxcompose python-docx

    После установки импортируем нужные в библиотеки в скрипт:

    import os import sys from pathlib import Path from docx import Document from docx.shared import Inches from docxcompose.composer import Composer from docx import Document as Document_compose

    Создание документа для объединения

    Создадим функцию create_master_docx(path: Path). На вход она принимает полный путь для сохранения созданного документа. Создаем новый документ. Выставляем нужные вам отступы. Здесь они выставляются в дюймах. Но доступны также сантиметры и пункты. Обратите внимание, что во всем объединенном документе будут применены отступы, которые будут созданы в документе для объединения. После того, как установили отступы, сохраняем документ.

    def create_master_docx(path: Path): """ Создаем и сохраняем пустой документ. """ document = Document() section = document.sections[-1] section.top_margin = Inches(0.8) section.bottom_margin = Inches(0.8) section.left_margin = Inches(1.2) section.right_margin = Inches(1.2) document.save(path)

    Объединение документа

    Создадим функцию для объединения документа merge_docx(path_master: Path, files: list). На вход она принимает путь к созданному документу для объединения и список с документами, которые нужно объединить. Данный список будет формироваться на основе содержимого определенной директории, которую мы будем указывать при запуске скрипта.
    Получаем количество файлов для объединения. Открываем документ, в который будут помещаться данные. В нашем случае мы его создали ранее. И создаем на основе открытого документа объект композитора.
    Затем в цикле итерируемся по файлам в указанной директории. Открываем текущий файл, добавляем его содержимое в композитор. После того, как закончится итерация, сохраняем объединенный документ.

    def merge_docx(path_master: Path, files: list): """ Открываем файл в который будем объединять все остальные. Создаем композитора. Запускаем цикл по списку файлов. Добавляем в композитор содержимое каждого файла из списка. Сохраняем итоговый документ. """ number_of_sections = len(files) master = Document_compose(path_master) composer = Composer(master) for i in range(0, number_of_sections): doc_temp = Document_compose(files[i]) composer.append(doc_temp) composer.save(path_master)

    Хотел бы обратить ваше внимание, что перед объединением документов, в каждый из них, в самый конец, лучше всего добавить отступ, чтобы при объединении не сливался текст. Если этого не сделать, текст будет идти подряд, без пробелов.

    Запрос параметров у пользователя

    В данной функции мы запрашиваем у пользователя параметры, которые будут необходимы при объединении документов, а именно имя для объединенного файла и путь к директории с файлами для объединения. При необходимости, у пользователя можно также запрашивать отступы для создаваемого нового документа.

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

    def main(): """ Запрашиваем имя для объединенного файла. Запрашиваем путь к директории с файлами для объединения. Проверяем существование директории и является ли переданный путь путем к директории. Получаем список файлов в директории, формируем список файлов с полным путем к ним. Создаем новый документ. Объединяем документы из директории. """ path = Path.cwd() / f'.docx' merge_dir = input("Введите путь к директории с документами для объединения: ") if not Path(merge_dir).exists() or not Path(merge_dir).is_dir(): print("Директории не существует") sys.exit(0) files = [Path(merge_dir) / x for x in os.listdir(merge_dir) if Path(x).suffix == ".docx"] if files: create_master_docx(path) merge_docx(path, files) print(f"Объединение завершено. Объединенный файл -> ") else: print("Файлов для объединения не найдено") if __name__ == "__main__": main()

    Полный код функции объединения документов

    # pip install docxcompose python-docx import os import sys from pathlib import Path from docx import Document from docx.shared import Inches from docxcompose.composer import Composer from docx import Document as Document_compose def create_master_docx(path: Path): """ Создаем и сохраняем пустой документ. """ document = Document() section = document.sections[-1] section.top_margin = Inches(0.8) section.bottom_margin = Inches(0.8) section.left_margin = Inches(1.2) section.right_margin = Inches(1.2) document.save(path) def merge_docx(path_master: Path, files: list): """ Открываем файл в который будем объединять все остальные. Создаем композитора. Запускаем цикл по списку файлов. Добавляем в композитор содержимое каждого файла из списка. Сохраняем итоговый документ. """ number_of_sections = len(files) master = Document_compose(path_master) composer = Composer(master) for i in range(0, number_of_sections): doc_temp = Document_compose(files[i]) composer.append(doc_temp) composer.save(path_master) def main(): """ Запрашиваем имя для объединенного файла. Запрашиваем путь к директории с файлами для объединения. Проверяем существование директории и является ли переданный путь путем к директории. Получаем список файлов в директории, формируем список файлов с полным путем к ним. Создаем новый документ. Объединяем документы из директории. """ path = Path.cwd() / f'.docx' merge_dir = input("Введите путь к директории с документами для объединения: ") if not Path(merge_dir).exists() or not Path(merge_dir).is_dir(): print("Директории не существует") sys.exit(0) files = [Path(merge_dir) / x for x in os.listdir(merge_dir) if Path(x).suffix == ".docx"] if files: create_master_docx(path) merge_docx(path, files) print(f"Объединение завершено. Объединенный файл -> ") else: print("Файлов для объединения не найдено") if __name__ == "__main__": main()

    Данный скрипт отрабатывает уже более корректно. Переносятся, помимо текста все изображения и таблицы.
    Вот такие вот два способа объединения документов «.docx», которыми я хотел с вами поделиться. Скажем так, конечно же, данные скрипты далеки от идеала, но позволяют немного автоматизировать рутинную деятельность.

    А на этом, пожалуй, все.

    Спасибо за внимание. Надеюсь, данная информация будет вам полезна

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *