반응형
import qrcode
import json
from PIL import Image


def generate_qr_code(
    hospital_name, address, phone_number, output_file="hospital_qr.png"
):
    """
    병원 이름, 주소, 전화번호를 JSON 형식으로 QR 코드를 생성하는 함수.

    Args:
        hospital_name (str): 병원 이름
        address (str): 병원 주소
        phone_number (str): 병원 전화번호
        output_file (str): 생성된 QR 코드 이미지의 파일 이름

    Returns:
        None
    """
    # QR 코드에 저장할 데이터를 JSON 형식으로 생성
    qr_data = {
        "hospital_name": hospital_name,
        "address": address,
        "phone_number": phone_number,
    }
    qr_json = json.dumps(qr_data, ensure_ascii=False)  # JSON 문자열로 변환 (한글 유지)

    # QR 코드 생성
    qr = qrcode.QRCode(
        version=1,  # QR 코드 버전 (1 ~ 40)
        error_correction=qrcode.constants.ERROR_CORRECT_L,  # 오류 정정 수준
        box_size=10,  # 박스 크기
        border=4,  # 여백 크기
    )

    qr.add_data(qr_json)  # JSON 데이터를 추가
    qr.make(fit=True)  # 최적의 크기로 조정

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

    # 이미지 저장
    img.save(output_file)
    print(f"QR 코드 이미지가 '{output_file}'로 저장되었습니다.")


# 함수 호출 예시
# 병원 이름, 주소, 전화번호를 입력하세요
hospital_name = "서울 중앙병원"
address = "서울특별시 강남구 테헤란로 123"
phone_number = "02-1234-5678"
generate_qr_code(hospital_name, address, phone_number)

 

반응형

+ Recent posts