【问题标题】:Reportlab bold and normal text in one paragraph一个段落中的 Reportlab 粗体和普通文本
【发布时间】:2012-12-15 04:46:18
【问题描述】:

我正在使用 reportlab(与 Django 结合)创建 PDF。我创建了以下代码来创建带有头部和详细信息的表格:

elements = []
datas = []
course_info = [
               ['Course Code' , c.course_code] ,
               ['Course Title' , c.course_name],
               ['Prerequisites by Course(s) and Topics', c.pre_reqs],
               ['Assessment Instruments with Weights (some desc)', c.grade_distribution]
            ]

for k in course_info: 
    headpara = Paragraph(k[0], styleB)

    datas.append([headpara , Paragraph(clean_string(k[1]), styleN)])

t = LongTable(datas, colWidths=[5 * cm, 12 * cm])

t.setStyle(TableStyle(org.getTableStyle()))
elements.append(t)
doc.build(elements)

我使用 BaseDocTemplate 作为我的模板。 我想要的是能够将headpara 的部分内容设为非粗体,例如第四行中的(some desc) 部分需要是普通样式而不是粗体。我怎样才能做到这一点?

【问题讨论】:

    标签: python formatting reportlab


    【解决方案1】:

    Reportlab 支持简单的 HTML 格式,因此我们可以使用 styleN 并将所需的文本加粗。像这样:

    course_info = [
                   ['<b>Course Code</b>' , c.course_code] ,
                   ['<b>Course Title</b>' , c.course_name],
                   ['<b>Prerequisites by Course(s) and Topics</b>', c.pre_reqs],
                   ['<b>Assessment Instruments with Weights</b> (some desc)', c.grade_distribution]
                ]
    
    for k in course_info: 
        headpara = Paragraph(k[0], styleN) 
        datas.append([headpara , Paragraph(clean_string(k[1]), styleN)])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-14
      • 2015-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      相关资源
      最近更新 更多