1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
//! # exiftool-rs
//!
//! A pure Rust reimplementation of [ExifTool](https://exiftool.org/) for reading, writing,
//! and editing metadata in image, audio, video, and document files.
//!
//! **194/194 test files (100%)** produce identical tag names as Perl ExifTool v13.53.
//! Over 11,600 tags verified across 55+ file formats.
//!
//! ## Quick Start
//!
//! ```no_run
//! use exiftool_rs::ExifTool;
//!
//! let et = ExifTool::new();
//! let tags = et.extract_info("photo.jpg").unwrap();
//! for tag in &tags {
//! println!("{}: {}", tag.name, tag.print_value);
//! }
//! ```
//!
//! ## One-liner
//!
//! ```no_run
//! let info = exiftool_rs::image_info("photo.jpg").unwrap();
//! println!("Camera: {}", info.get("Model").unwrap_or(&String::new()));
//! ```
//!
//! ## Writing Tags
//!
//! ```no_run
//! use exiftool_rs::ExifTool;
//!
//! let mut et = ExifTool::new();
//! et.set_new_value("Artist", Some("John Doe"));
//! et.write_info("photo.jpg", "photo_out.jpg").unwrap();
//! ```
//!
//! ## Supported Formats (93 readers, 15 writers)
//!
//! **Images**: JPEG, TIFF, PNG, WebP, PSD, BMP, GIF, HEIF/AVIF, ICO, XCF, BPG, MIFF, PGF, PPM, PCX, PICT, JXR, FLIF, MNG, Radiance HDR, OpenEXR, PSP, InDesign
//!
//! **Raw**: CR2, CR3, CRW, CRM, NEF, DNG, ARW, ORF, RAF, RW2, PEF, SR2, X3F, IIQ, 3FR, ERF, MRW, SRW, Rawzor, KyoceraRaw
//!
//! **Video**: MP4/MOV, AVI, MKV, MTS, MPEG, WTV, DV, FLV, SWF, MXF, ASF/WMV, Real
//!
//! **Audio**: MP3, FLAC, WAV, OGG, AAC, AIFF, APE, MPC, WavPack, DSF, Audible, Opus
//!
//! **Documents**: PDF, RTF, HTML, PostScript, DjVu, OpenDocument, TNEF, Font (TTF/OTF/WOFF)
//!
//! **Scientific**: DICOM, MRC, FITS, XISF, DPX, LIF (Leica)
//!
//! **Archives**: ZIP, 7Z, RAR, GZIP, ISO, Torrent
//!
//! **Other**: EXE/ELF/Mach-O, LNK, VCard, ICS, JSON, PLIST, MIE, Lytro LFP, FLIR FPF, CaptureOne EIP, Palm PDB, PCAP
//!
//! **Timed metadata** (`-ee`): freeGPS (dashcams), GoPro GPMF, Google CAMM, NMEA, Kenwood, DJI, Insta360
//!
//! **MakerNotes**: Canon, Nikon, Sony, Pentax, Olympus, Panasonic, Fujifilm, Samsung,
//! Sigma, Casio, Ricoh, Minolta, Apple, Google, FLIR, GE, GoPro
// Re-export main types at crate root
pub use crate;
pub use crate;
pub use crateFileType;
pub use crate;
pub use crateValue;
/// Convenience function: extract metadata from a file in one call.
/// Detect the file type of the given file.
/// Library version.
pub const VERSION: &str = env!;