# 圖片轉 PDF JPG 轉 PDF

把你的圖片裝進一個文件。

> 把 JPG、PNG 或 WebP 合成一個 PDF，免費，全程在你的瀏覽器裡跑。照片進去不重新編碼，什麼都不上傳。

本頁是一個完全在你的瀏覽器裡執行的互動式工具，地址是 https://abox.tools/zh-TW/images-to-pdf/。你交給它的任何內容都不會被上傳。下面是這個頁面用文字對該工具的全部說明；要使用它，請開啟這個地址。

## 你的圖片**不會上傳**。這裡根本沒有伺服器。

文件在這臺機器的記憶體裡一頁一頁寫出來，跑的是從這個地址發出的程式碼。這裡沒有任何東西能發起上傳，這個頁面的另一頭也沒有伺服器能接住上傳。

- ✗ 不上傳
- ✗ 不註冊
- ✓ 斷網能用
- ✓ 開源
- ✓ 檔案留在你的裝置上

## 圖片怎麼變成 PDF

1. **選好你的圖片。** 把整個資料夾拖到下面的方框裡，或者一個個自己挑。瀏覽器直接從你的硬碟上讀，這期間沒有東西發出去。
2. **排好頁序，該轉的轉過來。** 一張圖一頁，順序就是你看到的順序。抓住卡片上的手柄拖動，或者按上面的箭頭。旋轉按鈕一次轉九十度，橫著掃進來的那種一般就得這麼辦。
3. **選頁面大小。** 「頁面跟著每張圖走」會讓每一頁正好等於那張圖，不裁邊，也沒有白框。選 A4、Letter、Legal 這些固定尺寸，則是把每張圖擺到一張固定大小的紙上，要留邊就留邊。
4. **產生 PDF，然後下載。** 文件在你自己的機器上寫出來，所以快慢取決於你這臺機器，不取決於排隊。成品直接交給瀏覽器的下載。

## 說得更細的版本

