# PDF 압축 — 문서 용량 줄이기

문서를 어디에도 보내지 않고 가볍게 만듭니다.

> PDF를 업로드하지 않고 작게 만듭니다. 파일을 읽고 다시 압축하고 새로 쓰는 일을 브라우저가 전부 처리합니다. 손대기 전에 용량이 실제로 어디에 쏠려 있는지부터 보여 줍니다.

이 페이지는 브라우저 안에서만 동작하는 대화형 도구입니다(https://abox.tools/ko/pdf-용량-줄이기/). 도구에 넘긴 어떤 것도 업로드되지 않습니다. 아래는 이 페이지가 도구에 대해 글로 설명하는 내용 전부입니다. 도구를 쓰려면 이 주소를 여세요.

## PDF 파일은 **절대 업로드되지 않습니다**. 서버가 아예 없으니까요.

문서를 열고 뜯어내고 다시 쓰는 일은 모두 이 기기의 메모리 안에서, 이 주소에서 받아 온 코드가 합니다. 여기에는 업로드를 할 만한 것이 없고, 이 페이지 반대편에 그것을 받아 줄 서버도 없습니다.

- ✗ 업로드 없음
- ✗ 가입 없음
- ✓ 오프라인 동작
- ✓ 오픈 소스
- ✓ 파일은 기기에 그대로

## PDF를 작게 만드는 방법

1. **PDF를 고릅니다.** 선택 영역에 끌어다 놓거나 직접 골라 주세요. 브라우저가 디스크에서 곧바로 읽습니다. 그동안 어디로도 아무것도 나가지 않습니다.
2. **용량이 어디에 있는지 봅니다.** 두 번째 단계의 요점이 이 분석입니다. 막대가 대부분 이미지라면 이 도구가 손댈 것이 있습니다. 대부분 글꼴과 페이지 내용이라면 그렇다고 말해 줄 텐데, 그럴 때 정직한 절감폭은 몇 퍼센트입니다. 1분을 쓰기 전에 알아 두는 편이 낫지요.
3. **얼마나 세게 짤지 정합니다.** 이름 붙은 설정들은 막연한 등급이 아니라 해상도입니다. 화면에서 읽을 용도면 96 DPI, 메일로 보낼 용도면 130, 그래도 인쇄해야 한다면 220. 각 값은 그 이미지가 지면에 실제로 얼마나 크게 그려지는지를 기준으로 잽니다. 그래서 작게 넣은 사진이 전면 스캔과 같은 취급을 받지 않습니다.
4. **압축하고, 검사했다고 적힌 줄을 확인합니다.** 다시 쓰기가 끝나면 완성된 파일을 이 페이지의 같은 리더가 다시 열어 쪽수를 셉니다. 그 수가 원본과 다르면 실패로 보고하고 내려받기를 내주지 않습니다.

## 자세한 설명

[PDF를 작게 만드는 방법, 그리고 어떤 것은 왜 줄지 않는지](https://abox.tools/ko/가이드/pdf-용량-줄이는-법/): PDF의 용량이 실제로 어디에 있는지, 스캔은 80% 줄고 계약서는 꿈쩍도 하지 않는 이유, 여기서 DPI가 무슨 뜻인지, 그리고 압축 도구가 남의 문서에 절대 해서는 안 되는 일.

## 상자 속 다른 도구

- [PDF 가리기](https://abox.tools/ko/pdf-가리기/): 글자를 파일에서 지우고, 지운 뒤에 파일을 검색해서 증명합니다.
- [이미지를 PDF로](https://abox.tools/ko/이미지-pdf-변환/): 사진을 문서 하나에 담습니다.
- [문서 스캐너](https://abox.tools/ko/문서-스캔/): 종이를 찍으십시오. 스캔한 것처럼 생긴 것이 돌아옵니다.
- [동영상에서 오디오 추출](https://abox.tools/ko/동영상-오디오-추출/): 동영상을 놓으면 소리만 가져갑니다. 화면은 한 번도 디코딩되지 않고, 아무것도 업로드되지 않습니다.

## 자주 묻는 질문

### 제 PDF가 어딘가로 업로드되나요?

아닙니다. 파일을 읽고 다시 압축하고 쓰는 일은 내 기기에서 도는 내 브라우저가 합니다. 이 도구에는 서버 쪽이라는 것이 없고, 이 페이지의 `Content-Security-Policy`에 연결해도 되는 주소가 전부 적혀 있는데 그중 이 사이트 것은 하나도 없습니다. 선택 기능으로도 네트워크 기능이 아예 없습니다.

### 제 PDF는 얼마나 작아지나요?

안에 무엇이 들었느냐에 전적으로 달렸습니다. 그래서 무엇이든 압축하기 전에 먼저 재서 보여 드리는 것입니다. 스캔한 문서는 거의 전부가 사진이라 흔히 ⁦60–90⁩% 작아집니다. 계약서나 논문은 글자와 벡터 도형과 내장 글꼴로 이루어져 있고, 전부 그것을 만든 프로그램이 이미 압축해 둔 것들입니다. 이런 파일에서 절감폭은 보통 몇 퍼센트에 그치는데, 파일을 다시 묶고 더 이상 참조되지 않는 것을 버려서 얻는 몫입니다. 파일을 보지도 않고 몇 퍼센트를 약속하는 도구는 그냥 찍는 것입니다.

### PDF를 압축하면 품질이 떨어지나요?

안에 든 이미지는 다시 인코딩되니 그 부분은 떨어집니다. 나머지는 손대지 않습니다. 글자는 글자로 남아 선택도 검색도 되고, 글꼴은 통째로 보존되며, 벡터 도형은 그대로 복사됩니다. 게다가 아무 이득 없이 이미지를 망가뜨리는 일은 하지 않습니다. 다시 인코딩한 결과가 원본보다 작지 않으면 원본 바이트를 그대로 문서에 되돌려 놓습니다.

### 여기서 DPI가 무엇이고, 왜 물어보나요?

PDF에는 각 이미지가 지면에 얼마나 크게 그려지는지가 기록되어 있어서, 실효 해상도를 계산할 수 있습니다. 4000픽셀짜리 스캔을 종이 8인치 폭에 놓았다면 인치당 500픽셀을 싣고 있는 셈입니다. 화면에서는 그만큼을 쓸 수 없고 종이에서도 거의 못 씁니다. 그래서 정해 주신 값을 넘는 픽셀부터 버립니다. 아무도 볼 수 없는 품질에 값을 치르고 있으니까요. 작게 놓인 로고가 전면 스캔과 다르게 다뤄지는 것도 이 측정 덕분입니다.

### 암호가 걸린 PDF도 열 수 있나요?

열지 않습니다. 일부러 그렇게 했습니다. 암호화된 문서는 그렇다는 메시지와 함께 거부합니다. 암호가 비어 있을 때도 마찬가지인데, 많은 스캐너와 복합기가 그렇게 저장하거든요. 파일의 보호를 벗기는 일은 압축하는 일과 다른 일이고, 그걸 말없이 해 버리는 도구는 부탁하지도 않은 일을 하는 도구입니다.

### 압축되지 않는 PDF도 있나요?

안에 든 일부 이미지는 그렇습니다. JPEG 2000, JBIG2, 팩스 코딩(CCITT) 이미지는 어느 브라우저에도 디코더가 없어서 손대지 않고 통과시키고 그 사실을 알려 드립니다. 뒤의 둘은 흑백 2치 코덱이라 대개 이미 가장 작은 상태에 가깝고요. CMYK 이미지도 그대로 둡니다. 다시 인코딩하면 인쇄기가 뽑을 색이 틀어질 위험이 있기 때문입니다. 건너뛴 것은 전부 결과에 이유와 함께 적힙니다.

### 압축한 파일이 어디서나 열리나요?

열립니다. 결과는 PDF 1.5로 쓰는데, 2003년 이후에 나온 리더라면 다 이해하는 버전입니다. 게다가 그 사실을 내 기기에서 증명해 보입니다. 완성된 파일을 다시 열어 쪽수를 센 다음에야 건네주니까요. 양식, 링크, 북마크, 접근성 구조, 첨부된 파일은 모두 그대로 옮겨집니다. 남겨 두고 오는 것은 문서 안의 어떤 것도 더 이상 참조하지 않는 자료뿐입니다.

### 무료인가요? 가입해야 하나요?

무료이고 계정도, 로그인도, 체험판도 없습니다. 파일 용량 제한도 내 기기의 메모리가 허락하는 선까지입니다. 이 사이트는 광고로 유지되는데, 그 광고에도 내 문서에 관한 것은 넘어가지 않습니다.

### 오프라인에서도 되나요?

됩니다. 페이지를 한 번 불러온 다음 인터넷을 끊어도 계속 동작합니다. 아무것도 업로드되지 않는다는 가장 간단한 증명이기도 하고요. 문서를 어딘가로 보내서 압축하는 도구라면 선을 뽑는 순간 멈춰 버릴 테니까요.

## 이 약속을 직접 확인하는 방법

- **문서는 나갈 곳이 없습니다.** 이 페이지가 연결해도 되는 주소는 Content-Security-Policy에 모두 적혀 있는데, 그중 이 사이트 것은 하나도 없습니다. 이 도구는 그 목록에 아무것도 더하지 않습니다. 선택 기능으로도 네트워크 기능이 없어요. 파일이 모일 만한 수신 지점이 없고, 설령 있더라도 거기로 파일을 보낼 코드가 없습니다.
- **형식 전체가 이 저장소 안에 있습니다.** PDF는 객체의 목록과, 각 객체가 어디서 시작하는지 적어 둔 표입니다. `src/objects.js`가 그 문법을 읽고, `src/reader.js`가 표를 따라가고, `src/writer.js`가 새 표를 씁니다. 셋 중 어느 것도 요청을 보낼 수 있는 무언가를 불러오지 않습니다. 라이브러리를 내려받지도, 서버에서 그려 오지도 않습니다.
- **암호가 걸린 파일은 열지 않고 돌려보냅니다.** 암호가 걸린 PDF는 거부합니다. 스캐너가 빈 암호로 만들어 기술적으로는 열리는 종류까지 포함해서요. 문서의 보호를 벗기는 일은 문서를 작게 만드는 일과 다른 일이고, 그걸 말없이 해 버리는 도구는 놀라운 도구입니다.
- **무언가를 넣는 게 아니라 빼냅니다.** 완성된 파일에는 생성 날짜도, 제작 프로그램 줄도, 이걸 만든 도구의 이름도 들어가지 않습니다. 해당 항목을 켜면 XMP 패킷과 편집 프로그램이 남긴 비공개 블록까지 사라집니다. EXIF 도구가 하는 일을 컨테이너만 바꿔 그대로 하는 셈이에요.
- **구글이 불러오는 것과, 구글에게 주지 않는 것.** 광고와 측정 스크립트는 구글에서 옵니다. 어느 쪽에도 내 문서에 관한 것은 넘어가지 않습니다. 파일도, 페이지도, 이름도, 용량도, 쪽수도요. PDF를 읽고 디코딩하고 쓰는 코드는 한 줄도 빠짐없이 이 출처에서 제공되고 저장소에 공개되어 있습니다.
- **후원 버튼이 불러오는 것과, 후원 버튼이 받지 못하는 것.** 헤더의 "Buy me a coffee" 버튼은 cdnjs.buymeacoffee.com의 스크립트가 그리고, 글꼴은 Google Fonts에서 가져옵니다. 그저 링크일 뿐이에요. 방문을 보고하지도, 나에 관한 것이나 내 문서에 관한 것을 받아 가지도 않습니다. 누르지 않으면 아무 일도 일어나지 않고, 눌러서 가게 되는 곳은 남의 사이트입니다.
- **오프라인에서도 동작합니다.** 네트워크를 끊어도 이 페이지의 기능이 전부 그대로 돌아갑니다. 가장 간단한 증거예요. 문서를 어딘가로 보내서 압축하는 도구라면 그 자리에서 멈출 테니까요.

**직접 확인해 보세요.** 위에 적은 어느 것도 그냥 믿으실 필요는 없습니다. 이 페이지는 저장소 안의 템플릿과 설정을 빌드 스크립트가 찍어 낸 결과이고, 그 스크립트는 누구나 읽고 직접 돌려 볼 수 있습니다. 결과물은 `dist` 브랜치에 그대로 올라가 있고요. 그래서 실제로 제공되는 파일과 소스를 빌드한 결과를 나란히 놓고 비교해 보실 수 있습니다: https://github.com/A-Box-of-Tools/website

먼저 읽어 볼 파일을 꼽자면, Content-Security-Policy는 `config/site.toml`, 읽고 다시 쓰는 과정 전부는 `src/reader.js`와 `src/writer.js`에 있습니다. 둘 다 네트워크에는 손이 닿지 않습니다.
