[python] ReportLab 캔버스 회전
ReportLab은 Python에서 PDF 문서를 생성하기 위한 강력한 라이브러리입니다. 여기서는 ReportLab의 Canvas
객체를 회전하는 방법에 대해 알아보겠습니다.
캔버스 회전하기
ReportLab의 Canvas
객체를 회전하기 위해서는 rotate(angle)
메서드를 사용합니다. 이 메서드는 현재 좌표 시스템을 기준으로 주어진 각도만큼 캔버스를 회전시킵니다.
from reportlab.pdfgen import canvas
def create_rotated_pdf():
c = canvas.Canvas("rotated.pdf")
c.rotate(45) # 45도 회전
c.drawString(100, 100, "Hello, World!") # 회전한 상태에서 텍스트 추가
c.rotate(-45) # 원래 상태로 회전 복구
c.drawString(400, 400, "Back to normal")
c.save()
create_rotated_pdf()
위 예제에서는 Canvas
객체를 생성한 후에 rotate()
메서드를 사용하여 45도로 캔버스를 회전시킨 후, 회전된 상태에서 텍스트를 추가합니다. 마지막으로 다시 -45
도로 회전하여 원래 상태로 복구합니다.
주의사항
캔버스를 회전시키면 그 위에 있는 모든 그래픽 요소들도 함께 회전됩니다. 따라서 회전된 캔버스 상에서 좌표계를 정확하게 계산해야합니다. 또한 회전된 캔버스에서 텍스트의 폰트도 회전되기 때문에 글씨가 기울어져 보일 수 있습니다. 이러한 점을 유의하여 작업하시면 됩니다.
결론
ReportLab의 Canvas
객체를 회전시키는 방법에 대해 알아보았습니다. 이를 활용하면 다양한 형태의 PDF 문서를 생성할 수 있습니다. 캔버스 회전은 특정 문서 또는 요소에 특별한 효과를 줄 수 있으므로 유용하게 활용할 수 있습니다.