Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 14, 2012 12:53:54

Maxambek
От:
Зарегистрирован: 2012-02-14
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

ReportLab: Стиль для Paragraph

Доброго времени суток!

У меня такая проблема - не получается указать шрифт в стиле для параграфа. В итоге получаю квадратики нарисованные шрифтом AdobePiStd. Причём после текста выводится табличка - в табличке всё по-русски нормально пишет. Если попробовать вывестии просто на канву - то тоже всё отлично. Как параграфу указать шрифт правильно?

Вот кусок кода:

    # настраиваем шрифт
pdfmetrics.registerFont(ttfonts.TTFont('Tahoma', 'TAHOMA.ttf'))
pdfmetrics.registerFont(ttfonts.TTFont('Tahoma Bold', 'tahomabd.ttf'))

# стиль
p_style=ParagraphStyle({
'fontName':'Tahoma',
'fontSize':10,
'leading':12,
'leftIndent':0,
'rightIndent':0,
'firstLineIndent':0,
'alignment':'LEFT',
'spaceBefore':0,
'spaceAfter':0,
'bulletFontName':'Tahoma',
'bulletFontSize':10,
'bulletIndent':0,
'textColor': colors.black,
'backColor':None,
'wordWrap':True,
'borderWidth': 0,
'borderPadding': 0,
'borderColor': None,
'borderRadius': None,
'allowWidows': 1,
'allowOrphans': 0,
})
# текст
my_parag=Paragraph('Телефоны: '+dep, p_style)
text.append(my_parag)



Офлайн

#2 Фев. 15, 2012 08:14:06

agalen
От:
Зарегистрирован: 2011-03-23
Сообщения: 185
Репутация: +  17  -
Профиль   Отправить e-mail  

ReportLab: Стиль для Paragraph

Конструктор ParagraphStyle принимает не dict, а keyword-параметры:

     def __init__(self, name, parent=None, **kw):
Т.е. вызывать надо примерно так:
p_style=ParagraphStyle(  "my_ctyle", **{ ....



Офлайн

#3 Фев. 24, 2012 05:15:41

Maxambek
От:
Зарегистрирован: 2012-02-14
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

ReportLab: Стиль для Paragraph

Спасибо большое! Всё получилось.
Этот момент в документации не отражён как-то. Или я упустил чего-то

И вопрос ещё появился. В строчке

p_style=ParagraphStyle(  "my_ctyle", ...
параметр “my_ctyle” где потом используется? Я его указать то указал, но он как-то и не нужен



Отредактировано (Фев. 24, 2012 05:18:12)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version