- 공유 링크 만들기
- X
- 이메일
- 기타 앱
이 글의 목적은 한글(Hancom Office 한/글)에서 바코드 또는 QR코드 삽입이 되지 않거나 인쇄·내보내기 시 인식 실패가 발생하는 문제를 실무 기준으로 진단하고 즉시 해결할 수 있도록 절차와 체크리스트, 표준 규격, 품질 파라미터를 체계화하여 제공하는 것이다.
1. 한눈에 보는 빠른 점검 체크리스트
| 증상 | 주요 원인 | 즉시 조치 |
|---|---|---|
| 삽입 메뉴에 바코드·QR 항목이 보이지 않음 | 버전 차이, 사용자 맞춤 형식에서 메뉴 비활성화, 모듈 설치 누락 | 리본 초기화, 사용자 설정 복원, 최신 패치 적용, 확장기능 설치 확인을 수행한다. |
| 삽입은 되었으나 미리보기·인쇄에서 사라짐 | 개체 처리 방식 오류, 투명도·레이어 충돌, 프린터 드라이버 렌더링 한계 | 개체를 그림으로 변환, 래스터 해상도(DPI) 고정, 프린터 드라이버 업데이트를 수행한다. |
| 스마트폰 인식 실패 | Quiet Zone 부족, 대비(명암) 불충분, 크기·DPI 미달, 재샘플링 | 여백 4모듈 확보, 흑백 100% 대비, 최소 모듈 크기 재설정, 300~600DPI 내보내기를 수행한다. |
| 문서 열 때 경고 후 개체가 대체됨 | 링크 개체 경로 손실, OLE 의존, 외부 파일 누락 | 개체를 문서 내 포함(임베드)으로 전환하고 상대경로 검증을 수행한다. |
| 바코드 숫자 아래 글꼴이 깨짐 | 바코드 전용 글꼴 미설치 또는 대체 글꼴 적용 | Code39/Code128 호환 글꼴 설치 또는 이미지 방식으로 교체한다. |
2. 원인 진단 로드맵
2.1 기능 경로와 버전 확인
한글 버전에 따라 바코드·QR코드 삽입 위치가 다르므로 메뉴 경로를 우선 확인한다.
| 한글 버전 | 메뉴 경로 | 비고 |
|---|---|---|
| 한글 2024 | 삽입 > 개체 > 바코드/QR 코드 | 리본 사용자 설정에서 항목 숨김 가능성이 있다. |
| 한글 2022 | 삽입 > 개체 > 바코드/QR 코드 | 일부 배포본은 확장모듈 선택 설치가 필요하다. |
| 한글 2020/NEO | 삽입 > 개체 > 바코드 또는 외부 생성 이미지 삽입 | QR은 외부 생성 후 그림 삽입을 권장한다. |
2.2 개체 유형 판별
한글에서 바코드·QR은 크게 세 방식으로 존재한다.
- 내장 위저드로 생성한 그림 개체이다.
- 바코드 글꼴로 조합한 텍스트 개체이다.
- 외부 프로그램에서 만든 PNG/SVG를 그림으로 삽입한 개체이다.
문서에서 개체를 선택하고 속성의 형식을 확인하여 현재 방식에 맞는 대응을 선택한다.
2.3 인쇄·PDF 실패의 전형적 패턴
- 벡터 개체가 프린터 드라이버에서 래스터화되며 모듈 경계가 흐려지는 경우가 있다.
- 투명 픽셀을 포함한 PNG가 배경과 혼색되어 대비가 저하되는 경우가 있다.
- 용지 맞춤 또는 프린터 여백 보정으로 비율이 미세하게 바뀌는 경우가 있다.
3. 해결 전략 A: 내장 기능으로 바로 해결
3.1 내장 바코드·QR 위저드 재설정
- 삽입 > 개체 > 바코드/QR 코드에서 유형(Code128, EAN-13, QR 등)을 선택한다.
- 데이터 입력 시 공백·개행·제어문자가 포함되지 않도록 정규화한다.
- 크기 옵션에서 모듈 크기와 Quiet Zone을 수동 지정한다.
- 색상은 검정(100% K)과 흰색 배경을 사용한다.
- 삽입 후 개체를 선택하여 그림으로 변환하여 레이어를 본문에 고정한다.
3.2 모듈 크기와 Quiet Zone 기준
QR과 1D 바코드는 판독기 요구 모듈 크기와 여백 기준이 다르다.
| 코드 유형 | 최소 모듈 크기(권장) | Quiet Zone | 비고 |
|---|---|---|---|
| QR Code (모델2, M1~M4) | 0.33~0.40 mm | 사방 4 모듈 | 모바일 카메라 기준 일반 환경이다. |
| Micro QR | 0.25~0.30 mm | 사방 2~4 모듈 | 근접 판독 전용 환경이다. |
| Code128 | 바(Bar) 폭 0.33~0.40 mm | 좌우 10×최소바폭 이상 | 라벨 프린터와 호환이 좋다. |
| EAN-13 | 0.33 mm | 좌우 3.63 mm 이상 | 소매 유통 스캐너 기준이다. |
3.3 DPI와 실제 크기 산정
그림으로 변환한 후에도 크기 왜곡이 없도록 DPI 기준으로 픽셀 크기를 계산한다.
# 예: QR 모듈 0.35 mm, 버전 3(29x29), Quiet Zone 4 모듈, 300DPI로 내보내기 # 1 모듈(mm) = 0.35, 전체 모듈 = 29 + 8 = 37 # 실제 크기(mm) = 0.35 * 37 = 12.95 mm # 300DPI → 1 inch = 25.4 mm → 픽셀 = 12.95 / 25.4 * 300 ≈ 153 px # 내보내기 해상도는 2배 안전마진으로 600DPI를 권장한다. 4. 해결 전략 B: 외부 생성 이미지 사용
4.1 외부 생성이 필요한 경우
- 조직 표준에 맞춘 로고 삽입 QR, 컬러 QR을 사용해야 하는 경우가 있다.
- PDF 인쇄 경로에서 벡터 개체가 손실되는 환경이 있다.
- 대량 병합 인쇄에서 데이터별 QR을 사전 생성하면 안정적이다.
4.2 생성 파이프라인 예시
# Python 예시: qrcode 라이브러리 사용 import qrcode
data = "https://example.com/doc/ABC123"
qr = qrcode.QRCode(
version=None, # 자동 버전
error_correction=qrcode.constants.ERROR_CORRECT_M, # M(15%)
box_size=10, # 모듈 크기
border=4 # Quiet Zone
)
qr.add_data(data)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
img.save("qr_ABC123_600dpi.png", dpi=(600,600))
한글에서는 삽입 > 그림 > 파일에서 PNG를 삽입한다.
4.3 SVG와 래스터의 선택
인쇄 품질이 최우선이면 SVG 벡터를 유지하되, 프린터·PDF 경로에서 벡터 해석 문제가 발생하면 600DPI 래스터로 변환하여 사용한다.
5. 해결 전략 C: 바코드 글꼴 기반 방식
5.1 적용 상황
문서 내 텍스트 흐름과 함께 바코드를 배치해야 하거나, 개체 사용이 제한된 양식에서 유용하다.
5.2 주의점
- 코드128 등은 체크섬과 시작·종료 문자를 요구하므로 단순 글꼴 치환으로는 오류가 발생한다.
- 문서 열람 PC마다 글꼴이 일치해야 하며, 배포 시 글꼴 라이선스를 점검해야 한다.
; Code39 예시(단순도형, 데이터에 *시작/끝* 필요) ; 데이터: ABC-123 → *ABC-123* ; 한글 단락 스타일에 바코드 글꼴을 적용한다. 6. 인쇄·PDF 품질 최적화
6.1 프린터 드라이버 설정
- 인쇄 품질을 "고품질/사진"이 아닌 "텍스트/그래픽" 최적화로 설정한다.
- 용지 맞춤, 여백 자동보정, 확대/축소를 모두 끈다.
- 토너 절약, 얇은 선 강화 같은 후처리 옵션을 비활성화한다.
6.2 PDF 내보내기 설정
- 이미지 압축을 무손실 또는 600DPI 이상으로 설정한다.
- 투명도 플래튼을 강제하여 혼색을 방지한다.
- 색상 공간은 회색 K-Only를 권장한다.
7. 조직 배포를 위한 정책 템플릿
7.1 파일 내 포함 원칙
모든 바코드·QR 개체는 링크가 아닌 문서 내부 포함을 원칙으로 한다.
7.2 형상 고정 원칙
최종 배포 전 "그림으로 변환" 절차를 거쳐 렌더링 차이를 제거한다.
7.3 표준 파라미터
| 항목 | 권장값 | 허용오차 | 비고 |
|---|---|---|---|
| QR 오류정정 | M(15%) | L~Q | 로고 삽입 시 Q(25%)를 고려한다. |
| 모듈 크기 | 0.35 mm | ±0.05 mm | 사무용 레이저 기준이다. |
| Quiet Zone | 4 모듈 | 최소 4 | 인식 실패의 1순위 원인이다. |
| 내보내기 | PNG 600DPI | 300~1200DPI | 투명 비사용이다. |
8. 오류 유형별 심층 해결
8.1 삽입 메뉴 부재
- 파일 > 환경설정 > 리본/도구모음에서 초기화를 수행한다.
- 프로그램 복구 설치를 실행한다.
- 조직 배포판인 경우 기능 제한 정책을 확인하고 관리자에게 확장 모듈 설치를 요청한다.
8.2 삽입 후 사라짐
- 개체를 선택하고 "그림으로 변환"을 수행한다.
- 개체 속성 > 배치에서 본문 뒤 또는 글 뒤로 설정한다.
- PDF로 내보내기 시 "그림 최적화"를 끄고 600DPI 이상으로 지정한다.
8.3 인식 실패
- Quiet Zone을 4 모듈 이상으로 확장한다.
- 모듈 크기를 0.33 mm 이상으로 키운다.
- 색상을 100% 검정과 흰색만 사용한다.
- 재샘플링 없는 100% 배율 인쇄를 적용한다.
8.4 글꼴형 바코드 오류
- 필요한 체크섬과 시작·종료 문자 규칙을 반영한다.
- 배포 대상 PC에 동일 글꼴을 설치한다.
- 최종 출력은 그림으로 평탄화하여 배포한다.
9. 현장 점검 시트
| 점검 항목 | 기준 | 합/불 | 조치 |
|---|---|---|---|
| 바코드/QR 개체 유형 | 그림 또는 내장 개체 | ||
| Quiet Zone | ≥ 4 모듈 | ||
| 모듈 크기 | ≥ 0.33 mm | ||
| 색상 | 검정/흰색 | ||
| 출력 해상도 | ≥ 300DPI | ||
| 배율 | 인쇄 100% | ||
| 문서 포함여부 | 외부링크 미사용 |
10. 대량 생성·병합 인쇄 자동화 아이디어
대량 라벨·명찰·증명서에 각기 다른 QR을 삽입하려면 외부 생성 후 병합하는 방식이 안정적이다.
- 데이터 소스(CSV)에서 키 컬럼을 읽어 QR PNG를 일괄 생성한다.
- 파일명 규칙을 "키.png"로 통일하고 한글 문서에서 그림 자리표시자를 만든다.
- 한글의 표/양식 기능으로 행별 그림 경로를 바꿔 삽입한다.
# 의사코드 for row in csv: make_qr(row["ID"], out=f"qr/{row['ID']}.png", dpi=600) # 한글 매크로/자동화에서 자리표시자 <QR>를 찾아 해당 파일 삽입 11. 보안·배포 관점의 유의사항
- URL QR은 만료·리디렉션 정책을 별도로 운영해야 한다.
- 개인정보가 포함된 데이터 매트릭스류는 암호화된 토큰과 만료 정책을 사용한다.
- 최종 배포본에는 메타데이터를 제거한다.
12. 자주 쓰는 규격별 권장값 요약
| 규격 | 용도 | 모듈/바폭 | 오류정정 | 여백 | 비고 |
|---|---|---|---|---|---|
| QR v2~v4 | 웹 링크 | 0.35 mm | M | 4 모듈 | 스마트폰 환경 표준이다. |
| Code128 | 내부 자산관리 | 0.35 mm | 해당 없음 | 좌우 10×최소바폭 | 영문·숫자·특수문자 지원이다. |
| EAN-13 | 유통 | 0.33 mm | 해당 없음 | 좌우 3.63 mm | 소매 스캐너 최적화이다. |
FAQ
삽입 메뉴가 보이지 않는다. 재설치 없이 해결 가능한가
리본 초기화로 복구가 가능한 경우가 많다. 파일 > 환경설정 > 리본/도구모음에서 초기화를 수행한 뒤 프로그램을 재시작한다. 조직 배포판이라면 기능 제한 정책을 점검한다.
PDF로 내보내면 휴대폰에서 QR 인식이 되지 않는다
내보내기 시 이미지 압축과 재샘플링으로 모듈 경계가 흐려졌을 가능성이 높다. PNG 600DPI로 변환 후 삽입하고 PDF 옵션에서 품질 우선, 무손실, 600DPI 이상을 지정한다. 투명 배경을 쓰지 않는다.
바코드 글꼴만으로 만들었는데 스캐너가 읽지 못한다
체크섬과 시작·종료 문자 규칙을 누락한 경우가 많다. Code39는 *문자*로 감싸고, Code128은 체크섬 계산을 반영해야 한다. 이미지 방식으로 전환하는 것이 안전하다.
인쇄물에서 크기가 살짝 줄어들어 인식이 떨어진다
프린터 드라이버의 자동 맞춤과 여백 보정이 원인이다. 인쇄 배율 100% 고정, 여백 자동 보정을 해제하고, 모듈 크기를 0.35 mm 이상으로 키운다.
대량 병합 인쇄에서 개체가 일부 누락된다
외부 링크 개체 경로 손실 가능성이 있다. 모든 QR/바코드를 문서 내 포함으로 바꾸고, 파일명 규칙과 폴더 경로를 고정한다. 가능하면 사전 생성 후 그림으로 삽입한다.
컬러 QR을 쓰고 싶다. 문제 없나
대비가 7:1 이상이면 인식되지만 인쇄 편차를 고려하면 흑백을 권장한다. 로고 삽입이 필요하면 오류정정을 Q 등급으로 올리고 모듈 크기를 0.40 mm 이상으로 키운다.
프린터마다 결과가 다르다
렌더링 경로가 다르기 때문이다. 배포본은 PNG 600DPI로 평탄화하여 차이를 최소화한다. 드라이버는 최신으로 통일한다.