本项目依赖 ExifTool,程序已内置该插件。
本工具利用 ExifTool 深度扫描 EXIF 信息受损的图片,并将元数据还原至标准 EXIF 段。

既然有那么多开源 JS 库,为什么选择 ExifTool?
目前的 JS 库(如 exif-js、piexifjs、sharp、exifr)都无法与 ExifTool 相比,更无法实现 ExifTool 那种级别的“还原 Photoshop (PS) 丢失的 EXIF”功能。
- JS 库的能力范围:相机名称、镜头名称及拍摄参数等基础字段,只要文件内未被彻底删除,这些 JS 库都能读取。
- JS 库的局限性:对于 PS 重写、清空或改写过的深层元数据(特别是 MakerNote、厂商私有标签、XMP 历史、Photoshop IRB 等),JS 库基本无法读取,更谈不上“还原”。
ExifTool 的核心优势(为什么能“还原”)
ExifTool 是基于 Perl 开发的全能型元数据引擎,其特点如下:
- 支持广泛
涵盖 EXIF、XMP、IPTC、Photoshop IRB、MakerNote(数十家相机厂商的私有数据)、ICC、JFIF 等。 - 读取能力强
不仅能读正常的 EXIF,还能识别被删除但残留在文件中的元数据块、PS 留下的隐藏段以及厂商私有注释(MakerNote)。 - 实现“还原”原理
当使用 PS “存储为”时,往往会丢弃 MakerNote、大量私有标签及 XMP 历史。但由于文件内部有时仍存有旧数据的残片,ExifTool 可以扫描全文件并将其碎片提取出来。
相比之下,JS 库仅能解析标准的 EXIF 段(APP1),根本无法读取 MakerNote、IRB 及深层 XMP 数据。
总结
ExifTool 的逻辑是在“整个文件中挖掘元数据”,而 JS 库仅仅是“读取标准 EXIF 表头”。 在处理经过 PS 处理的照片时,没有任何 JS 库能与 ExifTool 匹敌。
下载地址:
https://abpyu.lanzoul.com/itvzA3q9kznc
密码: 2sqo
评论 (0)