2015-01-08 3 views
0

Я использую Python-Docx, чтобы пользователи моего кода могли создавать таблицы. Я хотел бы изменить размер шрифта таблицы. Номера значений ячейки обертываются в ячейках таблицы, потому что шрифт слишком велик. Я искал документацию и многие форумы без какой-либо удачи.Таблицы Python-Docx - способ изменить шрифт?

Я исхожу в своем предположении, что можно изменить только стили таблицы, но не размер шрифта?

Я понимаю, что могу изменить или создать свой собственный стиль, но это не поможет другим пользователям моего кода на других компьютерах ((например, объясняется в сообщении на форуме: How do I get rid of the default styling on a table object in a python-docx generated word document?)) Большинство других сообщений, которые я нашел, обсуждают стиль, но не размер шрифта.

Я видел некоторые подобные вопросы, когда люди указывают на использование xml, но я не понимаю, как это будет записано в стандартный код таблицы docx.

Любая помощь или понимание очень ценится!

ответ

4

Существует несколько разных подходов, но самым простым из существующих версий python-docx является применение стиля абзаца к каждому из абзацев в каждой ячейке таблицы. Вы должны иметь стиль с более компактным шрифтом уже в вашем исходном документе, как описано здесь: http://python-docx.readthedocs.org/en/latest/user/styles.html

Вот пример aircode, что вы должны получить идут в правильном направлении:

table = document.add_table(...) 
for row in table.rows: 
    for cell in row.cells: 
     for paragraph in cell.paragraphs: 
      paragraph.style = 'CellText' # assuming style named "Cell Text" 

Ответить в комментарий, если это не имеет смысла. Btw, следующая версия будет иметь существенные новые функции для стилей и прямого применения свойства шрифта, например. размер и шрифт. Это должно быть через месяц или около того.

+0

Спасибо за ваш вклад - думаю, мне нужно будет подождать следующей версии, о которой вы говорили. Использование стиля - это игра, так как мой код предназначен для других людей для использования с их версиями Word - у них может не быть стиля в их Word-файле, особенно если он неясен. Ни один из стилей, которые я вижу, не изменяет размер шрифта. –

+1

Только одна коррекция: атрибут для объекта ячейки должен быть 'paragraph' вместо' paragraph'. Я знаю, что прошло много времени с первого вопроса, но для того, чтобы помочь другим: о том, чтобы не иметь стиль, можно создать стиль во время выполнения, поэтому это не будет проблемой. Поэтому это решение работает хорошо. – Diego

+0

@Diego: хороший улов, я сделал исправление :) – scanny

Смежные вопросы