00님 pdf 압축 좀 해주세요.

hee ahn·2025년 9월 2일
6
post-thumbnail

나는 왜 pdf 압축기를 만들어야 했을까

디자이너라면 한번쯤은 요청받았을 그 말..
"--님 pdf 압축해주세요. 한 10mb 이내로?"

저는 스타트업의 프로덕트 디자이너 인턴이에요. 외부 투자자료나, 영업자료를 제작하는 일을 맡을 수밖에 없는데 이런 장표작업을 최대한 빨리 끝내야 본업으로 돌아갈 수 있었어요. 근데 장표 작업을 아무리 빨리 끝내도, 압축하고 수정하고, 확인하다보면 날라가는 2-3시간이 시간이 너무 아깝게 느껴졌어요. 저는 이 일을 빨리 끝내고 ux를 하고 싶었어요..

pdf 압축에는 여러가지 방법이 있어요.

제가 아는 방법은 총 3가지 예요.

  1. Adobe acrobat pro 사용 (플랜 필요)
  2. 무료 pdf 압축 사이트 이용
  3. mac OS 기본 미리보기 압축 사용
    ...

가장 많이 사용되는건 1, 2번이라고 생각해요. 그동안 수많은 pdf를 압축해본 결과.. 이 2가지 방법이 완전한 방법은 아니라고 판단했습니다. 각자의 방법엔 장단점이 있겠죠? 3가지 모두 방법과 장단점에 대해 알아볼게요.

1번: Adobe acrobat을 사용

Adobe acrobat 앱 안에서 압축하면 품질 설정이 불가능하고, 웹으로 로그인하면 품질 설정이 가능합니다. 앱 안에선 기본적으로 가장 높은 품질을 지원해요.

⬆️ 장점
품질을 높고, 중간, 낮음 3가지 중 선택할 수 있다.(해상도 설정 가능)

⬇️ 단점
플랜결제 이슈, 비싸다. 1px 짜리 스트로크를 마음대로 생략하는 경우 발생하기도 한다. 비트맵 기반 이미지가 들어갔을 때, 해당 이미지만 과하게 용량을 줄여서 용량은 줄었지만 사용하지 못하는 경우 또한 발생.

2번: 무료 pdf 압축 사이트 이용

'pdf 압축' 키워드로 구글링 했을 때 쏟아져 나오는 그 무료 사이트 맞아요
예) ilovePDF, SmallPDF.. 등등

⬆️ 장점
: 무료다.

⬇️ 단점
: 무료 빼고 장점이 없다. 그래픽 생략 이슈 다수, 마음대로 컬러 값 생략, 해상도 낮추는 기준을 알 수 없다. 배포자료, 외부 자료로 사용 불가능하다.

+첨언하자면 약간 랜덤뽑기 같음. 잘나올 때도, 안나올 때도 있고..

3번: mac OS 기본 미리보기 압축

미리보기로 pdf를 열어서, 내보내기 > Quartz 필터 > Reduce File Size 선택시 미리보기에서 경량 압축이 가능합니다.

⬆️ 장점
: 다른 서비스 찾을 필요 없이 OS 안에서 해결 가능하다. 위 2가지 방법에 비해 일관된 결과물을 도출한다.

⬇️ 단점
: 해상도 설정이 불가능. 몇 mb로 줄여질지 몰라 지속적으로 시도해야한다.

이 3가지 방법 모두 시도해보면서 그때그때 대응했지만,
모두 만족스럽지 않았습니다.

이거 진짜 방법이 없는거야? 하는 생각에 열심히 서치를 하기 시작했습니다. 저는 이 요청이 올 때마다 낭비하는 시간을 얼른 없애버리고 싶었어요..

제 니즈는 딱 3가지 였어요

위에 3가지 방법을 반복적으로 시도하다보니 제 니즈를 3가지로 명확하게 정리할 수 있었어요.

1. 해상도 설정이 가능할 것
2. 품질 손상 없이 안정적인 압축 결과를 보여줄 것
3. 파일 업로드, 다운로드 과정을 반복해야하는건 어쩔 수 없다고 판단. 이 과정이 최대한 짧아야할 것

그래서 이 3가지 모두를 충족하는 pdf 압축기를 만들었어요!
이유는 단 한가지.. 얼른 끝내고 본업으로 돌아가고 싶었습니다

Automator기반 응용프로그램으로 만들기

터미널 안에서 GhostScript 사용해서 시도해봤지만 파일명을 직접 입력해야하고, 재사용할 때 다시 코드를 입력해야하는 번거로움을 없애고 싶었어요. 제가 선택한 방법은 macOS 기본 도구인 Automator를 활용하는 것이었습니다.

특징
1. 별도 설치가 필요없다, macOS 기본
2. 해상도 조절이 가능하다. Quartz 필터에서 직접 설정
3. 작업 단축 가능. 파일 드랍 후 자동 압축 -> 저장까지 한 번에 처리가 가능.

Automator 동작 플로우

핵심 플로우는 이거예요.
아이콘 위에 파일 드랍 > 해상도 입력 > 파일 자동 저장

pdf 압축기 구현 과정

먼저 Automator 안에서 응용 프로그램으로 선택해서 새로 문서를 만들었어요.
워크플로우에 "쉘 스크립트 실행" 액션 추가를 진행하고
Ghostscript 코드를 삽입했습니다.

1. 해상도 입력창 (AppleScript)

"원하는 해상도(dpi)를 입력하세요 (예: 150)"

2. 드롭한 파일을 저장 위치에 처리할 수 있도록 조건 설정

pdf 확장자인 경우만 처리
드롭된 파일 폴더 경로 추출 후 같은 폴더에 같은 규칙으로 결과 저장

3. Ghostscript 실행 조건

출력 디바이스: pdf로 출력
호환성: PDF 1.7버전 유지

압축조건은 다음과 같습니다.

  • 컬러 이미지: Bicubic 다운샘플링, 해상도 = $DPI
  • 그레이스케일 이미지: Bicubic 다운샘플링, 해상도 = $DPI
  • 흑백(모노) 이미지: Subsample 다운샘플링, 해상도 = $DPI*2 (흑백은 더 높은 해상도 보장)

이미지 타입별로 다운샘플링 조건을 설정해서, 품질 손상을 최소화하고 용량을 절감했어요

pdf 압축기 완성

이렇게 저는 pdf 압축 관련 대응을 기존 3시간에서 30분 안쪽으로 좁히는 기적을 성공했습니다. 안에 어떤 이미지에 들어가냐에 따라서, dpi 조절을 하다보니 몇메가에 어느정도 해상도로 지정해야겠다 하는 감이 오더라구요.

이 방법 외에도 Automator로 pdf 압축 액션을 직접적으로 추가할 수 있는 것 같아요.
이젠 pdf 압축으로 고생하는 디자이너가 없길 바라며.. adios..

profile
애증의 디자인

2개의 댓글

comment-user-thumbnail
2025년 9월 8일

멋지네요. 문제해결을 위한 열정 잘 얻고 가요:D

1개의 답글