# 画像をPDFに｜JPGをPDFに変換

手元の画像を、1つの書類にまとめます。

> JPG・PNG・WebP・AVIFの画像を1つのPDFにまとめます。無料で、処理はすべてブラウザの中。JPEG写真はエンコードし直さずに入り、何もアップロードしません。

これはhttps://abox.tools/ja/images-to-pdf/にあるブラウザー用の対話型ツールです。ファイルはそのブラウザーを実行する端末上で処理します。意図した共有や任意の通信機能はページ内で説明します。以下は文章による説明です。利用するにはアドレスを開いてください。

## 画像は**ブラウザー内で処理**されます。処理のためのアップロードはありません。

書類を1ページずつ書くのは、このアドレスから配信されたコードで、書く場所はこの端末のメモリの上です。ここにアップロードを行える部分はありません。このページの向こう側に、それを受け取るサーバーもありません。

- ✗ アップロードなし
- ✗ 登録なし
- ✓ オフラインで動作
- ✓ ソース公開
- ✓ ファイルは端末に残ります

## 画像をPDFにする手順

1. **画像を選びます。** フォルダごと選択欄にドロップするか、ファイルを手で選んでください。ブラウザがディスクから直接読み出します。その間に何かがどこかへ送られることはありません。
2. **ページを並べ替え、必要なものは回します。** 画像1枚が1ページになり、表示された順に並びます。タイルの取っ手をドラッグするか、矢印を使って動かせます。回転ボタンはページを90度ずつ回します。横向きに取り込まれたスキャンに必要なのは、たいていこれです。
3. **ページサイズを選びます。** 「画像に合わせる」を選ぶと、どのページもその画像そのままの大きさになり、切り取られる部分も白い帯もできません。A4、レター、リーガルなどの決まったサイズを選ぶと、代わりに固定のページの上に配置され、必要なら余白も付けられます。
4. **PDFを作ってダウンロードします。** 書類を書くのは手元の端末なので、かかる時間は順番待ちではなくハードウェアの性能次第です。できあがったファイルは、そのままブラウザのダウンロードへ渡します。

## 詳しい解説

[画像を1つのPDFにまとめる方法](https://abox.tools/ja/guides/combine-images-into-a-pdf/): 写真やスキャンを1つのPDFにする方法。ページサイズ、順番、回転、JPEGが画質を落とさずに入る理由、そしてPDFが受け取った相手に何を伝えるか。

## 箱の中のほかのツール

- [書類スキャナー](https://abox.tools/ja/document-scanner/): 紙を撮ってください。スキャンしたように見えるものが返ります。
- [動画から音声を抽出](https://abox.tools/ja/extract-audio-from-video/): 動画を置けば、音だけが取り出せます。映像は一度も復号されず、何もアップロードされません。
- [音声の切り出し](https://abox.tools/ja/trim-audio/): 再生しながら残したい場所に印を付けます。印の付いた分が1つのファイルになって、指定どおりの位置で切れて戻ってきます。
- [音声編集ツール](https://abox.tools/ja/edit-audio/): 逆から再生する、速さを変える、小さな録音を持ち上げる。そのすべてを手元の端末の中で。

## よくある質問

### 画像はどこかにアップロードされますか？

されません。画像の読み込みもPDFの書き出しも、お使いのブラウザが手元のハードウェア上で行います。このツールにサーバー側は存在しません。ページの`Content-Security-Policy`には接続してよいアドレスがすべて挙がっていますが、そのどれも当サイトのものではありません。ここにあるほかのいくつかのツールと違い、これには任意のネットワーク機能すら一切ありません。

### PDFにすると画質は落ちますか？

既定の設定なら、JPEGについては落ちません。PDFはJPEGのデータをそのまま運べるので、写真は1バイトずつ書類に複製されます。デコードもされず、圧縮し直されもせず、PDFの中の画像はファイルの中の画像そのものです。ほかの形式は書き直しが必要です。PDFにそれ用のフィルターがないからです。ただし可逆の設定を選べば、ファイルが大きくなる代わりにそのまま保存できます。

### どの画像形式が使えますか？

ブラウザがデコードできる静止画ならどれでもです。実際にはJPG、PNG、WebP、GIF、AVIF、そしてAppleの端末ではHEICです。ここに別途の対応表を作って保守する必要はありません。デコードは当サイトではなく、ブラウザの仕事だからです。

### ページサイズやページの順番は選べますか？

選べます。ページはA4、レター、リーガル、A3、A5、タブロイド、自分で打ち込んだサイズ、あるいは各画像そのままの大きさにできます。タイルをドラッグして並べ替え、名前順や日付順に並べ、どのページも90度回せ、余白をミリ単位で指定できます。

### 1つの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

まず読むとよいのは、Content-Security-Policyについては`config/site.toml`、そしてファイル書き出しのすべてについては`src/shared/pdf-page-writer.js`と`src/document.js`です。どちらもネットワークに触れません。
