본문 바로가기
파이썬

[파이썬강좌] Python에서 QR 코드 및 바코드 생성

by GDBS 2021. 11. 27.
728x170

QR(빠른 응답) 코드 및 바코드는 데이터를 저장하고 검색하는 좋은 방법입니다. 종종 QR 코드 및 바코드는 연락처 정보 및 URL을 저장하는 데 사용됩니다. 점점 더 많은 앱과 웹 사이트에서 QR 코드와 바코드를 사용하여 정보를 더 쉽고 빠르게 공유할 수 있습니다. Python에서 QR 및 바코드를 생성할 수 있도록 하려는 경우 사용하려는 자습서입니다. Python에서 QR 코드 및 바코드 를 생성하는 방법 을 안내 합니다. 우리는 QRcode, python-barcode, 그리고 pillow라는 파이썬 모듈 중 일부를 사용할 것입니다.

 

QR 코드 란 무엇입니까?

QR 코드(Quick Response Code의 약칭)는 일본에서 처음으로 자동차 산업을 위해 설계된 2차원 바코드입니다. ISO/IEC18004 범위의 일부인 이 코드는 Q 코드라고도 하며 다양한 디자인으로 제공됩니다. QR 코드는 흰색 바탕에 정사각형 패턴으로 배열된 검은색 모듈(사각형 점)로 구성됩니다. 인코딩된 정보는 텍스트, URL, 연락처 정보 또는 기타 유형의 데이터일 수 있습니다. QR 코드는 전용 QR 코드 리더 및 스캐너 응용 프로그램에서 읽습니다.

 

바코드란 무엇입니까?

바코드는 기본적으로 기계가 읽을 수 있는 인코딩된 이미지이며 기계는 바코드 아래의 숫자만 읽고 이 그림과 같이 평행선 사이의 간격과 같은 평행선도 읽습니다. 주로 제품 식별에 사용됩니다. 바코드는 실제로 시각적 패턴 라인, 예를 들어 라인 사이의 간격이나 숫자를 인코딩하고, 이것이 정보를 얻는 방법입니다. 

이제 Python에서 QR 코드 및 바코드를 생성 하는 단계를 진행해 보겠습니다 .

 

QR 코드 생성 방법:

필수 모듈:

QRcode: Python-QRcode 모듈은 QR 코드를 생성하기 위한 순수 Python 라이브러리입니다. 간단한 QR 코드 애플리케이션과 복잡한 QR 코드 애플리케이션 모두에서 사용할 수 있습니다. 임의의 데이터 시퀀스를 QR 코드로 인코딩하는 방법과 QR 코드를 디코딩하는 방법을 제공합니다. 모듈은 pip install python-QRcode 명령을 사용하여 설치할 수 있습니다.

pip3 install QRcode

암호화:

여기서는 텍스트만 포함하는 간단한 QR 코드를 생성합니다.

#improting the module
import qrcode

#creating a variable for the text in which we want the QR code to link us
qr = qrcode.make('Hello Programmers')

#saving the QR code as a png file
qr.save('qrcode.png')

먼저 QRcode 모듈을 가져온 다음 QRcode를 연결할 텍스트를 작성하고 QR이라는 변수를 만든 다음 QRcode 모듈의 함수를 사용했습니다. 함수는 make라고 하며 QR 코드에 텍스트를 제공한 다음 저장 기능을 사용하여 QR 코드를 png 파일로 저장합니다.

결과물 :

이것으로부터 다음과 같은 출력을 얻어야 합니다. 여기에는 이전에 QR 변수에 추가한 텍스트가 포함됩니다. QR 코드의 png 파일은 위에서 지정한 이름으로 프로젝트 디렉토리에 저장됩니다. 코드를 스캔하려고 하면 메시지에 Hello Programmers 라는 텍스트가 표시되어야 합니다.

여기에서 URL/링크를 포함할 조금 더 복잡한 QR 코드를 생성할 것입니다.

#improting the module
import qrcode

# creating the variable for the QR code
qr = qrcode.QRCode(
    version = 1,
    box_size = 15,
    border = 10
    )

# adding a link for the QR code to open
data = 'https://www.google.co.in/'
qr.add_data(data)
qr.make(fit=True)

# adding the color
img = qr.make_image(fill = 'black', back_color = 'white')
img.save('qrcodewithlink.png')

