← 모두의 툴

이미지를 PDF로 바꾸면 왜 용량이 더 커질까 — 캔버스 재인코딩의 함정

가이드 · 2026-08-19 최종 확인

사진 한 장을 PDF로 바꿨을 뿐인데 파일 용량이 원본보다 커져서 당황했다면, 도구가 잘못된 게 아닙니다. "변환"이라는 단어 때문에 압축을 기대하기 쉽지만, PDF로 감싸는 과정 자체는 압축 작업이 아닙니다. 오히려 이미지 포맷에 따라 원본을 통째로 다시 인코딩하는 단계가 숨어 있어, 그 지점에서 용량이 불어날 수 있습니다.

1. PDF 변환은 압축이 아니라 "포장"이다

PDF는 이미지를 압축해주는 포맷이 아니라, 이미지 데이터를 페이지 객체·좌표·리소스 사전 같은 자체 구조 안에 담아 감싸는 컨테이너 포맷입니다. 원본 이미지 데이터를 그대로 담든, 다시 인코딩해서 담든 그 위에 PDF 고유의 구조적 오버헤드(xref 테이블, 페이지 트리, 스트림 헤더 등)가 항상 추가로 붙습니다. 즉 "이미지 → PDF" 변환 단계 자체에는 애초에 파일을 줄여주는 로직이 없습니다. 최종 용량은 오로지 이미지 데이터를 어떤 방식으로 PDF 안에 넣느냐에 달려 있습니다.

2. 포맷별로 완전히 다른 삽입 경로

이 사이트의 이미지→PDF 변환기가 실제로 쓰는 방식을 코드로 확인해 보면, 파일 형식에 따라 삽입 경로가 완전히 갈립니다.

JPEG (image/jpeg): 파일을 읽은 원본 바이트를 그대로 pdf.embedJpg()에 넘겨 PDF에 삽입합니다. 별도의 재인코딩·재압축 과정이 없으므로, 화질과 용량 모두 원본과 거의 동일하게 유지됩니다.
PNG · GIF · WebP · BMP: 먼저 <img> 태그로 이미지를 로드한 뒤, HTML5 캔버스에 그려 넣고 canvas.toBlob(..., 'image/png')완전히 새로운 무손실 PNG를 다시 만들어낸 다음, 그 결과물을 pdf.embedPng()으로 삽입합니다. 즉 원본 파일이 아니라 브라우저가 방금 새로 인코딩한 PNG가 최종 PDF에 들어갑니다.

3. 왜 하필 이 지점에서 용량이 불어나는가

문제는 브라우저 Canvas API의 PNG 인코더가 dedicated 압축 도구(pngcrush, oxipng, ImageOptim 등)만큼 최적화 압축을 하지 않는다는 데 있습니다. Canvas는 픽셀 데이터를 무손실로 담아내는 것에는 충실하지만, 필터 선택·zlib 압축 레벨 튜닝 같은 후처리 최적화까지는 하지 않는 경우가 많습니다. 게다가 원본 GIF나 WebP가 이미 손실 압축(WebP)이나 색상 팔레트 제한(GIF, 최대 256색)으로 상당히 작았던 파일이라면, 그걸 트루컬러 무손실 PNG로 다시 풀어내는 순간 용량이 눈에 띄게 커질 수 있습니다. 특히 GIF는 원래 팔레트 기반이라 압축률이 좋은데, PNG로 재인코딩되면서 이 이점이 그대로 사라지는 경우가 흔합니다.

4. 실전 체감: 어떤 조합이 위험한가

원본 형식PDF 삽입 방식용량 변화 위험
JPEG원본 바이트 그대로 삽입 (embedJpg)낮음 — 원본과 거의 동일
PNG캔버스 경유 → 재인코딩 PNG (embedPng)중간 — 원본 PNG 압축 수준에 따라 다름
GIF캔버스 경유 → 트루컬러 PNG로 변환높음 — 팔레트 압축 이점 소실
WebP캔버스 경유 → 무손실 PNG로 변환높음 — 손실 압축 이점 소실

또한 애니메이션 GIF는 PDF 자체가 애니메이션 개념이 없는 정적 포맷이라, 여러 프레임 중 첫 프레임 한 장만 삽입됩니다. 여러 이미지를 한 PDF로 합칠 경우, 위 표의 용량 증가가 이미지 수만큼 누적된다는 점도 감안해야 합니다.

5. 용량이 중요하다면 이렇게

자주 묻는 질문

Q. JPEG는 왜 용량이 거의 안 늘어나나요?

A. JPEG는 파일을 다시 그려서 인코딩하지 않고, 원본 압축 바이트를 그대로 PDF 안에 끼워 넣기 때문입니다. 재압축·재인코딩 단계가 아예 없어 화질 손실도, 용량 증가도 최소화됩니다.

Q. PNG를 PNG로 바꾸는 건데 왜 용량이 달라지나요?

A. "PNG를 PNG로" 그대로 복사하는 게 아니라, 픽셀을 캔버스에 새로 그린 뒤 브라우저의 PNG 인코더가 처음부터 다시 압축하기 때문입니다. 원본 PNG가 이미 잘 압축돼 있었다면 재인코딩 결과가 오히려 더 클 수 있습니다.

Q. GIF 애니메이션도 그대로 움직이는 PDF가 되나요?

A. 아니요. PDF는 애니메이션 개념이 없는 정적 문서 포맷이라, 여러 프레임 중 첫 프레임 하나만 정지 이미지로 삽입됩니다.

Q. 용량을 줄이려면 어떤 순서로 작업해야 하나요?

A. 사진류 이미지는 JPEG로 먼저 저장한 뒤 PDF로 변환하는 것이 가장 확실합니다. 이미 만든 PDF가 크다면 별도의 PDF 압축 도구를 한 번 더 거치는 방법도 있습니다.