# 이미지를 PDF로 — JPG를 PDF로 변환

사진을 문서 하나에 담습니다.

> JPG, PNG, WebP 이미지를 PDF 하나로 묶습니다. 무료이고 전부 브라우저 안에서 돌아갑니다. 사진은 다시 인코딩되지 않고 그대로 들어가며, 아무것도 업로드되지 않습니다.

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

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

문서는 이 주소에서 받아 온 코드가 이 기기의 메모리 안에서 한 쪽씩 씁니다. 여기에는 업로드를 할 만한 것이 없고, 이 페이지 반대편에 그것을 받아 줄 서버도 없습니다.

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

## 이미지를 PDF로 만드는 방법

1. **이미지를 고릅니다.** 폴더를 통째로 선택 영역에 끌어다 놓거나 파일을 직접 고르세요. 브라우저가 디스크에서 곧바로 읽습니다. 그동안 어디로도 아무것도 나가지 않습니다.
2. **페이지 순서를 정하고, 필요한 것은 돌립니다.** 이미지 하나가 보이는 순서 그대로 한 쪽이 됩니다. 손잡이를 잡고 타일을 끌어 옮기거나 화살표를 쓰세요. 회전 버튼은 한 번에 90도씩 돌리는데, 옆으로 들어온 스캔에 보통 그게 필요합니다.
3. **페이지 크기를 고릅니다.** "이미지에 페이지 맞추기"를 고르면 모든 쪽이 그 사진 크기 그대로가 되어 잘리는 것도 흰 띠도 없습니다. A4, Letter, Legal처럼 이름 붙은 크기를 고르면 사진을 고정된 쪽에 배치하고, 원하시면 여백도 넣습니다.
4. **PDF를 만들고 내려받습니다.** 문서를 내 기기에서 쓰므로, 걸리는 시간은 대기열이 아니라 기기 성능에 달려 있습니다. 완성된 파일은 브라우저의 다운로드로 바로 넘어갑니다.

## 자세한 설명

[여러 이미지를 PDF 하나로 묶는 방법](https://abox.tools/ko/가이드/이미지-pdf-합치기/): 사진이나 스캔을 PDF 한 개로 만들기. 페이지 크기와 순서, 회전, JPEG가 들어가는 길에 화질을 잃지 않아도 되는 이유, 그리고 PDF가 받는 사람에게 무엇을 말해 주는지.

## 상자 속 다른 도구

- [문서 스캐너](https://abox.tools/ko/문서-스캔/): 종이를 찍으십시오. 스캔한 것처럼 생긴 것이 돌아옵니다.
- [동영상에서 오디오 추출](https://abox.tools/ko/동영상-오디오-추출/): 동영상을 놓으면 소리만 가져갑니다. 화면은 한 번도 디코딩되지 않고, 아무것도 업로드되지 않습니다.
- [오디오 자르기](https://abox.tools/ko/오디오-자르기/): 재생하면서 남길 곳에 표시하십시오. 표시한 만큼이 한 파일로, 말한 자리에서 잘려 돌아옵니다.
- [오디오 편집](https://abox.tools/ko/오디오-편집/): 거꾸로 돌리고, 배속을 바꾸고, 작게 녹음된 소리를 키웁니다. 전부 내 기기 안에서.

## 자주 묻는 질문

### 제 이미지가 어딘가로 업로드되나요?

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

### PDF로 바꾸면 화질이 떨어지나요?

기본 설정에서 JPEG는 떨어지지 않습니다. PDF는 JPEG 데이터를 그대로 실을 수 있어서, 사진이 바이트 그대로 문서에 복사됩니다. 디코딩되지도, 다시 압축되지도 않으므로 PDF 속 사진이 곧 파일 속 사진입니다. 다른 형식은 PDF에 해당하는 필터가 없어서 다시 인코딩해야 합니다. 파일이 커지는 대신 그대로 저장하는 무손실 설정을 고르지 않는 한요.

### 어떤 이미지 형식을 쓸 수 있나요?

브라우저가 디코딩할 수 있는 정지 이미지는 다 됩니다. 실제로는 JPG, PNG, WebP, GIF, AVIF, 그리고 애플 기기에서는 HEIC입니다. 여기서 따로 관리할 목록이 없습니다. 디코딩은 우리가 아니라 브라우저의 일이니까요.

### 페이지 크기와 순서를 정할 수 있나요?

됩니다. 페이지는 A4, Letter, Legal, A3, A5, Tabloid, 직접 입력한 크기, 아니면 사진마다 딱 맞는 크기가 될 수 있습니다. 타일을 끌어 순서를 바꾸고, 이름이나 날짜로 정렬하고, 아무거나 90도 돌리고, 여백을 밀리미터로 지정하세요.

### PDF 하나에 이미지를 몇 장까지 넣을 수 있나요?

도구에 정해 둔 제한은 없습니다. 현실적인 한계는 기기의 메모리입니다. 완성된 문서가 내려받기 전에 거기서 조립되니까요. 원본 해상도의 휴대폰 사진 수백 장이면 먼저 체감하게 되는데, 설정에서 긴 변을 줄이면 그 한계가 한참 멀어집니다.

### PDF에 제 파일명이나 만든 시각이 들어가나요?

요청하지 않으면 들어가지 않습니다. 문서 정보 블록은 이 도구의 이름을 빼면 비어 있습니다. 파일 이름도, 기기 이름도, 사용자 이름도 없고, 체크하지 않으면 만든 날짜도 없습니다. 일부러 그렇게 했습니다. PDF는 사람이 사람에게 보내는 물건이니까요.

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

무료이고 계정도, 로그인도, 체험판도 없습니다. 이 사이트는 광고로 유지되는데, 그 광고에도 내 이미지에 관한 것은 넘어가지 않습니다.

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

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

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

- **이미지는 나갈 곳이 없습니다.** 이 페이지가 연결해도 되는 주소는 Content-Security-Policy에 모두 적혀 있는데, 그중 이 사이트 것은 하나도 없습니다. 이 도구는 그 목록에 아무것도 더하지 않습니다. 선택 기능으로도 네트워크 기능이 없어요. 파일이 모일 만한 수신 지점이 없고, 설령 있더라도 거기로 파일을 보낼 코드가 없습니다.
- **PDF는 여기서 씁니다.** PDF는 객체의 목록과, 각 객체가 어디서 시작하는지 적어 둔 표입니다. `src/shared/pdf-page-writer.js`가 그 둘을 씁니다. 라이브러리를 내려받지도, 서버에서 그려 오지도 않으며, 완성된 파일은 메모리에서 곧바로 내려받기로 넘어갑니다.
- **문서는 만든 사람에 대해 아무것도 듣지 못합니다.** 대부분의 도구가 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/shared/pdf-page-writer.js`와 `src/document.js`에 있습니다. 어느 쪽도 네트워크에는 손을 대지 않습니다.