[怎麼把多張圖片合成一個 PDF](https://abox.tools/zh-TW/guides/combine-images-into-a-pdf/): 把照片或者掃描檔做成一個 PDF：頁面大小、順序和旋轉，JPEG 為什麼進去時可以一點不掉畫質，以及這份 PDF 會向收件人交代些什麼。

## 工具箱裡還有

- [文件掃描](https://abox.tools/zh-TW/document-scanner/): 把紙拍下來，回來的是一份看起來像掃描的東西。
- [從影片裡提取音訊](https://abox.tools/zh-TW/extract-audio-from-video/): 把影片拖進來，聲音就取出來了。畫面從不解碼，也不上傳任何東西。
- [音訊剪輯](https://abox.tools/zh-TW/trim-audio/): 邊聽邊標出值得留的段落。它們會合成一個檔案回來，就切在你說的位置。
- [音訊編輯](https://abox.tools/zh-TW/edit-audio/): 倒著放、快慢隨你調、把錄輕了的聲音提上來，全在你這臺機器上。

## 常見問題

### 我的圖片會傳到什麼地方去嗎？

不會。讀圖和寫 PDF，全由你自己的瀏覽器在你自己的硬體上完成。這個工具沒有伺服器那一半，頁面的 `Content-Security-Policy` 把它可能聯的地址全列了出來，沒有一個是本站的。跟這裡另外幾個工具不同，它連可選的聯網功能都沒有。

### 轉成 PDF 會掉畫質嗎？

預設設定下，JPEG 不會。PDF 本來就能直接裝 JPEG 資料，所以照片是逐位元組抄進文件的，不解碼，也不再壓一遍，PDF 裡那張圖就是檔案裡那張圖。別的格式得重新編碼，因為 PDF 裡沒有對應的濾鏡可用，除非你選無損那一檔，它照原樣存下來，代價是檔案更大。

### 支援哪些圖片格式？

你的瀏覽器能解碼的靜態圖都行，實際上就是 JPG、PNG、WebP、GIF、AVIF，蘋果裝置上還包括 HEIC。這裡沒有另一份需要不斷維護的清單，因為解碼是瀏覽器的工作，不是我們的。

### 頁面大小和頁序能自己定嗎？

能。頁面可以是 A4、Letter、Legal、A3、A5、Tabloid，也可以自己填一個尺寸，或者乾脆等於每張圖本身。卡片拖著換順序，按名字或日期排序，任意一張轉九十度，頁邊距按毫米填。

### 一個 PDF 最多能放多少張圖？

工具裡沒設上限。真正的天花板是你這臺機器的記憶體，因為成品文件要在那裡拼好你才能下載。最先撐不住的，是幾百張全解析度的手機照片。設定裡把最長邊縮一縮，這道天花板一下能抬高很多。

### PDF 裡會帶上我的檔名或者時間戳嗎？

你不要求就不會。文件資訊那一塊除了這個工具的名字之外是空的：沒有檔名，沒有機器名，沒有使用者名稱，你不勾那個框，連建立日期都沒有。這是故意的，PDF 本來就是拿去給別人看的東西。

### 免費嗎？要註冊嗎？

免費，沒有帳號，不用登入，也沒有試用期。本站帶廣告，經費就是這麼來的，廣告拿不到關於你圖片的任何資訊。

### 斷網能用嗎？

能。頁面開一次之後斷網，它照常運作。這也是證明「什麼都沒上傳」最省事的辦法。一個把圖片送出去做文件的工具，拔線那一刻就停了。

## 這條隱私承諾怎麼核實

- **你的圖片沒地方可去。** Content-Security-Policy 把這個頁面允許聯的地址全列了出來，沒有一個是本站的。這個工具沒往那份名單上添任何東西，因為它自己就沒有聯網功能，連可選的都沒有。這裡沒有能收檔案的介面，程式碼裡也沒有一行會把檔案發出去，就算真有那麼個介面也一樣。
- **PDF 是在這裡寫出來的。** 一個 PDF 說白了就是一串物件，外加一張記著每個物件從哪裡開始的表，兩樣都由 `src/shared/pdf-page-writer.js` 寫。沒有庫要去外面取，沒有哪一步在伺服器上渲染，成品直接從記憶體交給下載。
- **這個文件對你一無所知。** 多數工具會給 PDF 蓋上時間戳和自己的程式名。這一個只在你親手填了標題、作者和日期時才寫這幾項，你圖片的檔名一個都不會出現在文件裡，關於你這臺機器的資訊也一樣。
- **Google 載入了什麼，又拿不到什麼。** 廣告指令碼和統計指令碼來自 Google。關於你圖片的資訊，一條都沒給它們，檔案不給，縮圖不給，檔名、大小、數量也不給。讀圖、解碼、寫圖的每一行程式碼都從本站發出，也都擺在儲存庫裡。
- **捐助按鈕載入了什麼，又拿不到什麼。** 頁頭那個「Buy me a coffee」按鈕，由 cdnjs.buymeacoffee.com 的指令碼畫出來，字型取自 Google Fonts。它就是個連結，僅此而已，不上報訪問，也拿不到關於你或者你圖片的任何東西。你不點它，什麼都不會發生；點了，跳過去的是別人的網站。
- **斷網照樣能用。** 斷開網路，這個頁面上的一切照常工作。這是最省事的一條證明。一個把圖片送出去做文件的工具，這時候就該停了。

**你可以自己核對。**上面這些不用你信。這個頁面是儲存庫裡的模板和配置產生出來的，構建指令碼你能讀，也能自己跑一遍，跑出來的結果就提交在 `dist` 分支上。拿實際發給你的內容，跟你自己從原始碼構建出來的結果對一遍就知道了： https://github.com/A-Box-of-Tools/website

最值得先讀的幾個檔案：`config/site.toml` 裡是 Content-Security-Policy，寫檔案的全部過程在 `src/shared/pdf-page-writer.js` 和 `src/document.js` 裡，它們碰都不碰網路。
