実測結果
| 項目 | 入力 / 参照 | 観測した出力 |
|---|---|---|
| 元の試験図・1200×800画素 | 1200 × 800 / 338.67 ppi | JPEG 圧縮データの SHA-256 が一致 |
| 縮小した試験図・240×160画素 | 240 × 160 / 67.73 ppi | JPEG 圧縮データの SHA-256 が一致 |
この結果は今回の試験資料に対するもので、すべての PDF や閲覧ソフトに当てはまるものではありません。
問題と入力資料
線、角、文字の試験図を描いて JPEG で保存し、コピーを240×160に縮小しました。両方を90×60 mmで配置しています。表の横方向解像度は、画素幅を配置幅のインチ数で割った値です。
実際に検査したこと
PDF の DCTDecode 画像ストリームと入力 JPEG の SHA-256 を比較しています。今回の回転していない JPEG は元の圧縮バイト列と一致します。元の文字と画像ストリームは別に検査しています。ダウンロードした PDF を拡大して、挿入した小さな図を比べてください。
必要な細部を残す
- 繰り返し圧縮されたメッセージアプリの縮小画像ではなく、元ファイルを取り込みます。
- 縦横比を保ち、小さい画像をむやみに拡大しないようにします。
- 必要な細部を鮮明に撮影し、説明は独立した検索可能な文字で書きます。
- 保存した PDF を開き直し、ページサイズ、画像の端、抽出文字、元の画像を確認します。
保持検査の限界
ハッシュの一致はそのストリームの同一性を示しますが、すべての閲覧ソフトの色管理や印刷結果の一致を示すものではありません。EXIF 補正では PNG に変換するため圧縮バイト列の一致は想定しません。画像検査だけではフォーム、リンク、添付ファイル、タグの保持は分からず、アプリは現在これらの特殊構造を含む文書の編集を制限します。
自分で調べられるファイル
- 元の試験図・1200×800画素 (resolution-chart.jpg)
- 縮小した試験図・240×160画素 (resolution-small.jpg)
- 大きい入力画像を使った PDF (image-original.pdf)
- 小さい入力画像を使った PDF (image-small.pdf)
切り出し座標・倍率・元ファイルのハッシュ・再抽出結果 · 再確認日:2026-10-24 · pdftoppm 26.07.0 · pypdf 6.10.0 · pdfplumber 0.11.9。元の PDF は変更していません。
環境・日付・確認範囲
確認日:2026-10-23 · Windows / Chrome 155 · pdf-lib 1.17.1 · PDF.js 6.4.299 · fontkit 1.1.1 · pypdf 6.10.0 · pdftoppm 26.07.0。PDF と図は独自制作で、NanumGothic は OFL-1.1 です。表とファイルは直接観測した結果、説明文はその構造の解釈です。実際の OS キーボード入力、実機のスマートフォン、すべての PDF 閲覧ソフトは検査対象外です。
公式の参考説明(実測結果とは別): pdf-lib:JPEG バイト列の埋め込み
再現コード:scripts/lab-inputs.py、lab-outputs.mjs、lab-derived.py、tests/readiness-browser.mjs、tests/lab-pdf.py。



