powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Сохранить форматирование файла .docx
3 сообщений из 3, страница 1 из 1
Сохранить форматирование файла .docx
    #39506437
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача - заменить некоторые куски текста в файле .docx. Заменяться будет только текст, в том числе текст может быть в таблице. Соответственно должно полностью сохраниться исходное форматирование - к примеру, разметка страницы, шрифт и размер текста,
положение рисунков и таблиц в тексте
При этом выходной файл может быть получен 2 путями:
1. Редактированием исходного файла с последующим сохранением
2. Созданием нового файла и копированием в него результата
Сейчас использую 2-й вариант при помощи python-docx
Код: python
1.
2.
3.
4.
5.
6.
7.
document = Document()
doc = docx.Document(source)
for paragraph in doc.paragraphs:
     # Обработка текста попараграфно
     par = paragraph.text
     document.add_paragraph(par)
document.save(result)  


Как можно догадаться, форматирование не сохраняется, картинки и таблицы вообще не переносятся
Подскажите, как решить задачу?
...
Рейтинг: 0 / 0
Сохранить форматирование файла .docx
    #39507594
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блин, неужели никто не может помочь? Может кто подскажет тогда, как пойти по первому пути с редактированием исходного файла:
1. Считываем параграф в исходном файле (картинки и таблицы пропускаем)
2. Производим манипуляции над текстом
3. Пишем исправленный параграф на место исходного в тот же файл
И самый главный вопрос - если пойти этим путем, то форматирование и стили текста (шрифт и его размер, отступы, выравнивание итд итп) сохранятся автоматически или их опять таки придется переносить принудительно?
...
Рейтинг: 0 / 0
Сохранить форматирование файла .docx
    #39507711
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вариант, конечно. Не самый простейший и быстрый, но вполне рабочий.

1. Распаковываем исходный docx как зип-архив. Получится кучка файлов.
2. Разбираемся, куда-что там понапихали, находим желаемые тексты.
3. В нужных местах вносим нужные изменения.
4. Упаковываем файлы обратно в архив.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Сохранить форматирование файла .docx
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]