Python QRCode 생성하기

프로필 사진mingke

Python Logo

목차

소개

얼마전 Barcode 이미지를 생성해달라는 요청이 있었습니다. Barcode 요청을 처리하고 난 뒤, 문득 QRCode도 생성할 수 있나? 궁금해져서 한 번 찾아봤는데, QRCode를 아주 쉽게 생성할 수 있는 방법이 있었습니다. 오늘은 간단하게 Python으로 QRCode를 생성하기를 해보려고 합니다.

라이브러리 설치

pip install qrcode
 
pip install "qrcode[pil]"
  • pip install "qrcode[pil]" 이렇게 설치하면 Python Image 라이브러리인 pillow를 설치하여 QRCODE 이미지 생성에 활용할 수 있습니다.

구현

 
from qrcode import QRCode, ERROR_CORRECT_L
from io import BytesIO
 
def create_qrcode(self, data):
    """
    data는 대게 url이 많이 들어가나
    다양한 종류의 데이터가 들어갈 수 있습니다.
		"""
    qr = QRCode(
        version=2,
        error_correction=ERROR_CORRECT_L,
        box_size=20,
        border=2,
    )
    qr.add_data(data)
    qr.make(fit=True)
 
    img = qr.make_image(fill_color="black", back_color="white")
 
    output = BytesIO()
    img.save(output)
    return output.getvalue()
 
# 사용 예시
create_qrcode('010-1234-1234')
 
with open('qrcode.png', 'wb') as f:
    f.write(qr_data)

간단하게 위와 같은 함수로 만들어서 사용할 수 있습니다.

  • QRcode

    • version - 여러가지 버젼을 나타냅니다 1~40까지 이것저것 넣어보세요.
    • error_correction - Error Correction은 QR의 일부 데이터가 손상된 부분을 복구하는 정도를 나타냅니다. ERROR_CORRECT_L 은 Low로 약 7% 복구할 수 있다고 하네요.
    • box_size - QRCode의 크기 입니다.
    • border - 테두리 여백을 나타냅니다.
  • make_image

    • fill_color - QRCode의 색
    • back_color - 배경색
    • RGB값을 입력하여 색을 지정할 수 있음
Loading...

Github에 더 다양하게 사용하는 방법이 나와있습니다. 다양한 스타일에 QRCODE를 생성할 수 있네요. 재미있는 QRCODE 만들기를 한 번 해봤습니다.

아래 이미지는 직접 만든 사이트들의 바로 가기 QR입니다. 한번 넣어봤습니다. 흥미로운걸 만들면서 개발에 재미를 붙이는 것은 좋은것 같습니다. 이상으로 포스팅을 마치겠습니다.

website link QRCode