Reportlab:如何在pdf中对齐文本

时间:2018-06-19 05:36:43

标签: python pdf alignment space reportlab

我试图将csv转换为pdf文件,但是当我在pdf中添加文本(地址)时,它没有以正确的方式对齐。下图显示了pdf详细信息,其中From地址未对齐。如何从左侧留出空间请帮帮我

pdf中的实际o / p

enter image description here

预期o / p

                                        From:
                                        SAIFEE SHIP SPARE PARTS AND CHANDLERS
                                        TRN: 100069582300003
                                        AL JADAF
                                        UNITED ARAB EMIRATES
                                        Fax: 0097148124444

我试过下面的代码

         style_right = ParagraphStyle(name='right', parent=styles[
'Normal'], alignment=TA_RIGHT)

       # PDF Text - Content
        line11 = 'From:'
        line12 = 'SAIFEE SHIP SPARE PARTS AND CHANDLERS'
        line13 = 'TRN: 100069582300003'
        line14 = 'AL JADAF'
        line15 = 'UNITED ARAB EMIRATES'
        line16 = 'Fax: 0097148124444'

        elements.append(Paragraph(line11, style_right))
        elements.append(Paragraph(line12, style_right))
        elements.append(Paragraph(line13, style_right))
        elements.append(Paragraph(line14, style_right))
        elements.append(Paragraph(line15, style_right))
        elements.append(Paragraph(line16, style_right))
        elements.append(Spacer(inch, .25 * inch))

2 个答案:

答案 0 :(得分:0)

PDF图像根据代码是正确的(右对齐)。您可以使用左侧样式并为FROM地址指定x,y位置(或类似的位置)。(我在JasperReports中做过这类事情,可能对您有用。)

答案 1 :(得分:0)

alignment=TA_RIGHT强制每一行都位于文档的最右边。

将段落样式更改为:

    style_right = ParagraphStyle(name='right',leftIndent=250)

根据文档的宽度调整leftIndent的值。