实测观察结果
| 项目 | 输入 / 参考 | 观察到的输出 |
|---|---|---|
| EXIF 1 | 1200 × 800 | 像素平均误差 0.000 |
| EXIF 2 | 1200 × 800 | 像素平均误差 0.000 |
| EXIF 3 | 1200 × 800 | 像素平均误差 0.000 |
| EXIF 4 | 1200 × 800 | 像素平均误差 0.000 |
| EXIF 5 | 800 × 1200 | 像素平均误差 0.000 |
| EXIF 6 | 800 × 1200 | 像素平均误差 0.000 |
| EXIF 7 | 800 × 1200 | 像素平均误差 0.000 |
| EXIF 8 | 800 × 1200 | 像素平均误差 0.000 |
这些观察只适用于本次试验资料,不代表所有 PDF 或阅读器。
发生条件
JPEG 像素排列与 EXIF 显示方向彼此独立。阅读器处理标签的方式不同,结果可能不一致。本受控试验修改的是 1200×800 原创测试图的标签,并非特定手机摄像头测试。
实际执行的操作
用 Chrome 文件选择器导入八个 JPEG,并保存项目和已检查 PDF。方向 1 保持 JPEG,其余在浏览器解码后成为正向 PNG。我们将独立 Pillow EXIF 变换与存储像素比较,并检查内嵌图像尺寸及保留文字。
比较方向 6
- 在原件中找到 TOP 和 A–D 四角。照片查看器可能已自动旋转显示。
- 打开校正后的 PNG,确认是像素本身变为竖向,而非依赖方向标签。
- 在 PDF 中区分新增的小测试图与原有横向测试图。
- 制作照片记录时,也应对齐前后照片的主体与视角。
例外与隐私
应用无法推测错误标签的本意,也不能校正场景倾斜。方向 1 的 JPEG 保留原始压缩流,也可能保留 EXIF 位置信息。导入前请删除敏感元数据。真实手机拍摄和操作系统剪贴板流程尚未单独验证。
可下载检查的文件
- 方向 1 的原始 JPEG (orientation-1.jpg)
- 方向 6 的原始 JPEG (orientation-6.jpg)
- 已将方向 6 应用到像素的 PNG (orientation-6-normalized.png)
- 保存后的方向 6 PDF (orientation-6-result.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。表格和文件记录直接观察结果,说明文字解释其结构。真实操作系统键盘输入、实体手机及所有 PDF 阅读器不在本次试验范围内。
官方参考说明(与实测结果分开): Pillow:EXIF 转置参考
复现代码:scripts/lab-inputs.py、lab-outputs.mjs、lab-derived.py、tests/readiness-browser.mjs 和 tests/lab-pdf.py。



