2016-07-24 3 views
0

Я пытаюсь установить стиль абзаца, чтобы сообщить лабораторию, я определил стиль здесь:добавить стиль абзаца ReportLab

def stylesheet(): 
    styles= { 
     'default': ParagraphStyle(
      'default', 
      fontName='Arial', 
      fontSize=16, 
      leading=12, 
      leftIndent=0, 
      rightIndent=0, 
      firstLineIndent=0, 
      alignment=TA_LEFT, 
      spaceBefore=0, 
      spaceAfter=0, 
      bulletFontName='Arial', 
      bulletFontSize=10, 
      bulletIndent=0, 
      textColor= black, 
      backColor=None, 
      wordWrap=None, 
      borderWidth= 0, 
      borderPadding= 0, 
      borderColor= None, 
      borderRadius= None, 
      allowWidows= 1, 
      allowOrphans= 0, 
      textTransform=None, # 'uppercase' | 'lowercase' | None 
      endDots=None,   
      splitLongWords=1, 
     ), 
    } 

Тогда я распечатать его как то

pdf = PDFDocument(carte) 
    pdf.init_report() 
    pdf.p(str(row)) 
    pdf.generate() 

Который дает неотформатированное выход

Когда я пытаюсь

pdf = PDFDocument(carte) 
pdf.init_report() 
pdf.p(str(row), default) 
pdf.generate() 

Чтобы применить стиль по умолчанию к моему тексту, он дает мне 'NameError: name' styles 'не определен'

Любой ключ?

+0

'Reportlab' не то же самое, как' 'PDFDocument' ... PDFDocument' только упрощенная версия' Reportlab'. Возможности Reportlab намного больше. – B8vrede

+0

Хорошо, я плохо, спасибо – Effedepay

ответ

0

Попробуйте это ReportLab, добавив к существующему коду:

from reportlab.lib.styles import ParagraphStyle 
from reportlab.lib.enums import TA_LEFT 
from reportlab.lib.colors import black 

styles['small'] = ParagraphStyle(
    'small', 
    parent=styles['default'], 
    fontSize=8, 
    leading=8, 
) 

paragraphs.append(Paragraph('Text with default style<br/>', styles['default'])) 
paragraphs.append(Paragraph('Text with small style', styles['small'])) 
Смежные вопросы