Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 17.10.2014
Сообщений: 11

Разбить Docx документ на страницы

06.06.2023, 11:50. Показов 2559. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую, многоуважаемые!

Прошу помочь с решением задачи.
Необходим скрипт, позволяющий разбивать docx документ на отдельные страницы (то есть на входе один документ состоящий из 10 страниц, а на выходе 10 документов по 1 странице). Ну или тот же документ из 10 страниц разбить на отдельные документы по 2 страницы. Смысл таков.

Нашел готовое решение в библиотеке aspose, но она платная.

Заранее всех благодарю за помощь!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.06.2023, 11:50
Ответы с готовыми решениями:

Разбить PDF документ на страницы
Здравствуйте, уважаемые форумчане. Пришёл к вам за советом: необходим скрипт, который бы разбивал PDF документ на отдельные страницы (т.е....

Документ с расширением docx
Добрый день! Есть документ с расширением docx, в этом документе печать. Печать была всегда видна, сейчас ее видно если только нажимаешь...

Пропал документ .docx
Лежал у меня текстовый документ на телефоне?созданный там в Quickoffice.Чтобы распечатать хотел скинуть его на комп,что бы не рыскать по...

7
 Аватар для Михалыч
1011 / 355 / 59
Регистрация: 28.02.2013
Сообщений: 939
08.06.2023, 06:39
nikluha, может подойдёт)
2
 Аватар для kazak
3604 / 2744 / 356
Регистрация: 11.03.2009
Сообщений: 6,306
08.06.2023, 12:40
Михалыч, судя по всему это аналог aspose с таким же ценником)
1
 Аватар для Михалыч
1011 / 355 / 59
Регистрация: 28.02.2013
Сообщений: 939
08.06.2023, 14:27
kazak, Не знаю, может быть) Я дочитал до слов "Доступен бесплатный разделитель файлов Word. Вы можете установить разделитель документов Word в свое приложение Python с помощью PIP" и решил посоветовать)
0
30 / 27 / 11
Регистрация: 03.06.2023
Сообщений: 73
09.06.2023, 00:08
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
from docx import Document
 
input_file_path = "...path\to\input_file.docx"
doc = Document(input_file_path)
pages = [p for p in doc.pages]
 
# Создаем новый документ для каждой страницы
for i, page in enumerate(pages):    
    new_doc = Document()
    new_doc._body = page._body.copy()
    output_file_path = f"output_page_{i+1}.docx"
    new_doc.save(output_file_path)
    print(f"Страница {i+1} сохранена в файл: {output_file_path}")
2
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
09.06.2023, 12:29
Цитата Сообщение от dobr667 Посмотреть сообщение
from docx import Document
в модуле python-docx, который здесь используется, нет параметра pages у считанного документа... т.е. это:
Цитата Сообщение от dobr667 Посмотреть сообщение
doc = Document(input_file_path)
pages = [p for p in doc.pages]
- не работает...
решение проверялось или просто взято на просторах интернета (chatGPT, например)?
1
30 / 27 / 11
Регистрация: 03.06.2023
Сообщений: 73
09.06.2023, 12:38
Работало на doc файлах. Попробуй вместо doc.pages использовать doc.iter_pages()

Добавлено через 1 минуту
это решение изначально бралось со стековерфлоу
1
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
09.06.2023, 13:22
Цитата Сообщение от dobr667 Посмотреть сообщение
вместо doc.pages использовать doc.iter_pages()
dir(doc)
['_Document__body', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__slots__', '__str__', '__subclasshook__', '_block_width', '_body', '_element', '_parent', '_part', 'add_heading', 'add_page_break', 'add_paragraph', 'add_picture', 'add_section', 'add_table', 'core_properties', 'element', 'inline_shapes', 'paragraphs', 'part', 'save', 'sections', 'settings', 'styles', 'tables']
- вот, всё, что там есть...

Добавлено через 2 минуты
python-docx

Добавлено через 9 минут
вот, здесь, можно почитать, как выбираются номера страниц и возможно, получить способ разделения документа на страницы
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.06.2023, 13:22
Помогаю со студенческими работами здесь

Не открывается документ (docx)
Не открывается документ. При открытии выдается следующее: Возможно ли вообще что-то сделать, не считая того, что открыть через WordPad...

Конвертировать документ docx в pdf
кто может сталкивался,есть какие библиотеки или скрипты на php? есть документы docx. нужно прочитать их,подставить свои значения по метках...

Как открыть документ docx в OpenOffice
Добрый день! У меня такая проблемма есть документ сделанный клиентом. Скриншоты прикрепил. Причем если этот мерзкий docx сохранить через...

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

Запись большого текста в .docx документ
У меня есть метод, который добавляет в .docx документ текст, но только длинной 250 символов, как мне переделать функцию для того, чтобы я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru