본문 바로가기
Python/ETC

[Python] QR코드 생성기 만들기 (qrcode)

by 에파 2024. 8. 11.
728x90

QR 코드는 정보를 담는 바코드의 일종입니다. 파이썬에서는 'qrcode' 라이브러리를 사용하여 간편하게 QR 코드를 생성할 수 있습니다. 이번 글에서는 파이썬으로 QR 코드를 생성하는 방법에 대해 설명하겠습니다.

 

1. 라이브러리 설치

터미널이나 명령 프롬프트를 이용해서 아래 명령어를 입력해주세요.

 

pip install qrcode

 

2. QR코드 생성 코드

아래 코드는 www.naver.com의 qr코드를 생성하는 프로그램입니다. qr코드 생성기는 단순하게 문자를 qr코드로 변환하기 때문에 어떠한 문자라도 가능합니다.

 

import qrcode

qr_data = "www.naver.com"
qr_img = qrcode.make(qr_data)

qr_img.save("example_qr_code.png")

 

3. QR코드 객체

QR 코드 객체를 통해 다양한 설정이 가능합니다.

 

import qrcode

# QR 코드에 담길 데이터
data = "www.naver.com"

# QR 코드 객체 생성
qr = qrcode.QRCode(
    version=1,
    error_correction=qrcode.constants.ERROR_CORRECT_L,
    box_size=10,
    border=4,
)

# 데이터 추가
qr.add_data(data)
qr.make(fit=True)

# QR 코드 이미지를 생성
img = qr.make_image(fill='black', back_color='white')

# 이미지 저장
img.save("example_qr_code.png")

 

  • 'version=1': QR 코드의 버전을 설정합니다. 버전 1은 21x21 모듈의 크기를 가집니다.
  • 'error_correction=qrcode.constants.ERROR_CORRECT_L': 오류 수정 수준을 설정합니다. 'ERROR_CORRECT_L'은 약 7%의 오류를 수정할 수 있습니다.
  • 'box_size=10': QR 코드에서 각 박스의 크기를 설정합니다.
  • 'border=4': QR 코드의 테두리 크기를 설정합니다. 테두리는 모듈의 개수로 정의됩니다.

 

4. QR코드에 로고 추가하기

아래 코드는 QR 코드 중앙에 로고를 추가하는 코드입니다. (Pillow 라이브러리가 필요합니다.)

 

from PIL import Image

# QR 코드 이미지 생성
qr = qrcode.QRCode(
    version=1,
    error_correction=qrcode.constants.ERROR_CORRECT_L,
    box_size=10,
    border=4,
)
qr.add_data(data)
qr.make(fit=True)
img_qr = qr.make_image(fill='black', back_color='white')

# 로고 이미지 열기
logo = Image.open("logo.png")

# QR 코드와 로고 이미지 크기 조정
logo_size = int(min(img_qr.size) / 3)
logo = logo.resize((logo_size, logo_size))

# QR 코드 이미지에 로고 붙이기
img_qr.paste(logo, (int((img_qr.size[0] - logo_size) / 2), int((img_qr.size[1] - logo_size) / 2)), logo)

# 이미지 저장
img_qr.save("qr_code_with_logo.png")

 

 

 

파이썬을 이용하면 자신만의 QR코드를 손쉽게 만들 수 있습니다. 위에서 소개한 코드들로 자신만의 QR코드를 만들어보세요.

댓글