[python] ReportLab 행 사이즈 조절

ReportLab은 파이썬을 사용하여 PDF 문서를 생성하는 강력한 라이브러리입니다. 이 라이브러리를 사용하면 테이블, 그래프, 이미지 등 다양한 콘텐츠를 포함한 PDF 문서를 만들 수 있습니다. ReportLab을 사용하여 행 사이즈를 조절하는 방법에 대해 알아보겠습니다.

행 높이 설정하기

ReportLab에서 행의 크기를 조절하기 위해서는 TableStyle 객체를 사용합니다. TableStyle은 테이블의 스타일을 정의하는 데 사용되며, 여러 속성들을 설정할 수 있습니다. 특히, TableStyle.add() 메서드를 사용하여 행의 스타일을 추가할 수 있습니다.

아래는 ReportLab을 사용해 행의 높이를 설정하는 예제 코드입니다.

from reportlab.lib.pagesizes import letter
from reportlab.platypus import SimpleDocTemplate, Table, TableStyle

data = [
    ['Name', 'Age', 'Country'],
    ['John Doe', '25', 'USA'],
    ['Jane Smith', '32', 'Canada'],
    ['Mark Johnson', '45', 'UK']
]

pdf = SimpleDocTemplate("table_example.pdf", pagesize=letter)
table = Table(data)

# 행 높이 설정
row_height = 30
table_style = TableStyle([
    ('ROWBACKGROUNDS', (0, 0), (-1, -1), ['#FFFFFF', '#F0F0F0']),
    ('TEXTCOLOR', (0, 0), (-1, -1), '#000000'),
    ('FONTNAME', (0, 0), (-1, -1), 'Helvetica'),
    ('FONTSIZE', (0, 0), (-1, -1), 12),
    ('LINEBEFORE', (0, 0), (-1, -1), 0.5, '#000000'),
    ('LINEAFTER', (0, 0), (-1, -1), 0.5, '#000000'),
    ('BOX', (0, 0), (-1, -1), 0.5, '#000000'),
    ('BACKGROUND', (0, 0), (-1, -1), '#E0E0E0'),
    ('ROWHEIGHT', (0, 0), (-1, -1), row_height)
])

table.setStyle(table_style)
elements = [table]

pdf.build(elements)

위의 코드에서 row_height 변수를 조정하여 행의 높이를 설정할 수 있습니다. 예를 들어, row_height를 40으로 설정하면 행의 높이가 40으로 변경됩니다.

행의 높이를 지정할 때는 모든 행에 동일한 값을 사용하거나, 각 행마다 다른 값을 사용할 수도 있습니다. 따라서, 원하는 방식에 따라 row_height 값을 조정하면 됩니다.

참고 자료