← 모두의 툴

PDF를 돌려도 화질이 그대로인 이유 — /Rotate 메타데이터의 원리

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

스캔한 문서가 옆으로 누워 있어서 PDF 뷰어에서 회전 버튼을 눌러본 적이 있다면, 회전 후에도 글자와 이미지가 전혀 흐려지지 않는다는 걸 눈치챘을 것입니다. 사진 파일을 포토샵 같은 프로그램에서 여러 번 돌리고 저장하기를 반복하면 화질이 조금씩 뭉개지는 것과는 대조적입니다. 이 둘의 차이는 우연이 아니라, PDF와 JPG가 콘텐츠를 표현하는 방식 자체가 근본적으로 다르기 때문에 생기는 구조적인 결과입니다.

1. PDF는 왜 "고정 레이아웃" 포맷인가

PDF(Portable Document Format)는 애초에 "어느 기기에서 열어도 인쇄물과 똑같이 보이게 하자"는 목적으로 설계됐습니다. 이를 위해 PDF는 화면을 픽셀 격자로 채우는 방식이 아니라, 텍스트는 어떤 폰트의 어떤 글자를 어느 좌표에 어느 크기로 놓을지를 명령어로 기술하고, 도형은 선과 곡선의 수학적 좌표(벡터)로 기술하며, 사진 같은 것만 별도의 이미지 객체로 삽입하는 구조를 씁니다. 즉 페이지 하나는 "그림"이 아니라 "그림을 그리는 방법을 적어놓은 설명서"에 가깝습니다. 이 설명서는 확대해도 계단 현상이 생기지 않고, 어떤 뷰어로 열어도 동일한 좌표계 위에서 똑같이 재현됩니다.

2. /Rotate 속성 — 숫자 하나가 하는 일

PDF 표준(ISO 32000)에서 페이지 객체는 여러 속성을 가질 수 있는데, 그중 하나가 /Rotate입니다. 이 값은 0, 90, 180, 270 중 하나로만 채워지며, "이 페이지를 화면에 표시할 때 시계 방향으로 몇 도 돌려서 그려라"라는 뷰어를 향한 지시일 뿐입니다. pdf-lib 같은 라이브러리로 PDF를 회전시키는 도구가 실제로 하는 일도 이 정수 하나를 읽어서 원하는 각도만큼 더한 뒤 다시 저장하는 것이 전부입니다. 페이지 안에 담긴 텍스트의 좌표, 폰트 윤곽선 데이터, 삽입된 이미지의 원본 인코딩 바이트는 저장 전후로 단 한 바이트도 바뀌지 않습니다. 뷰어는 파일을 열어 이 값을 읽고, 화면에 그리는 마지막 순간에만 좌표계를 회전시켜 보여줍니다.

비유하자면: PDF 회전은 액자 속 그림을 다시 그리는 게 아니라, 액자를 걸어놓은 못의 각도만 돌리는 것과 같습니다. 그림(콘텐츠)은 그대로고, "이렇게 걸어서 보여줘"라는 지시(/Rotate 값)만 바뀝니다.

3. 이미지 파일을 회전할 때는 왜 원리가 다른가

JPG나 PNG 같은 래스터 이미지 파일에는 PDF의 /Rotate 같은 "표시 각도 지시자"가 따로 없습니다. 이미지 파일의 콘텐츠 자체가 곧 가로×세로 픽셀 배열이기 때문입니다. 이 파일을 90도 돌리려면 원래 (x, y) 좌표에 있던 모든 픽셀을 새로운 좌표로 옮기는 계산을 실제로 수행해야 하고, 그 결과물을 다시 파일로 저장하려면 픽셀 데이터를 다시 압축·인코딩해야 합니다. 특히 JPG는 손실 압축 방식이라, 저장할 때마다 원본과 미세하게 다른 근사값으로 데이터를 다시 표현하게 되고 이 과정이 반복될수록 눈에 띄는 화질 저하(세대 손실)로 누적됩니다. PDF가 "지시자만 바꾸는" 방식이라면 이미지 회전은 "콘텐츠 자체를 다시 계산해서 다시 굽는" 방식인 셈이며, 이 근본적인 차이 때문에 PDF 회전에는 화질 손실이나 눈에 띄는 용량 증가가 없는 반면 이미지 회전에는 재인코딩 비용과 손실 위험이 따라붙습니다.

4. 정리 — 왜 이 구조가 실무에 유리한가

자주 묻는 질문

Q. PDF 페이지를 회전하면 실제로 어떤 값이 바뀌나요?

A. 페이지 객체에 저장된 /Rotate라는 정수 속성이 바뀝니다. 이 값은 0, 90, 180, 270 중 하나이며 페이지를 화면에 표시할 때 시계 방향으로 몇 도 돌려서 보여줄지를 뷰어에게 지시하는 표시 지시자일 뿐, 페이지 내용(텍스트·이미지·벡터 그래픽) 자체는 전혀 건드리지 않습니다.

Q. 왜 PDF는 회전해도 화질이 그대로인가요?

A. PDF 회전은 픽셀을 다시 계산하는 작업이 아니라 /Rotate라는 숫자 하나를 바꿔 저장하는 작업이기 때문입니다. 텍스트는 폰트 윤곽선(벡터) 정보로, 이미지도 원본 그대로의 인코딩 데이터로 남아 있고, 뷰어가 화면에 그리는 순간에만 그 값만큼 돌려서 렌더링합니다. 원본 데이터를 재인코딩하지 않으므로 손실이 발생할 여지가 없습니다.

Q. JPG 같은 이미지 파일을 회전할 때는 왜 다른가요?

A. JPG는 페이지 내용과 회전 지시자가 분리된 구조가 아니라, 픽셀 배열 자체가 곧 콘텐츠입니다. 회전하려면 모든 픽셀의 좌표를 새로 계산해 배치한 뒤 그 결과를 다시 압축·인코딩해야 하며, JPG는 손실 압축 방식이라 이 재인코딩 과정에서 화질이 미세하게 저하됩니다.

Q. PDF를 회전해도 파일 용량은 왜 거의 그대로인가요?

A. 바뀌는 것이 페이지당 정수 하나뿐이고 실제 텍스트·이미지 데이터는 원본 그대로 유지되므로, 파일 용량 증가는 사실상 없습니다. 반면 이미지 파일은 회전 후 픽셀 데이터를 통째로 다시 인코딩해야 하므로 용량이 달라질 수 있습니다.