#python #python-3.x #python-docx
#python #python-3.x #python-docx
Вопрос:
Я хочу добавить границу страницы в свой документ MS Word с помощью python-docx. Как я могу это сделать?
Я проверил документацию раздела, но ничего об этом не нашел.
Комментарии:
1. parcero я ответил на ваш вопрос? если нет, могу ли я что-нибудь добавить к своему ответу?
Ответ №1:
Официальная библиотека python-docx по-прежнему не поддерживается, но вы можете реализовать ее самостоятельно. вы ищете границы страницы, хранящиеся в разделе свойства раздела.
Вот пример кода, который должен вам помочь:
import docx
from docx.oxml.xmlchemy import OxmlElement
from docx.oxml.shared import qn
doc = docx.Document()
sec_pr = doc.sections[0]._sectPr # get the section properties el
# create new borders el
pg_borders = OxmlElement('w:pgBorders')
# specifies how the relative positioning of the borders should be calculated
pg_borders.set(qn('w:offsetFrom'), 'page')
for border_name in ('top', 'left', 'bottom', 'right',): # set all borders
border_el = OxmlElement(f'w:{border_name}')
border_el.set(qn('w:val'), 'single') # a single line
border_el.set(qn('w:sz'), '4') # for meaning of remaining attrs please look docs
border_el.set(qn('w:space'), '24')
border_el.set(qn('w:color'), 'auto')
pg_borders.append(border_el) # register single border to border el
sec_pr.append(pg_borders) # apply border changes to section
doc.save('border_test.docx')