代码之家  ›  专栏  ›  技术社区  ›  Pradnya Bhagat

Reportlab:如何对齐pdf中的文本

  •  0
  • Pradnya Bhagat  · 技术社区  · 8 年前

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

    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 回复  |  直到 8 年前
        1
  •  1
  •   Vishal Singh    7 年前

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

    将段落样式更改为:

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

    调整的值 leftIndent 根据你文件的宽度。

        2
  •  0
  •   Kishor    8 年前

    PDF图像按照代码正确(右对齐)。您可以使用left样式并为FROM address提供x,y位置(或类似的位置)。

    推荐文章