여기에서 이전 부분과 동일한 QRcode 모듈을 가져온 다음 QR이라는 변수를 만들고 함수 QRcode를 사용하고 함수에 버전, QRcode 크기에 대한 매개변수를 추가하고 테두리에 대해 하나를 추가한 다음 데이터를 추가했습니다. 여기에 문자열을 사용하고 링크를 추가했습니다.

결과물 :

이것으로부터 다음과 같은 출력을 얻어야 합니다. 그것은 우리가 데이터에서 이전에 추가한 링크를 포함합니다. QR 코드의 png 파일은 위에서 지정한 이름으로 프로젝트 디렉토리에 저장됩니다. 그리고 코드를 스캔하려고 하면 추가한 링크로 연결되어야 합니다. 이 예에서 QR 코드를 스캔하면 google.com으로 이동할 수 있습니다.

바코드 생성 방법:

필수 모듈

python-barcode : Code 128 및 Code 39를 포함하여 바코드를 생성하는 Python 모듈입니다. 수동으로 경로와 문자를 직접 그릴 필요 없이 바코드의 SVG 이미지를 얻는 데 필요한 최소한의 것입니다. 또한 EAN-8, EAN-13, EAN-14, UPC-A, JAN, ISBN-10, ISBN-13 등과 같은 다양한 표준 유형의 바코드를 제공합니다. 터미널/명령 프롬프트에서 다음 명령을 실행하여 설치합니다.

pip3 install python-barcode 

베개: 또한 필수 모듈이며 이미지 형식의 바코드를 만드는 데 도움이 됩니다. 터미널/명령 프롬프트에서 다음 명령을 실행하여 설치합니다.

 
pip3 install pillow

암호화:

여기에서 EAN-13 형식 모듈을 사용하여 바코드를 생성합니다. 

# importing EAN13 from the python-barcode module
from barcode import EAN13

# add any 12 digit number you would like to
number = '5909876123457'

# Now, let's create an object of EAN13
# make a class and pass the variable number created above
my_code = EAN13(number)

# save it
my_code.save("bar_code")

결과물 :

 

이것으로부터 다음과 같은 출력을 얻어야 합니다. 위에서 지정한 이름으로 프로젝트 디렉토리에 저장됩니다.

여기에서 볼 수 있듯이 코드가 작동했지만 현재 SVG 형식으로 출력되고 있습니다. 출력을 PNG 형식으로 가져오려면 코드에서 다음과 같이 변경할 수 있습니다.

# importing EAN13 from the python-barcode module
from barcode import EAN13

# importing ImageWriter from python-barcode to generate an image file
from barcode.writer import ImageWriter

# add any 12 digit number you would like to
number = '5909876123457'

# make a class and pass the number with the ImageWriter() as the writer from the variable number created above
my_code = EAN13(number, writer=ImageWriter())

# save it with any desired name
my_code.save("bar_code_png")

결과물 :

 

이제 파일을 PNG 형식으로 가져와야 하며 프로젝트 디렉토리에 bar_code_png.png로 나타나야 하고 다음과 유사하게 보일 것입니다.

요즘 QR코드가 대세입니다. 코드 형식으로 최대 4,296자를 저장할 수 있습니다. URL을 저장하는 데 가장 자주 사용됩니다. 이 튜토리얼에서는 python-qrcode 라이브러리를 사용하여 Python 소스 코드에서 QR 코드를 생성하는 방법을 배웠습니다. 

QR 코드는 python-qrcode 라이브러리를 사용하여 생성할 수 있습니다. 라이브러리에는 URL 요청, 도면, 입력 상자를 기반으로 QR 코드를 생성하는 기능이 포함되어 있습니다. Python 프로그램의 QR 코드 기능을 사용해야 하는 경우 이 라이브러리 설치를 고려하십시오(아직 설치되지 않은 경우). 코드 형식으로 QR 코드 바코드를 생성하기 위한 python-barcode와 제어 가능한 매개변수를 사용하여 시각적으로 QR 코드를 생성하는 데 사용할 수 있는 qrcode의 두 가지 모듈을 사용했습니다. 

파이썬으로 QR코드와 바코드 생성하기에 성공하셨나요? ^^

 

728x90
반응형
그리드형

댓글