Skip to content
reader.me

PDF를 업로드하지 않고 오프라인에서 압축하는 방법

파일을 작게 만들려고 낯선 서버로 PDF를 보낼 필요는 없습니다. 브라우저 안에서 완전히 오프라인으로 압축하는 방법을 소개합니다.

DCDavid Carrero · · 6 분 읽기

“PDF 압축”을 검색하면 수십 개의 웹사이트가 나오고, 하나같이 먼저 파일을 상자 안에 끌어다 놓으라고 합니다. 클릭하고, 업로드 막대가 채워질 때까지 기다리고, 다운로드 링크가 뜰 때까지 또 기다립니다. 너무 익숙한 절차가 돼버려서 대부분은 파일이 왜 작아지기 위해 굳이 컴퓨터 밖으로 나가야 하는지 물어볼 생각조차 하지 않습니다.

사실 그럴 필요가 없습니다. 압축은 눈앞에 이미 존재하는 바이트를 다루는 수학일 뿐입니다. 알고리즘이 PDF 안의 이미지를 살펴보고, 화면에서 굳이 필요 없는 디테일을 버린 뒤, 모든 것을 더 촘촘한 파일로 다시 묶습니다. 여기에 서버는 전혀 필요 없습니다. 필요한 건 프로그램이고, 그 프로그램은 남의 컴퓨터만큼이나 내 컴퓨터에서도 얼마든지 실행될 수 있습니다.

“업로드하면 우리가 줄여드립니다”가 기본값이 된 이유

무료 PDF 도구 대부분은 같은 구조에서 자라났습니다. 앞단에는 웹 폼, 뒷단에는 실제 작업을 하는 서버. 이 구조는 만들기 쉽고 광고로 수익을 내기도 쉬워서 순식간에 퍼졌습니다. 압축 작업 자체는 그럴 이유가 전혀 없는데도, “PDF 도구는 이렇게 작동한다”는 당연한 전제가 돼버린 것입니다.

이 방식의 대가는 파일 안에 실제로 뭐가 들어있는지 생각해보기 전까지는 눈에 보이지 않습니다. 압축하려는 PDF는 아무렇게나 만든 테스트 문서가 아닌 경우가 대부분입니다. 스캔한 계약서, 보험금 청구를 위한 진료 기록, 서명이 들어간 임대 계약서, 고객에게 이메일로 보낼 포트폴리오 같은 것들이죠. 업로드하는 순간, 그 문서는 처리되는 단 몇 초 동안이라도 내 손을 떠나 어딘가 다른 곳에 존재하게 됩니다. “한 시간 안에 삭제합니다”라는 개인정보 처리방침은 약속일 뿐, 직접 확인할 수 있는 보장이 아닙니다.

대안: 브라우저 안에서 실행하기

요즘 브라우저는 예전 같으면 데스크톱 앱이 필요했을 법한, 꽤 무거운 코드도 실제로 실행할 수 있습니다. reader.me의 PDF 압축 도구를 움직이는 힘이 바로 이것입니다. 페이지 자체에 PDF를 열고, 이미지 해상도를 낮추고, 파일을 다시 조립하는 데 필요한 모든 것이 담겨 있고, 이 모든 과정은 여러분의 브라우저 탭 안, 여러분의 기기에서 실행됩니다.

실질적인 차이는 단순합니다. 업로드 기반 도구를 쓰면 파일이 서버로 갔다가 돌아옵니다. 브라우저 기반 도구를 쓰면 파일은 아예 떠나지 않습니다. 문서를 밖으로 보내 작업을 맡기는 대신, 압축 프로그램이 내게 와서 로컬에서 작업을 처리하고 결과물을 건네줍니다.

PDF를 기기 밖으로 내보내지 않고 압축하는 방법

  1. PDF 압축 도구를 열고 파일을 선택하세요. 파일 시스템에서 선택한다고 해서 어딘가로 전송되는 것이 아니라, 페이지의 작업 메모리에 불러올 뿐입니다.
  2. 압축(compression) 수준을 정하세요. 낮은 설정은 원본에 가까운 이미지 디테일을 유지하면서 불필요한 용량만 덜어냅니다. 강한 설정은 이미지를 더 과감하게 다운샘플링해서 파일을 훨씬 작게 만듭니다. 스캔 문서가 감상용이 아니라 읽기용일 때 유용합니다.
  3. 압축을 실행하세요. 이 작업은 다른 어떤 페이지 스크립트와 마찬가지로 여러분의 CPU, 탭 안에서 일어납니다. 업로드에 연동된 진행률 표시줄은 없습니다. 애초에 업로드할 것이 없으니까요.
  4. 작아진 파일을 다운로드하세요. 다른 파일 다운로드와 똑같이 바로 기기에 저장됩니다.

이게 전부입니다. 걸리는 시간은 압축 연산 자체에 걸리는 시간과 거의 같고, 양쪽 어디에도 네트워크 왕복 시간이 추가되지 않습니다.

주장이 아니라 사실인지 직접 확인하는 법

“파일을 업로드하지 않습니다”라는 말을 어떤 도구의 주장만 믿고 받아들일 필요는 없습니다. 브라우저 개발자 도구를 열어보세요(F12를 누르거나 우클릭 후 ’검사’를 선택). Network 탭으로 전환한 다음 압축을 실행해보세요. 무슨 일이 일어나는지 지켜보세요. 페이지 자체 코드가 한 번 로드되고, 그 뒤로는 아무 일도 일어나지 않습니다. PDF를 담은 요청이 나가는 일은 없습니다. 만약 나간다면 바로 거기에 표시될 테니까요.

더 간단한 테스트도 있습니다. 페이지가 로드된 뒤 와이파이를 꺼보고 파일을 압축해보세요. 인터넷 연결이 전혀 없는데도 작동한다면, 서버는 관여하지 않는다는 뜻입니다. 더 볼 것도 없습니다. 이건 특정 도구에만 통하는 트릭이 아니라, “브라우저에서 실행된다”는 말이 실제로 사실일 때 의미하는 그대로입니다.

이것이 편리함 그 이상으로 중요한 이유

업로드를 건너뛰는 것은 단순히 더 빠르기 때문만은 아닙니다. 물론 남의 대역폭을 기다리는 왕복 시간이 없으니 대체로 더 빠르긴 합니다. 하지만 더 중요한 건, 압축하기 전후 그 파일이 여러분의 기기 말고는 그 어디에도 존재하지 않는다는 점입니다. 서버 로그도, 처리 대기열도, 중간에 끼어드는 제3자도 없습니다. 생일 전단지라면 이런 건 크게 상관없을지 모릅니다. 하지만 이름이나 주소, 서명이 들어간 문서라면, 그 차이는 문서가 계속 온전히 내 것으로 남느냐 잠시라도 내 손을 떠나느냐의 차이입니다.

다음번에 PDF 용량이 너무 커서 압축 도구를 찾게 된다면, 파일을 다루는 어떤 도구에나 던져야 할 질문을 똑같이 던져보세요. 이게 꼭 내 컴퓨터를 떠나야만 할까? 압축하고, 합치고, 나누는 것 같은 일상적인 작업이라면, 점점 더 그 답은 “아니오”입니다.

카테고리별 탐색