exiftool_vendored 12.60.0 → 12.62.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/Changes +35 -0
- data/bin/MANIFEST +7 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +45 -44
- data/bin/exiftool +100 -73
- data/bin/lib/Image/ExifTool/BMP.pm +0 -1
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +4 -4
- data/bin/lib/Image/ExifTool/FlashPix.pm +2 -1
- data/bin/lib/Image/ExifTool/Jpeg2000.pm +31 -6
- data/bin/lib/Image/ExifTool/MinoltaRaw.pm +2 -2
- data/bin/lib/Image/ExifTool/Nikon.pm +3 -3
- data/bin/lib/Image/ExifTool/PDF.pm +17 -8
- data/bin/lib/Image/ExifTool/QuickTime.pm +10 -7
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +51 -21
- data/bin/lib/Image/ExifTool/Sony.pm +16 -10
- data/bin/lib/Image/ExifTool/TagLookup.pm +9 -0
- data/bin/lib/Image/ExifTool/TagNames.pod +34 -5
- data/bin/lib/Image/ExifTool/WPG.pm +296 -0
- data/bin/lib/Image/ExifTool/WritePDF.pl +7 -8
- data/bin/lib/Image/ExifTool/Writer.pl +12 -4
- data/bin/lib/Image/ExifTool/XMP.pm +17 -5
- data/bin/lib/Image/ExifTool/ZIP.pm +159 -41
- data/bin/lib/Image/ExifTool.pm +118 -50
- data/bin/lib/Image/ExifTool.pod +51 -42
- data/bin/perl-Image-ExifTool.spec +44 -43
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b9425d3689f85ae893c11f1e1ebb63d8392eefe696b6ff685a35536da9b2b79c
|
4
|
+
data.tar.gz: a343f14b8c717420458456579562c12d399c0687865a6e54ea5df8945b096e66
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 559fb2be9a0a2c441ff8e12fd13dd077825c71655a9e99407f602e2ecaae8f997cb9475b3bb5a79dddec1897a9f22ef3c9d9506b8df885da5ee4dfc9baad1a7d
|
7
|
+
data.tar.gz: bcd3a86f5375904081c86ef8c4904bf6cf5283d4f67519df0d05711b456ab63721dd0412fe6c46d7c2774919e0f4b13a00e8eb745253937c252a86fac423182e
|
data/bin/Changes
CHANGED
@@ -7,6 +7,41 @@ RSS feed: https://exiftool.org/rss.xml
|
|
7
7
|
Note: The most recent production release is Version 12.60. (Other versions are
|
8
8
|
considered development releases, and are not uploaded to MetaCPAN.)
|
9
9
|
|
10
|
+
May 3, 2023 - Version 12.62
|
11
|
+
|
12
|
+
- Added basic read support for WPG images
|
13
|
+
- Added ImageDataMD5 support for HEIC images
|
14
|
+
- Added support for RAR version 5.0 compressed files (thanks Amir Gooran)
|
15
|
+
- Added a few new XMP-aux tags (thanks John Ellis)
|
16
|
+
- Made Composite tags available for use in -fileNUM argument
|
17
|
+
- Better handling of FlashPix VT_EMPTY value
|
18
|
+
- Fixed "Can't write" error when specifying a .webp file for the -o option
|
19
|
+
- API Changes:
|
20
|
+
- Added NoWarning option
|
21
|
+
|
22
|
+
Apr. 24, 2023 - Version 12.61
|
23
|
+
|
24
|
+
- Added ImageDataMD5 support for J2C and JXL images
|
25
|
+
- Added support for PDF 2.0 (specification is finally freely available)
|
26
|
+
- Added ability to extract timed Accelerometer data from Azdome GS63H MP4
|
27
|
+
videos which don't contain GPS
|
28
|
+
- Added some new Sony lenses (thanks Jos Roost)
|
29
|
+
- Decode some new tags for the Sony ZV-E1 (thanks Jos Roost)
|
30
|
+
- Decode more tags for the Nikon Z30 (thanks Xavier)
|
31
|
+
- Enhanced -fileNUM option to allow tags from the main file to be used in the
|
32
|
+
file name string
|
33
|
+
- Validate sample offset and size when calculating ImageDataMD5 for MP4 videos
|
34
|
+
(note: may change ImageDataMD5 value for videos where audio data runs past
|
35
|
+
end of media data)
|
36
|
+
- Return error when attempting to write a fragmented JXL file
|
37
|
+
- Improved robustness for determining image size for corrupted JPEG
|
38
|
+
- Patched to allow Insta360 GPS records of unexpected length and tweaked
|
39
|
+
verification algorithm to determine validity of these records
|
40
|
+
- Fixed bug introduced in 12.57 where -progress:%f gave runtime warnings
|
41
|
+
- Fixed "--" option to ignore subsequent -common_args option
|
42
|
+
- Fixed incorrect ImageDataMD5 for Sony A100 ARW images
|
43
|
+
- Fixed problem reading new XMP-et:OriginalImageMD5 tag
|
44
|
+
|
10
45
|
Apr. 5, 2023 - Version 12.60 (production release)
|
11
46
|
|
12
47
|
- Added a new Sony FileFormat value
|
data/bin/MANIFEST
CHANGED
@@ -176,6 +176,7 @@ html/TagNames/Torrent.html
|
|
176
176
|
html/TagNames/Unknown.html
|
177
177
|
html/TagNames/VCard.html
|
178
178
|
html/TagNames/Vorbis.html
|
179
|
+
html/TagNames/WPG.html
|
179
180
|
html/TagNames/WTV.html
|
180
181
|
html/TagNames/XMP.html
|
181
182
|
html/TagNames/ZIP.html
|
@@ -416,6 +417,7 @@ lib/Image/ExifTool/Unknown.pm
|
|
416
417
|
lib/Image/ExifTool/VCard.pm
|
417
418
|
lib/Image/ExifTool/Validate.pm
|
418
419
|
lib/Image/ExifTool/Vorbis.pm
|
420
|
+
lib/Image/ExifTool/WPG.pm
|
419
421
|
lib/Image/ExifTool/WTV.pm
|
420
422
|
lib/Image/ExifTool/WriteCanonRaw.pl
|
421
423
|
lib/Image/ExifTool/WriteExif.pl
|
@@ -856,6 +858,8 @@ t/VCard_2.out
|
|
856
858
|
t/VCard_3.out
|
857
859
|
t/Vorbis.t
|
858
860
|
t/Vorbis_2.out
|
861
|
+
t/WPG.t
|
862
|
+
t/WPG_2.out
|
859
863
|
t/WTV.t
|
860
864
|
t/WTV_2.out
|
861
865
|
t/Writer.t
|
@@ -965,6 +969,7 @@ t/ZIP_4.out
|
|
965
969
|
t/ZIP_5.out
|
966
970
|
t/ZIP_6.out
|
967
971
|
t/ZIP_7.out
|
972
|
+
t/ZIP_8.out
|
968
973
|
t/ZISRAW.t
|
969
974
|
t/ZISRAW_2.out
|
970
975
|
t/images/AFCP.jpg
|
@@ -1132,6 +1137,7 @@ t/images/Unknown.jpg
|
|
1132
1137
|
t/images/VCard.ics
|
1133
1138
|
t/images/VCard.vcf
|
1134
1139
|
t/images/Vorbis.ogg
|
1140
|
+
t/images/WPG.wpg
|
1135
1141
|
t/images/WTV.wtv
|
1136
1142
|
t/images/Writer.jpg
|
1137
1143
|
t/images/XMP.inx
|
@@ -1148,6 +1154,7 @@ t/images/XMP7.xmp
|
|
1148
1154
|
t/images/XMP8.xmp
|
1149
1155
|
t/images/XMP9.xmp
|
1150
1156
|
t/images/ZIP.gz
|
1157
|
+
t/images/ZIP.rar
|
1151
1158
|
t/images/ZIP.zip
|
1152
1159
|
t/images/ZISRAW.czi
|
1153
1160
|
t/images/iWork.numbers
|
data/bin/META.json
CHANGED
data/bin/META.yml
CHANGED
data/bin/README
CHANGED
@@ -14,48 +14,49 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
14
14
|
|
15
15
|
File Types
|
16
16
|
------------+-------------+-------------+-------------+------------
|
17
|
-
360 r/w |
|
18
|
-
3FR r |
|
19
|
-
3G2 r/w |
|
20
|
-
3GP r/w |
|
21
|
-
A r |
|
22
|
-
AA r |
|
23
|
-
AAE r |
|
24
|
-
AAX r/w |
|
25
|
-
ACR r |
|
26
|
-
AFM r |
|
27
|
-
AI r/w |
|
28
|
-
AIFF r |
|
29
|
-
APE r |
|
30
|
-
ARQ r/w |
|
31
|
-
ARW r/w |
|
32
|
-
ASF r |
|
33
|
-
AVI r |
|
34
|
-
AVIF r/w |
|
35
|
-
AZW r |
|
36
|
-
BMP r |
|
37
|
-
BPG r |
|
38
|
-
BTF r |
|
39
|
-
CHM r |
|
40
|
-
COS r |
|
41
|
-
CR2 r/w |
|
42
|
-
CR3 r/w |
|
43
|
-
CRM r/w |
|
44
|
-
CRW r/w |
|
45
|
-
CS1 r/w |
|
46
|
-
CSV r |
|
47
|
-
CUR r |
|
48
|
-
CZI r |
|
49
|
-
DCM r |
|
50
|
-
DCP r/w |
|
51
|
-
DCR r |
|
52
|
-
DFONT r |
|
53
|
-
DIVX r |
|
54
|
-
DJVU r |
|
55
|
-
DLL r |
|
56
|
-
DNG r/w |
|
57
|
-
DOC r |
|
58
|
-
DOCX r |
|
17
|
+
360 r/w | DR4 r/w/c | JNG r/w | ODP r | RSRC r
|
18
|
+
3FR r | DSS r | JP2 r/w | ODS r | RTF r
|
19
|
+
3G2 r/w | DV r | JPEG r/w | ODT r | RW2 r/w
|
20
|
+
3GP r/w | DVB r/w | JSON r | OFR r | RWL r/w
|
21
|
+
A r | DVR-MS r | JXL r | OGG r | RWZ r
|
22
|
+
AA r | DYLIB r | K25 r | OGV r | RM r
|
23
|
+
AAE r | EIP r | KDC r | ONP r | SEQ r
|
24
|
+
AAX r/w | EPS r/w | KEY r | OPUS r | SKETCH r
|
25
|
+
ACR r | EPUB r | LA r | ORF r/w | SO r
|
26
|
+
AFM r | ERF r/w | LFP r | ORI r/w | SR2 r/w
|
27
|
+
AI r/w | EXE r | LIF r | OTF r | SRF r
|
28
|
+
AIFF r | EXIF r/w/c | LNK r | PAC r | SRW r/w
|
29
|
+
APE r | EXR r | LRV r/w | PAGES r | SVG r
|
30
|
+
ARQ r/w | EXV r/w/c | M2TS r | PBM r/w | SWF r
|
31
|
+
ARW r/w | F4A/V r/w | M4A/V r/w | PCD r | THM r/w
|
32
|
+
ASF r | FFF r/w | MACOS r | PCX r | TIFF r/w
|
33
|
+
AVI r | FITS r | MAX r | PDB r | TORRENT r
|
34
|
+
AVIF r/w | FLA r | MEF r/w | PDF r/w | TTC r
|
35
|
+
AZW r | FLAC r | MIE r/w/c | PEF r/w | TTF r
|
36
|
+
BMP r | FLIF r/w | MIFF r | PFA r | TXT r
|
37
|
+
BPG r | FLV r | MKA r | PFB r | VCF r
|
38
|
+
BTF r | FPF r | MKS r | PFM r | VNT r
|
39
|
+
CHM r | FPX r | MKV r | PGF r | VRD r/w/c
|
40
|
+
COS r | GIF r/w | MNG r/w | PGM r/w | VSD r
|
41
|
+
CR2 r/w | GPR r/w | MOBI r | PLIST r | WAV r
|
42
|
+
CR3 r/w | GZ r | MODD r | PICT r | WDP r/w
|
43
|
+
CRM r/w | HDP r/w | MOI r | PMP r | WEBP r/w
|
44
|
+
CRW r/w | HDR r | MOS r/w | PNG r/w | WEBM r
|
45
|
+
CS1 r/w | HEIC r/w | MOV r/w | PPM r/w | WMA r
|
46
|
+
CSV r | HEIF r/w | MP3 r | PPT r | WMV r
|
47
|
+
CUR r | HTML r | MP4 r/w | PPTX r | WPG r
|
48
|
+
CZI r | ICC r/w/c | MPC r | PS r/w | WTV r
|
49
|
+
DCM r | ICO r | MPG r | PSB r/w | WV r
|
50
|
+
DCP r/w | ICS r | MPO r/w | PSD r/w | X3F r/w
|
51
|
+
DCR r | IDML r | MQV r/w | PSP r | XCF r
|
52
|
+
DFONT r | IIQ r/w | MRC r | QTIF r/w | XLS r
|
53
|
+
DIVX r | IND r/w | MRW r/w | R3D r | XLSX r
|
54
|
+
DJVU r | INSP r/w | MXF r | RA r | XMP r/w/c
|
55
|
+
DLL r | INSV r | NEF r/w | RAF r/w | ZIP r
|
56
|
+
DNG r/w | INX r | NKSC r/w | RAM r |
|
57
|
+
DOC r | ISO r | NRW r/w | RAR r |
|
58
|
+
DOCX r | ITC r | NUMBERS r | RAW r/w |
|
59
|
+
DPX r | J2C r | O r | RIFF r |
|
59
60
|
|
60
61
|
Meta Information
|
61
62
|
----------------------+----------------------+---------------------
|
@@ -107,8 +108,8 @@ your home directory, then you would type the following commands in a
|
|
107
108
|
terminal window to extract and run ExifTool:
|
108
109
|
|
109
110
|
cd ~/Desktop
|
110
|
-
gzip -dc Image-ExifTool-12.
|
111
|
-
cd Image-ExifTool-12.
|
111
|
+
gzip -dc Image-ExifTool-12.62.tar.gz | tar -xf -
|
112
|
+
cd Image-ExifTool-12.62
|
112
113
|
./exiftool t/images/ExifTool.jpg
|
113
114
|
|
114
115
|
Note: These commands extract meta information from one of the test images.
|
data/bin/exiftool
CHANGED
@@ -11,7 +11,7 @@ use strict;
|
|
11
11
|
use warnings;
|
12
12
|
require 5.004;
|
13
13
|
|
14
|
-
my $version = '12.
|
14
|
+
my $version = '12.62';
|
15
15
|
|
16
16
|
# add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
|
17
17
|
BEGIN {
|
@@ -365,13 +365,14 @@ sub Cleanup() {
|
|
365
365
|
|
366
366
|
# isolate arguments common to all commands
|
367
367
|
if (grep /^-common_args$/i, @ARGV) {
|
368
|
-
my (@newArgs, $common);
|
368
|
+
my (@newArgs, $common, $end);
|
369
369
|
foreach (@ARGV) {
|
370
|
-
if (/^-common_args$/i) {
|
370
|
+
if (/^-common_args$/i and not $end) {
|
371
371
|
$common = 1;
|
372
372
|
} elsif ($common) {
|
373
373
|
push @commonArgs, $_;
|
374
374
|
} else {
|
375
|
+
$end = 1 if $_ eq '--';
|
375
376
|
push @newArgs, $_;
|
376
377
|
}
|
377
378
|
}
|
@@ -836,7 +837,7 @@ for (;;) {
|
|
836
837
|
$mt->Options(Charset => $charset);
|
837
838
|
}
|
838
839
|
if ($evalWarning) {
|
839
|
-
|
840
|
+
Warn $evalWarning;
|
840
841
|
} else {
|
841
842
|
$setCharset = $mt->Options('Charset');
|
842
843
|
}
|
@@ -1737,7 +1738,8 @@ if ($textOut) {
|
|
1737
1738
|
if ($outOpt) {
|
1738
1739
|
my $type = GetFileType($outOpt);
|
1739
1740
|
if ($type) {
|
1740
|
-
|
1741
|
+
# (must test original file name because we can write .webp but not other RIFF types)
|
1742
|
+
unless (CanWrite($outOpt)) {
|
1741
1743
|
Warn "Can't write $type files\n";
|
1742
1744
|
$rtnVal = 1;
|
1743
1745
|
next;
|
@@ -1951,23 +1953,31 @@ sub GetImageInfo($$)
|
|
1951
1953
|
my (@foundTags, $info, $file, $ind, $g8);
|
1952
1954
|
|
1953
1955
|
# set window title for this file if necessary
|
1954
|
-
if (defined $windowTitle
|
1955
|
-
|
1956
|
-
|
1957
|
-
|
1958
|
-
|
1959
|
-
|
1960
|
-
|
1961
|
-
|
1962
|
-
|
1963
|
-
|
1964
|
-
|
1965
|
-
|
1966
|
-
|
1967
|
-
|
1968
|
-
|
1969
|
-
|
1970
|
-
|
1956
|
+
if (defined $windowTitle) {
|
1957
|
+
if ($progressCount >= $progressNext) {
|
1958
|
+
my $prog = $progressMax ? "$progressCount/$progressMax" : '0/0';
|
1959
|
+
my $title = $windowTitle;
|
1960
|
+
my ($num, $denom) = split '/', $prog;
|
1961
|
+
my $frac = $num / ($denom || 1);
|
1962
|
+
my $n = $title =~ s/%(\d+)b/%b/ ? $1 : 20; # length of bar
|
1963
|
+
my $bar = int($frac * $n + 0.5);
|
1964
|
+
my %lkup = (
|
1965
|
+
b => ('I' x $bar) . ('.' x ($n - $bar)),
|
1966
|
+
f => $orig,
|
1967
|
+
p => int(100 * $frac + 0.5),
|
1968
|
+
r => $prog,
|
1969
|
+
'%'=> '%',
|
1970
|
+
);
|
1971
|
+
$title =~ s/%([%bfpr])/$lkup{$1}/eg;
|
1972
|
+
SetWindowTitle($title);
|
1973
|
+
if (defined $progressMax) {
|
1974
|
+
undef $progressNext;
|
1975
|
+
} else {
|
1976
|
+
$progressNext += $progressIncr;
|
1977
|
+
}
|
1978
|
+
}
|
1979
|
+
# ($progressMax is not defined for "-progress:%f")
|
1980
|
+
++$progressCount unless defined $progressMax;
|
1971
1981
|
}
|
1972
1982
|
unless (length $orig or $outOpt) {
|
1973
1983
|
Warn qq(Error: Zero-length file name - ""\n);
|
@@ -1993,7 +2003,11 @@ sub GetImageInfo($$)
|
|
1993
2003
|
}
|
1994
2004
|
# set alternate file names
|
1995
2005
|
foreach $g8 (sort keys %altFile) {
|
1996
|
-
my $altName =
|
2006
|
+
my $altName = $orig;
|
2007
|
+
# must double any '$' symbols in the original file name because
|
2008
|
+
# they are used for tag names in a -fileNUM argument
|
2009
|
+
$altName =~ s/\$/\$\$/g;
|
2010
|
+
$altName = FilenameSPrintf($altFile{$g8}, $altName);
|
1997
2011
|
$et->SetAlternateFile($g8, $altName);
|
1998
2012
|
}
|
1999
2013
|
|
@@ -2536,6 +2550,7 @@ TAG: foreach $tag (@foundTags) {
|
|
2536
2550
|
$xtra .= " et:table='${table}'";
|
2537
2551
|
$xtra .= " et:index='${index}'" if defined $index;
|
2538
2552
|
}
|
2553
|
+
# Note: New $xtra attributes must be added to %ignoreEtProp in XMP.pm!
|
2539
2554
|
my $lastVal = $val;
|
2540
2555
|
for ($valNum=0; $valNum<2; ++$valNum) {
|
2541
2556
|
$val = FormatXML($val, $ind, $group);
|
@@ -3700,7 +3715,7 @@ sub ProcessFiles($;$)
|
|
3700
3715
|
if (defined $progressMax) {
|
3701
3716
|
unless (defined $progressNext) {
|
3702
3717
|
$progressNext = $progressCount + $progressIncr;
|
3703
|
-
$progressNext -= $progressNext % $progressIncr;
|
3718
|
+
$progressNext -= $progressNext % $progressIncr; # (show even multiples)
|
3704
3719
|
$progressNext = $progressMax if $progressNext > $progressMax;
|
3705
3720
|
}
|
3706
3721
|
++$progressCount;
|
@@ -4479,7 +4494,7 @@ sub Progress($$)
|
|
4479
4494
|
my ($file, $msg) = @_;
|
4480
4495
|
if (defined $progStr) {
|
4481
4496
|
print $file $msg, $progStr, "\n";
|
4482
|
-
undef $progressNext;
|
4497
|
+
undef $progressNext if defined $progressMax;
|
4483
4498
|
}
|
4484
4499
|
}
|
4485
4500
|
|
@@ -4590,48 +4605,49 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
4590
4605
|
|
4591
4606
|
File Types
|
4592
4607
|
------------+-------------+-------------+-------------+------------
|
4593
|
-
360 r/w |
|
4594
|
-
3FR r |
|
4595
|
-
3G2 r/w |
|
4596
|
-
3GP r/w |
|
4597
|
-
A r |
|
4598
|
-
AA r |
|
4599
|
-
AAE r |
|
4600
|
-
AAX r/w |
|
4601
|
-
ACR r |
|
4602
|
-
AFM r |
|
4603
|
-
AI r/w |
|
4604
|
-
AIFF r |
|
4605
|
-
APE r |
|
4606
|
-
ARQ r/w |
|
4607
|
-
ARW r/w |
|
4608
|
-
ASF r |
|
4609
|
-
AVI r |
|
4610
|
-
AVIF r/w |
|
4611
|
-
AZW r |
|
4612
|
-
BMP r |
|
4613
|
-
BPG r |
|
4614
|
-
BTF r |
|
4615
|
-
CHM r |
|
4616
|
-
COS r |
|
4617
|
-
CR2 r/w |
|
4618
|
-
CR3 r/w |
|
4619
|
-
CRM r/w |
|
4620
|
-
CRW r/w |
|
4621
|
-
CS1 r/w |
|
4622
|
-
CSV r |
|
4623
|
-
CUR r |
|
4624
|
-
CZI r |
|
4625
|
-
DCM r |
|
4626
|
-
DCP r/w |
|
4627
|
-
DCR r |
|
4628
|
-
DFONT r |
|
4629
|
-
DIVX r |
|
4630
|
-
DJVU r |
|
4631
|
-
DLL r |
|
4632
|
-
DNG r/w |
|
4633
|
-
DOC r |
|
4634
|
-
DOCX r |
|
4608
|
+
360 r/w | DR4 r/w/c | JNG r/w | ODP r | RSRC r
|
4609
|
+
3FR r | DSS r | JP2 r/w | ODS r | RTF r
|
4610
|
+
3G2 r/w | DV r | JPEG r/w | ODT r | RW2 r/w
|
4611
|
+
3GP r/w | DVB r/w | JSON r | OFR r | RWL r/w
|
4612
|
+
A r | DVR-MS r | JXL r | OGG r | RWZ r
|
4613
|
+
AA r | DYLIB r | K25 r | OGV r | RM r
|
4614
|
+
AAE r | EIP r | KDC r | ONP r | SEQ r
|
4615
|
+
AAX r/w | EPS r/w | KEY r | OPUS r | SKETCH r
|
4616
|
+
ACR r | EPUB r | LA r | ORF r/w | SO r
|
4617
|
+
AFM r | ERF r/w | LFP r | ORI r/w | SR2 r/w
|
4618
|
+
AI r/w | EXE r | LIF r | OTF r | SRF r
|
4619
|
+
AIFF r | EXIF r/w/c | LNK r | PAC r | SRW r/w
|
4620
|
+
APE r | EXR r | LRV r/w | PAGES r | SVG r
|
4621
|
+
ARQ r/w | EXV r/w/c | M2TS r | PBM r/w | SWF r
|
4622
|
+
ARW r/w | F4A/V r/w | M4A/V r/w | PCD r | THM r/w
|
4623
|
+
ASF r | FFF r/w | MACOS r | PCX r | TIFF r/w
|
4624
|
+
AVI r | FITS r | MAX r | PDB r | TORRENT r
|
4625
|
+
AVIF r/w | FLA r | MEF r/w | PDF r/w | TTC r
|
4626
|
+
AZW r | FLAC r | MIE r/w/c | PEF r/w | TTF r
|
4627
|
+
BMP r | FLIF r/w | MIFF r | PFA r | TXT r
|
4628
|
+
BPG r | FLV r | MKA r | PFB r | VCF r
|
4629
|
+
BTF r | FPF r | MKS r | PFM r | VNT r
|
4630
|
+
CHM r | FPX r | MKV r | PGF r | VRD r/w/c
|
4631
|
+
COS r | GIF r/w | MNG r/w | PGM r/w | VSD r
|
4632
|
+
CR2 r/w | GPR r/w | MOBI r | PLIST r | WAV r
|
4633
|
+
CR3 r/w | GZ r | MODD r | PICT r | WDP r/w
|
4634
|
+
CRM r/w | HDP r/w | MOI r | PMP r | WEBP r/w
|
4635
|
+
CRW r/w | HDR r | MOS r/w | PNG r/w | WEBM r
|
4636
|
+
CS1 r/w | HEIC r/w | MOV r/w | PPM r/w | WMA r
|
4637
|
+
CSV r | HEIF r/w | MP3 r | PPT r | WMV r
|
4638
|
+
CUR r | HTML r | MP4 r/w | PPTX r | WPG r
|
4639
|
+
CZI r | ICC r/w/c | MPC r | PS r/w | WTV r
|
4640
|
+
DCM r | ICO r | MPG r | PSB r/w | WV r
|
4641
|
+
DCP r/w | ICS r | MPO r/w | PSD r/w | X3F r/w
|
4642
|
+
DCR r | IDML r | MQV r/w | PSP r | XCF r
|
4643
|
+
DFONT r | IIQ r/w | MRC r | QTIF r/w | XLS r
|
4644
|
+
DIVX r | IND r/w | MRW r/w | R3D r | XLSX r
|
4645
|
+
DJVU r | INSP r/w | MXF r | RA r | XMP r/w/c
|
4646
|
+
DLL r | INSV r | NEF r/w | RAF r/w | ZIP r
|
4647
|
+
DNG r/w | INX r | NKSC r/w | RAM r |
|
4648
|
+
DOC r | ISO r | NRW r/w | RAR r |
|
4649
|
+
DOCX r | ITC r | NUMBERS r | RAW r/w |
|
4650
|
+
DPX r | J2C r | O r | RIFF r |
|
4635
4651
|
|
4636
4652
|
Meta Information
|
4637
4653
|
----------------------+----------------------+---------------------
|
@@ -4669,7 +4685,7 @@ L<Tag operations|/Tag operations>
|
|
4669
4685
|
-TAG or --TAG Extract or exclude specified tag
|
4670
4686
|
-TAG[+-^]=[VALUE] Write new value for tag
|
4671
4687
|
-TAG[+-]<=DATFILE Write tag value from contents of file
|
4672
|
-
-TAG[+-]<SRCTAG
|
4688
|
+
-[+]TAG[+-]<SRCTAG Copy tag value (see -tagsFromFile)
|
4673
4689
|
|
4674
4690
|
-tagsFromFile SRCFILE Copy tag values from file
|
4675
4691
|
-x TAG (-exclude) Exclude specified tag
|
@@ -5541,7 +5557,7 @@ with this command:
|
|
5541
5557
|
|
5542
5558
|
produces output like this:
|
5543
5559
|
|
5544
|
-
-- Generated by ExifTool 12.
|
5560
|
+
-- Generated by ExifTool 12.62 --
|
5545
5561
|
File: a.jpg - 2003:10:31 15:44:19
|
5546
5562
|
(f/5.6, 1/60s, ISO 100)
|
5547
5563
|
File: b.jpg - 2006:05:23 11:57:38
|
@@ -6544,11 +6560,22 @@ option no longer suppresses the output "{readyNUM}" message.
|
|
6544
6560
|
|
6545
6561
|
=item B<-file>I<NUM> I<ALTFILE>
|
6546
6562
|
|
6547
|
-
Read tags from an alternate source file.
|
6563
|
+
Read tags from an alternate source file. Among other things, this allows
|
6564
|
+
tags from different files to be compared and combined using the B<-if> and
|
6565
|
+
B<-p> options. Tags from alternate files are accessed via the corresponding
|
6548
6566
|
family 8 group name (eg. C<File1:TAG> for the B<-file1> option, C<File2:TAG>
|
6549
|
-
for B<-file2>, etc). I<ALTFILE> may contain filename formatting codes
|
6550
|
-
|
6551
|
-
|
6567
|
+
for B<-file2>, etc). I<ALTFILE> may contain filename formatting codes like
|
6568
|
+
the B<-w> option (%d, %f, etc), and/or tag names with a leading C<$> symbol
|
6569
|
+
to access tags from the source file in the same way as the B<-p> option (so
|
6570
|
+
any other dollar symbol in the file name must be doubled, eg.
|
6571
|
+
C<money$$.jpg>). For example, assuming that the OriginalFileName tag has
|
6572
|
+
been set in the edited file, a command to copy Rights from the original file
|
6573
|
+
could look like this:
|
6574
|
+
|
6575
|
+
exiftool -file1 '$originalfilename' '-rights<file1:rights' edited.jpg
|
6576
|
+
|
6577
|
+
Composite tags may access tags from alternate files using the appropriate
|
6578
|
+
(case-sensitive) family 8 group name.
|
6552
6579
|
|
6553
6580
|
=item B<-list_dir>
|
6554
6581
|
|
@@ -582,10 +582,10 @@ number of available PDF tags. See
|
|
582
582
|
L<http://www.adobe.com/devnet/pdf/pdf_reference.html> for the official PDF
|
583
583
|
specification.
|
584
584
|
|
585
|
-
ExifTool supports reading and writing PDF documents up to version
|
586
|
-
|
587
|
-
|
588
|
-
password-protected PDF files.
|
585
|
+
ExifTool supports reading and writing PDF documents up to version 2.0,
|
586
|
+
including support for RC4, AES-128 and AES-256 encryption. A
|
587
|
+
L<Password|../ExifTool.html#Password> option is provided to allow processing
|
588
|
+
of password-protected PDF files.
|
589
589
|
|
590
590
|
ExifTool may be used to write native PDF and XMP metadata to PDF files. It
|
591
591
|
uses an incremental update technique that has the advantages of being both
|
@@ -21,7 +21,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
|
|
21
21
|
use Image::ExifTool::Exif;
|
22
22
|
use Image::ExifTool::ASF; # for GetGUID()
|
23
23
|
|
24
|
-
$VERSION = '1.
|
24
|
+
$VERSION = '1.45';
|
25
25
|
|
26
26
|
sub ProcessFPX($$);
|
27
27
|
sub ProcessFPXR($$$);
|
@@ -1539,6 +1539,7 @@ sub ReadFPXValue($$$$$;$$)
|
|
1539
1539
|
}
|
1540
1540
|
$_[2] = $valPos; # return updated value position
|
1541
1541
|
|
1542
|
+
push @vals, '' if $type eq 0; # (VT_EMPTY)
|
1542
1543
|
if (wantarray) {
|
1543
1544
|
return @vals;
|
1544
1545
|
} elsif (@vals > 1) {
|