PDF 용량 줄이기: 이미지·폰트·구조별 압축 원리와 화질 손실 없이 줄이는 법
PDF 파일이 이메일 첨부 한도를 넘거나, 웹사이트 업로드 제한에 걸리거나, 클라우드 용량을 잡아먹을 때 우리는 흔히 "PDF 압축"을 검색한다. 그런데 막상 압축을 돌려보면 결과가 제각각이다. 어떤 파일은 절반 넘게 줄어드는데 글씨가 뭉개지고, 어떤 파일은 아무리 압축해도 1MB도 줄지 않는다. 같은 도구를 써도 왜 이렇게 차이가 날까. 답은 단순하다. PDF 용량은 하나의 덩어리가 아니라 이미지, 폰트, 페이지 구조, 메타데이터라는 서로 다른 성분으로 이루어져 있고, 각 성분은 줄이는 방법과 한계가 완전히 다르기 때문이다. 이 글에서는 PDF의 용량이 실제로 어디에서 발생하는지, 성분별로 어떻게 줄이는지, 그리고 화질을 거의 또는 전혀 잃지 않으면서 용량만 덜어내는 현실적인 방법을 정리한다.
PDF 용량은 어디서 발생하는가
PDF는 텍스트, 벡터 그래픽, 비트맵 이미지, 글꼴(폰트), 그리고 이들을 배치하는 페이지 객체들이 압축되어 담긴 컨테이너다. 용량을 진단할 때 가장 먼저 해야 할 일은 "내 PDF가 어떤 종류인가"를 구분하는 것이다. 이걸 모르고 압축부터 돌리면 효과가 없거나 화질만 망가진다.
- 스캔본 PDF: 종이 문서를 스캐너나 휴대폰으로 찍어 만든 파일. 페이지 전체가 사실상 한 장의 사진이다. 용량의 90% 이상이 이미지에서 나오므로, 이미지 해상도와 압축률이 전부를 결정한다.
- 디지털 원본 PDF: 워드, 한글, 파워포인트, 웹 페이지에서 "PDF로 저장/인쇄"해 만든 파일. 텍스트는 폰트와 문자 코드로, 표와 도형은 벡터로 들어가 본래 매우 가볍다. 용량이 크다면 대개 삽입된 사진이나 임베드된 폰트가 범인이다.
- 혼합형 PDF: 디지털 본문에 고해상도 사진·로고·차트 이미지가 섞인 보고서나 카탈로그. 가장 흔하며, 이미지만 손봐도 큰 효과를 본다.
구분이 어렵다면 PDF를 확대해 글자 가장자리를 보라. 글자를 키워도 매끈하면 텍스트 기반(디지털 원본)이고, 픽셀이 계단처럼 깨지면 그 페이지는 이미지다. 이 한 가지만 확인해도 어떤 압축 전략이 통할지 절반은 정해진다.
성분별 압축 원리와 한계
이미지: 용량의 대부분이자 화질 손실의 핵심
대부분의 무거운 PDF에서 용량의 70~95%는 이미지가 차지한다. 이미지를 줄이는 방법은 두 가지 축으로 나뉜다. 하나는 해상도(DPI)를 낮춰 픽셀 수 자체를 줄이는 다운샘플링이고, 다른 하나는 JPEG 같은 손실 압축의 품질(quality) 값을 낮춰 같은 픽셀을 더 적은 데이터로 표현하는 것이다. 화면에서만 볼 문서라면 150DPI 전후로 충분하고, 가정·사무용 프린터 출력까지 고려하면 200~300DPI를 유지하는 편이 안전하다. 600DPI 스캔본을 화면용으로만 쓸 거라면 절반 이하로 줄여도 눈으로는 차이를 느끼기 어렵다. 반대로 이미 150DPI인 파일을 더 누르면 글자가 뭉개지기 시작한다.
여기서 중요한 함정 하나. JPEG는 손실 압축이라 한 번 품질을 떨어뜨려 저장하면 그 정보는 복구되지 않는다. 압축을 두 번, 세 번 반복하면 화질이 계단식으로 무너진다. 그래서 원본은 반드시 따로 보관하고, 압축은 원본에서 한 번에 끝내는 것이 원칙이다.
폰트: 의외로 큰 비중을 차지하는 숨은 용량
한국 사용자에게 특히 중요한 부분이다. 한글 폰트는 완성형 글자가 수천 자에 달해 영문 폰트보다 파일이 훨씬 무겁다. PDF는 다른 컴퓨터에서도 글꼴이 동일하게 보이도록 폰트를 파일 안에 임베드하는데, 본문용 한글 폰트 하나가 통째로 들어가면 수 MB가 더해지기도 한다. 해결책은 "서브셋(subset) 임베딩"이다. 문서에 실제로 쓰인 글자들만 추려 폰트를 넣는 방식으로, 표시 품질은 그대로 유지하면서 폰트 용량을 크게 줄인다. 대부분의 최신 변환·압축 도구는 서브셋을 기본 적용하지만, 오래된 방식으로 만들어진 PDF는 전체 폰트가 통째로 박혀 있는 경우가 있어 재처리만으로도 용량이 줄어든다.
구조와 메타데이터: 작지만 공짜로 줄일 수 있는 부분
여러 번 편집·병합을 거친 PDF에는 더 이상 쓰이지 않는 객체, 중복 저장된 이미지, 누적된 변경 이력, 불필요한 주석과 폼 데이터가 남는다. PDF를 다시 저장(리라이트)하면서 이런 잔여물을 정리하고 객체 스트림을 압축하면, 화질에는 전혀 손대지 않고도 용량을 덜어낼 수 있다. 이를 보통 "선형화" 또는 "최적화 저장"이라 부른다. 디지털 원본 PDF에서 이미지가 별로 없는데도 파일이 무겁다면, 이 구조 정리만으로 의외의 효과를 보는 경우가 많다.
상황별 방법 비교: 웹 도구 · 오피스 · 명령줄
압축 수단은 크게 셋으로 나눌 수 있고, 각각 장단이 뚜렷하다. 정답은 "파일 민감도"와 "반복 여부"에 따라 달라진다.
- 오피스·전용 프로그램(워드, 한글, Acrobat 등): 문서를 만든 원본 프로그램에서 다시 저장할 때 "최소 크기" 또는 "웹용" 옵션을 고르는 것이 가장 깔끔하다. 원본 데이터를 알고 있어 화질 손상이 적고, 결과가 예측 가능하다. 다만 원본 편집 파일이 있어야 하고 프로그램이 설치돼 있어야 한다.
- 웹 기반 압축 도구: 설치 없이 브라우저에서 바로 처리할 수 있어 가장 빠르고 접근성이 좋다. 일회성 작업이나 가벼운 문서에 적합하다. 단점은 파일을 외부 서버에 올려야 하는 경우 보안이 걸리고, 한 번에 한두 개씩만 처리하기 번거롭다는 점이다.
- 명령줄 도구(Ghostscript 등): 같은 설정을 수십·수백 개 파일에 일괄 적용하거나 자동화 파이프라인에 넣기에 가장 강력하다. DPI, 품질, 폰트 처리를 세밀하게 통제할 수 있다. 대신 옵션 학습이 필요하고 진입 장벽이 있다.
명령줄을 쓴다면 가장 널리 검증된 것이 오픈소스 Ghostscript다. 예를 들어 화면용으로 적당히 줄이는 기본형은 다음과 같다. PDFSETTINGS 값을 screen(가장 작게)/ebook(중간)/printer(인쇄 품질) 순으로 바꿔가며 화질과 용량의 균형점을 찾으면 된다.
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 \
-dPDFSETTINGS=/ebook \
-dNOPAUSE -dQUIET -dBATCH \
-sOutputFile=output.pdf input.pdf화질 손실 없이 줄이는 현실적 전략
"무손실로 용량을 줄인다"는 말은 절반만 맞다. 이미지가 거의 없는 디지털 원본 PDF는 구조 최적화와 폰트 서브셋만으로 화질 손실 0으로 줄일 수 있다. 반면 스캔본처럼 용량이 이미지에 묶여 있는 파일은, 눈에 띄지 않는 수준의 손실은 받아들이되 그 손실을 최소화하는 쪽으로 접근해야 한다. 핵심은 "필요 이상으로 누르지 않는 것"이다.
- 먼저 사용 목적에 맞는 목표 해상도를 정한다. 화면 열람용이면 150DPI, 인쇄 가능성이 있으면 200~300DPI를 기준선으로 잡는다.
- 구조 최적화와 폰트 서브셋을 먼저 적용해 본다. 이미지를 건드리지 않고도 줄어드는 만큼이 무손실로 얻는 이득이다.
- 그래도 목표 용량을 못 맞추면 이미지 다운샘플링과 품질 조정을 점진적으로 적용한다. 한 번에 과하게 누르지 말고 단계적으로 확인한다.
- 결과를 100% 배율과 그 이상으로 확대해 본문 글자, 표 선, 작은 숫자가 읽히는지 검수한다. 특히 한글은 받침과 가는 획이 먼저 뭉개지므로 가장 작은 글씨를 기준으로 판단한다.
- 원본은 반드시 보존한다. 재압축이 필요할 때 압축본을 또 누르면 화질이 누적해서 무너진다.
흔한 문제와 트러블슈팅 체크리스트
압축이 기대만큼 안 될 때, 원인은 대부분 아래 몇 가지 안에 있다. 순서대로 짚어보면 거의 해결된다.
- "압축해도 용량이 거의 안 줄어요": 이미 최적화된 디지털 원본일 가능성이 높다. 더 줄일 여지가 거의 없는 상태이니, 무리하게 누르기보다 분할이나 다른 전송 방법을 고려한다.
- "글자가 흐릿하고 뭉개져요": 이미 낮은 해상도의 파일을 한 번 더 손실 압축했기 때문이다. 원본에서 다시, 더 약한 설정으로 한 번만 압축한다.
- "줄였더니 글꼴이 깨져 보여요": 폰트 임베드가 제거된 것이다. 서브셋 임베드를 유지하는 설정으로 다시 저장한다.
- "스캔본인데 글자 검색이 안 돼요": 페이지가 통이미지라 텍스트 정보가 없는 상태다. OCR로 텍스트 레이어를 입히면 검색·복사가 가능해진다. 단, OCR 후에는 텍스트 레이어가 더해져 용량이 다소 늘 수 있으니 압축은 OCR 다음에 하는 것이 순서상 자연스럽다.
- "민감한 정보가 들어 있어요": 외부 서버에 올리기 꺼려진다면 로컬 프로그램이나 명령줄 도구를 우선 검토하고, 압축 전에 주민번호·계좌 등은 마스킹으로 가린 뒤 처리하는 것이 안전하다.
용량 줄이기 전에 한 번 더 생각할 것
압축은 만능이 아니다. 100페이지 보고서에서 정작 필요한 건 10페이지뿐이라면, 압축보다 분할로 필요한 부분만 떼어내는 편이 용량도 줄고 받는 사람도 편하다. 여러 파일을 합쳐 보내야 한다면 각각을 적당히 압축한 뒤 병합하는 순서가 깔끔하다. 반대로 인쇄소에 넘기는 인쇄용 원고라면 함부로 압축해선 안 된다. 인쇄는 화면보다 훨씬 높은 해상도를 요구하므로, 이때는 용량보다 품질 보존이 우선이다.
정리하면, PDF 용량 줄이기의 핵심은 "무엇이 용량을 차지하는지 먼저 진단하고, 손실 없는 부분부터 줄인 다음, 꼭 필요한 만큼만 이미지를 손보는" 순서다. 이미지·폰트·구조라는 세 성분의 성질을 이해하면, 어떤 도구를 쓰든 화질은 지키면서 용량만 덜어내는 합리적인 판단을 스스로 내릴 수 있다. 도구는 수단일 뿐이고, 결국 중요한 것은 내 파일의 정체를 아는 것이다.