2016-07-24 89 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() 

要將默認樣式應用於我的文本,它會給我'名稱錯誤:名稱'樣式'未定義'

任何線索?

+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']))