0. PDF 파일 크기의 내부 데이터 구성비 분석
이메일 첨부 한도(\(20\text{MB} \sim 25\text{MB}\))나 관공서·채용 포털 업로드 기준(\(10\text{MB}\))을 초과하는 대용량 PDF는 도대체 왜 그렇게 용량이 클까요? PDF 바이너리 내부를 분석해 보면 용량의 대부분은 글자가 아니라 문서 내부에 포함된 멀티미디어 데이터가 차지하고 있습니다.
pie title PDF 파일 내부 평균 데이터 점유율 분포
"고해상도 래스터 이미지 (사진, 캡처)" : 78
"임베디드 글꼴 서브셋 (TrueType/OpenType)" : 12
"문서 구조 메타데이터 & XMP 스트림" : 6
"벡터 패스 및 텍스트 글리프 좌표" : 4
- 순수 텍스트와 벡터: 1,000페이지 분량의 순수 텍스트 문서라도 용량은 \(1\text{MB} \sim 2\text{MB}\)에 불과합니다.
- 대용량 파일의 주범: \(300\text{DPI}\) 이상의 초고해상도 비압축 비트맵 이미지와 문서에 중복 임베딩된 폰트 파일들이 파일 용량의 \(80\% \sim 90\%\)를 차지합니다.
- 압축의 본질: 텍스트의 선명한 벡터 곡선(Vector curve)은 \(100\%\) 보존하면서, 낭비되고 있는 이미지 해상도를 디스플레이 규격에 맞게 최적화하는 것이 PDF 압축 공학의 핵심입니다.
1. PDF 크기를 줄이는 3대 핵심 알고리즘 기술
graph LR
A[원본 대용량 PDF 파일] --> B[1. 이미지 바이큐빅 다운샘플링: 300DPI -> 150DPI]
A --> C[2. 폰트 서브세팅: 미사용 글리프 테이블 완전 제거]
A --> D[3. 무손실 스트림 압축: FlateDecode / JBIG2 적용]
B & C & D --> E[시각적 화질 유지 + 용량 70~80% 압축된 최적화 PDF]
1-1. 이미지 다운샘플링(Downsampling)과 바이큐빅 보간법
- 인쇄용(\(300\text{DPI}\)) \(\rightarrow\) 화면 열람용(\(150\text{DPI}\) 또는 \(72\text{DPI}\)): 모니터나 스마트폰 화면은 인쇄기처럼 초고밀도 픽셀을 요구하지 않습니다.
- 바이큐빅(Bicubic) 보간법: 픽셀을 무작정 버리는 서브샘플링(Subsampling)과 달리, 인접한 16개 픽셀의 가중 평균치를 계산하여 해상도를 낮추면서도 이미지 경계선의 계단 현상(Aliasing)을 부드럽게 유지합니다.
- 흑백 스캔 문서의 JBIG2 압축: 흑백 텍스트 스캔 문서는 팩스 표준인 CCITT Group 4 대신 JBIG2 무손실/손실 압축을 적용하면 동일 화질에서 파일 크기를 최대 1/10 수준으로 극대 압축할 수 있습니다.
1-2. 폰트 서브세팅(Font Subsetting) 및 중복 객체 통합
- 한글 폰트 전체(약 \(10\text{MB}\))를 문서에 통째로 넣는 대신, 본문에 사용된 글자(\(500 \sim 1,000\)자)만 추려낸 ’서브셋’만 남깁니다.
- 여러 페이지에 걸쳐 중복 참조되는 동일한 회사 로고나 워터마크 이미지를 단일 ’XObject(외부 참조 객체)’로 병합하여 중복 저장을 원천 제거합니다.
2. 4대 주요 PDF 압축 도구 실측 벤치마크
고해상도 실사 사진과 도표가 다수 포함된 50MB 분량의 정부 연구 보고서 PDF를 대상으로 압축률과 텍스트 벡터 보존율을 측정한 벤치마크 결과입니다.
gantt
title 50MB 복합 PDF 압축 후 최종 파일 크기 (단위: MB, 낮을수록 우수)
dateFormat X
axisFormat %sMB
section 원본 파일
원본 복합 PDF : 0, 50.0
section 압축 도구 결과
Adobe Acrobat Online : 0, 8.4
PDF24 Tools (중간 품질): 0, 6.2
iLovePDF (권장 압축) : 0, 9.1
Ghostscript (/ebook 모드): 0, 5.8
2-1. 도구별 기술 사양 비교 매트릭스
| 평가 항목 | Adobe Acrobat Online | PDF24 Tools (절대 추천) | iLovePDF | Ghostscript (CLI) |
|---|---|---|---|---|
| 압축 품질 균형도 | 최고 (시각적 손상 제로에 수렴) | 매우 우수 (세부 DPI 조절 가능) | 우수 (자동 최적화) | 엔지니어링 최고 제어권 |
| 텍스트 벡터 유지율 | 100% (확대해도 글자 깨짐 없음) | 100% (완벽한 벡터 폰트 보존) | 100% | 100% |
| 세부 옵션 설정 | 높음/중간/낮음 3단계 | DPI, 이미지 품질, 컬러모드 수동 제어 | 3단계 고정 프리셋 | 모든 Ghostscript 플래그 완벽 제어 |
| 무료 사용 제한 | 계정 로그인 필수 / 일일 제한 | 완전 100% 무료 무제한 (광고 기반) | 일일 횟수 제한 | 완전 무료 오픈소스 |
| 오프라인 지원 | 유료 Pro 구독 필요 | PDF24 Creator 무료 데스크톱 지원 | 유료 데스크톱 | 터미널 네이티브 실행 |
3. 절대 주의: 텍스트가 뭉개지는 ’강제 래스터화(Rasterization)’의 함정
일부 저품질 압축 유틸리티는 PDF를 압축할 때 기술력이 부족하여 문서 전체를 통째로 저해상도 이미지(JPEG)로 찍어버린 뒤 다시 PDF로 묶는 방식을 사용합니다.
flowchart TD
Bad[잘못된 강제 래스터화 압축기] --> Image[모든 글자를 저화질 그림 파일로 렌더링]
Image --> Lost1[1. 문서 확대 시 글자가 자글자글 깨지는 픽셀화 현상]
Image --> Lost2[2. 텍스트 드래그 및 복사(Ctrl+C) 원천 불가]
Image --> Lost3[3. 검색 엔진(Google) 및 문서 내 검색(Ctrl+F) 색인 실패]
Image --> Disaster[공공기관/입사지원 제출 시 시스템 자동 부적격 탈락]
- 품질 검증 테스트: 압축을 마친 후 PDF 뷰어에서 글자를 \(400\%\) 이상 확대해 보십시오. 글자 테두리가 칼로 자른 듯 매끄럽고, 마우스 드래그로 텍스트가 블록 지정된다면 정상적인 벡터 보존 압축이 적용된 것입니다.
4. 고급 사용자를 위한 Ghostscript 오픈소스 터미널 압축법
서버 환경이나 대량의 문서를 로컬 PC에서 1초 만에 일괄 압축해야 하는 엔지니어에게는 Ghostscript(gs) 명령어 기반의 최적화가 가장 강력한 해법입니다.
# 화면 열람 및 이메일 전송에 최적화된 150 DPI 전자책 모드 압축 (/ebook)
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 \
-dPDFSETTINGS=/ebook \
-dNOPAUSE -dQUIET -dBATCH \
-sOutputFile=output_compressed.pdf input_large.pdf-dPDFSETTINGS=/screen: 최저 해상도(\(72\text{DPI}\)), 극단적인 용량 다이어트 필요 시 사용.-dPDFSETTINGS=/ebook: 가장 추천하는 골든 밸런스(\(150\text{DPI}\)), 화면 가독성과 파일 용량을 완벽히 절충.-dPDFSETTINGS=/prepress: 인쇄 출판용 고해상도(\(300\text{DPI}\)), 무손실 컬러 보존.
기술 표준 및 사양 출처
- ISO 32000-1:2008 휴대용 문서 형식 사양 (PDF 압축 스트림)
- Ghostscript 공식 문서: Vector Devices and PDF Optimization
- Adobe PDF 참조 가이드: Image XObjects and FlateDecode Filters