QR 코드 생성하기

 
 
 이번 포스팅에서는 QR 코드 생성을 간단하게 처리해 주는 라이브러리인  'qrcode'에 대해 간단하게 알아보겠습니다.
 
 

qrcode 기본 사용법

 
 
 먼저 아주 간략하게 구성한 코드부터 보시겠습니다. 
 
import qrcode

qrc = qrcode.make('https://pdatinmylife.tistory.com/')
qrc.save('test.png')

 

 1. import 해야 하는 라이브러리명은 qrcode입니다.

 

 qrcode 라이브러리를 처음 다운로드 받으실 때에, pip install 방식을 사용하신다면 이름은 qrcode[pil]이라고 넣으신 후 다운 받으시면 되시겠습니다. 파이참을 통하신다면 그냥 qrcode만 검색하셔서 qrcode로 명명된 라이브러리를 설치하시면 되시겠습니다.

 

 

 

 2. qrc = qrcode.make('https://pdatinmylife.tistory.com/')

 

 qrc라는 변수에 qrcode모듈의 make함수를 사용하여 제 사이트의 주소인 https://pdatinmylife.tistory.com/을 QR 코드로 생성하도록 하는 코드입니다. 

 

 QR 코드는 바코드와 달리 2차원으로 정보를 담아낼 수 있습니다. 1차원 바코드는 세로 또는 가로의 얇은 막대바로 구성되어 있는데요. 해당 막대바의 두께를 인식하여 정보를 읽어 들입니다. 즉, 가로 바코드의 경우 세로에 해당하는 높이에는 아무 정보도 담겨 있지 않은 것입니다. 

 

 

 

 하지만 QR 코드의 경우 가로와 세로의 정사각형 형태로 되어 있는데요. 이 정사각형의 가로 및 세로 모두를 읽어 정보를 읽게 되므로 2차원 배열 구조에 따라, 바코드 대비 훨씬 많은 정보를 담을 수 있습니다.

 

 관련 자료에 따르면, 1차원 바코드가 최대 20여자의  숫자 정보만 담을 수 있는 반면, 2차원인 QR 코드는 숫자의 경우 최대 7089자, 문자 최대 4296자, 한자 최대 1817자를 넣을 수 있다는 것입니다. 

 

 

 여기서 QR 코드의 효용이 나타나게 되는데요. 

 

 바코드의 경우 20개의 숫자 정보만 담기 때문에, 바코드를 읽는 단말기는 20개의 숫자조합으로 된 값을 읽어 들여, 별도의 서버에서 해당 숫자 조합에 연계된 정보를 다시 읽어 들이는 과정을 통해 정보를 탐색하게 됩니다. 

 

 즉, 1차원 바코드의 경우에는 단말기가 서버에 연계되었을 때에야 비로서 효용을 갖는다는 것입니다. 정말 단순 정보를 읽어 들이는 목적의 바코드가 아닌 이상은 해당 제품의 제조연월, 유통기한 등 제품 관련 정보를 연결하기 위해서는 바코드 생성자의 서버 또는 raw data 연결이 필수가 됩니다. 

 

 

 하지만, QR 코드는 정보를 대량으로 담을 수 있다는 점에서 오히려 QR 코드 자체가 데이터 저장소 역할을 할 수 있습니다.  

 

 즉, QR 코드에 담긴 숫자 및 문자 정보를 그대로 읽어 들여 로컬 PC 또는 사용자가 활용할 데이터 저장소나 서버에 그 정보를 옮겨 담을 수 있다는 것입니다. 

 당연히, 담을 수 있는 정보량이 많기 때문에, QR 코드 생성자 측의 서버쪽과의 연결도 사실상 필요가 없어 resource의 제약을 벗어날 수 있습니다. 

 

 

 따라서, QR 코드를 통해 QR생성자가 담아 놓은 관련 정보를 숫자, 문자 구분없이 즉각적으로 확인할 수 있다는 점이 바코드 대비로 매우 우수하다고 할 수 있습니다.

 

 

 

3. qrc.save('test.png')

 
 앞선 코드라인이 QR 코드를 생성해 주는 코드이고 이 코드는 save() 메소드를 통해 해당 QR 코드를 PNG형식의 이미지 파일로 저장하도록 해줍니다. 
 
 이 단순한 3줄의 코드를 통해 생성된 QR 코드를 보시겠습니다.
 
 

 

 스마트폰을 통해 네이버 원형 버튼에서 '렌즈'기능안에서 제공되는 'QR/바코드' 기능으로 인식이 되는지 확인해 보았습니다. 

 

 

 정말 1초도 안걸려서 정확하게 인식하는 것이 확인됩니다. 

 

 QR코드는 다양한 곳에서 홍보수단으로 활용되고 있고, 특히 문자로 구성된 url정보도 담을 수 있다는 점이 내 홈페이지를 가진 운영자 입장에서는 꽤나 유용한 홍보 수단이 될 수 있습니다. 

 

 따라서, 사용법을 잘 익혀 두셨다가 홍보 용도 또는 일정수준 이상의 문자 정보를 프린팅 방식으로 보관하고 싶으실 때 또는 다양한 링크를 보관하고 싶으실 때 유용하게 사용하실 수 있으시겠습니다.

 

 

 다음 포스팅에서는 qrcode에서 제공되는 QR 코드의 customizing을 위한 인자 몇가지를 간략히 살펴 보겠습니다.

 

 

 

NPU(엔피유) 관세사무소

대표관세사 고장주

Tel) 031-986-7190

E-mail) sales@npucus.com

[NPU관세사무소 프로모션 페이지] https://www.tradenpu.com/npu_cus/

[무역비지니스 인텔리전스 서비스 | TradeNPU] https://www.tradenpu.com

[파이썬 실용 예제. 무역과 공공데이터] https://pdatinmylife.tistory.com

Certified Customs Broker JangJu Goh

Executive Customs Broker @ NPU Customs Consulting

CEO @ JG TradePlus

sales@npucus.com

Trade Compliance / Customs clearance management at foreign company

Working experience of Air export freight forwarding

Data Visualization / Independent development of business automation application – copyright of JGPO_Manager, JG Data Center, AutoCC and etc.

B2B consignment & direct export/import, B2C Overseas Buying Office consulting

Alibaba.com B2B trade / taobao B2C trade / Amazon.com global selling etc. Online trade regulation consulting.

Import license / Quarantine

English communication available

[TradeNPU for partnership proposal - JGTP] https://www.tradenpu.com/jgtp/

반응형

'파이썬(Python) > QR 코드' 카테고리의 다른 글

QR 코드 customizing - qrcode parameter 알아보기  (0) 2020.08.03

+ Recent posts