Верхний и нижний колонтитулы верхнего и нижнего полей

#python #python-3.x #python-docx

#python #python-3.x #python-docx

Вопрос:

У меня есть s criptкоторый генерирует файл docx, все в порядке, за исключением того, что верхний и нижний колонтитулы не выровнены по верху и низу.

У меня есть

         mydoc = docx.Document()
        section_g = mydoc.sections
        section_h = mydoc.sections[0]
        header = section_h.header
        header_para = header.paragraphs[0]
        footer = section_h.footer
        footer_para = footer.paragraphs[0]


        for section in section_g:
            section.top_margin = Cm(0)
            section.bottom_margin = Cm(0)
            section.left_margin = Cm(0)
            section.right_margin = Cm(0)
 

Это отлично работает для остальной части документа, но верхний и нижний колонтитулы верхнего и левого полей не равны 0.

Чего мне не хватает? Спасибо

Комментарии:

1. Что вы подразумеваете под «верхний и нижний колонтитулы не выровнены»? Вам нужно быть более конкретным, прежде чем мы сможем вам помочь. Возможно, включите скриншот и скажите, чего вы ожидаете / хотите и что вы видите сейчас.

2. заголовок находится не в верхней части страницы, у него есть поле примерно в 5 см, а внизу то же самое имеет поле около 5 см от нижней части страницы

Ответ №1:

Взгляните на документацию API для Section.header_distance и .footer_distance здесь: https://python-docx.readthedocs.io/en/latest/api/section.html#docx.section .Раздел.header_distance заголовок

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