Browse Source

Update to 11.50

pull/22/head 11.50
exiftool 3 years ago
parent
commit
ca570e23c2
  1. 17
      Changes
  2. 2
      MANIFEST
  3. 7
      META.json
  4. 29
      META.yml
  5. 12
      README
  6. 173
      config_files/rotate_regions.config
  7. 121
      config_files/tiff_version.config
  8. 31
      exiftool
  9. 3
      html/ExifTool.html
  10. 864
      html/ExifTool.pdf
  11. 6
      html/Shift.pdf
  12. 9
      html/TagNames/Canon.html
  13. 4
      html/TagNames/CanonVRD.html
  14. 2
      html/TagNames/Composite.html
  15. 46
      html/TagNames/Extra.html
  16. 8
      html/TagNames/FlashPix.html
  17. 2
      html/TagNames/GPS.html
  18. 6
      html/TagNames/GoPro.html
  19. 2
      html/TagNames/H264.html
  20. 2
      html/TagNames/HP.html
  21. 2
      html/TagNames/IPTC.html
  22. 2
      html/TagNames/Kodak.html
  23. 2
      html/TagNames/MIE.html
  24. 2
      html/TagNames/MPF.html
  25. 2
      html/TagNames/MWG.html
  26. 4
      html/TagNames/MacOS.html
  27. 2
      html/TagNames/Matroska.html
  28. 114
      html/TagNames/Minolta.html
  29. 2
      html/TagNames/Nikon.html
  30. 10
      html/TagNames/PDF.html
  31. 4
      html/TagNames/PNG.html
  32. 2
      html/TagNames/Pentax.html
  33. 2
      html/TagNames/Photoshop.html
  34. 4
      html/TagNames/PostScript.html
  35. 2
      html/TagNames/PrintIM.html
  36. 60
      html/TagNames/QuickTime.html
  37. 2
      html/TagNames/RSRC.html
  38. 2
      html/TagNames/Samsung.html
  39. 230
      html/TagNames/Sony.html
  40. 2
      html/TagNames/Unknown.html
  41. 6
      html/TagNames/XMP.html
  42. 10
      html/TagNames/index.html
  43. 3
      html/data_members.html
  44. 10
      html/exiftool_pod.html
  45. 552
      html/exiftool_pod.pdf
  46. 18
      html/history.html
  47. 12
      html/index.html
  48. 22
      html/install.html
  49. 56
      html/makernote_types.html
  50. 99
      html/models.html
  51. 20
      html/sample_images.html
  52. 45
      lib/Image/ExifTool.pm
  53. 7
      lib/Image/ExifTool.pod
  54. 4
      lib/Image/ExifTool/Audible.pm
  55. 46
      lib/Image/ExifTool/BuildTagLookup.pm
  56. 22
      lib/Image/ExifTool/Canon.pm
  57. 8
      lib/Image/ExifTool/CanonVRD.pm
  58. 3
      lib/Image/ExifTool/DjVu.pm
  59. 2
      lib/Image/ExifTool/EXE.pm
  60. 50
      lib/Image/ExifTool/Exif.pm
  61. 2
      lib/Image/ExifTool/FLIR.pm
  62. 21
      lib/Image/ExifTool/FlashPix.pm
  63. 6
      lib/Image/ExifTool/GPS.pm
  64. 8
      lib/Image/ExifTool/GoPro.pm
  65. 4
      lib/Image/ExifTool/H264.pm
  66. 2
      lib/Image/ExifTool/HP.pm
  67. 2
      lib/Image/ExifTool/Kodak.pm
  68. 6
      lib/Image/ExifTool/MIE.pm
  69. 4
      lib/Image/ExifTool/MPF.pm
  70. 2
      lib/Image/ExifTool/MWG.pm
  71. 4
      lib/Image/ExifTool/MacOS.pm
  72. 2
      lib/Image/ExifTool/Matroska.pm
  73. 114
      lib/Image/ExifTool/Minolta.pm
  74. 2
      lib/Image/ExifTool/Nikon.pm
  75. 4
      lib/Image/ExifTool/Olympus.pm
  76. 4
      lib/Image/ExifTool/OpenEXR.pm
  77. 8
      lib/Image/ExifTool/PDF.pm
  78. 6
      lib/Image/ExifTool/PICT.pm
  79. 4
      lib/Image/ExifTool/PNG.pm
  80. 2
      lib/Image/ExifTool/Pentax.pm
  81. 3
      lib/Image/ExifTool/Photoshop.pm
  82. 8
      lib/Image/ExifTool/PostScript.pm
  83. 52
      lib/Image/ExifTool/QuickTime.pm
  84. 5
      lib/Image/ExifTool/RIFF.pm
  85. 2
      lib/Image/ExifTool/RSRC.pm
  86. 2
      lib/Image/ExifTool/Samsung.pm
  87. 6
      lib/Image/ExifTool/Sony.pm
  88. 4
      lib/Image/ExifTool/TagInfoXML.pm
  89. 16
      lib/Image/ExifTool/TagLookup.pm
  90. 52
      lib/Image/ExifTool/TagNames.pod
  91. 2
      lib/Image/ExifTool/VCard.pm
  92. 4
      lib/Image/ExifTool/Validate.pm
  93. 2
      lib/Image/ExifTool/WriteIPTC.pl
  94. 2
      lib/Image/ExifTool/WriteQuickTime.pl
  95. 17
      lib/Image/ExifTool/Writer.pl
  96. 10
      lib/Image/ExifTool/XMP.pm
  97. 3
      lib/Image/ExifTool/XMPStruct.pl
  98. 2
      lib/Image/ExifTool/ZIP.pm
  99. 2
      lib/Image/ExifTool/iWork.pm
  100. 6
      perl-Image-ExifTool.spec
  101. 8
      pp_build_exe.args
  102. 2
      t/QuickTime.t
  103. 2
      t/QuickTime_7.out
  104. 32
      windows_exiftool

17
Changes

@ -4,9 +4,24 @@ ExifTool Version History
RSS feed: http://owl.phy.queensu.ca/~phil/exiftool/rss.xml
Note: The most recent production release is Version 11.30. (Other versions are
Note: The most recent production release is Version 11.50. (Other versions are
considered development releases, and are not uploaded to CPAN.)
June 11, 2019 - Version 11.50 (production release)
- Added a new Canon LensType and two new Sony LensTypes (thanks LibRaw)
- Added tiff_version and rotate_regions config files to the distribution
- Added two new QuickTime Keys tags and made some existing Keys unwritable
- Improved Composite LensID logic to make better use of EXIF LensModel
- Improved logic when writing BinaryData tags to allow multiple interdependent
tags to be written in a single command
- Improved -htmldump output to show names of Unknown tags
- Allow advanced formatting expressions to access the current tag key ($tag)
- Remove escaped nulls from -json string values
- Reverted change in ExifTool 11.38 so that Composite GPS reference directions
are generated again even if the EXIF versions of these tags already exist
- Fixed an incorrect FlashPix CodePage conversion
June 5, 2019 - Version 11.49
- Added inverse print conversion for one of the QuickTime ItemList Genre tags

2
MANIFEST

@ -26,6 +26,8 @@ config_files/mini0806.config
config_files/nksc.config
config_files/photoshop_paths.config
config_files/picasa_faces.config
config_files/rotate_regions.config
config_files/tiff_version.config
config_files/time_zone.config
exiftool
fmt_files/gpx.fmt

7
META.json

@ -4,13 +4,13 @@
"Phil Harvey (phil@owl.phy.queensu.ca)"
],
"dynamic_config" : 0,
"generated_by" : "ExtUtils::MakeMaker version 6.66, CPAN::Meta::Converter version 2.133380, CPAN::Meta::Converter version 2.143240",
"generated_by" : "ExtUtils::MakeMaker version 6.66, CPAN::Meta::Converter version 2.133380, CPAN::Meta::Converter version 2.143240, CPAN::Meta::Converter version 2.150010",
"license" : [
"perl_5"
],
"meta-spec" : {
"url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
"version" : "2"
"version" : 2
},
"name" : "Image-ExifTool",
"no_index" : {
@ -47,5 +47,6 @@
}
},
"release_status" : "stable",
"version" : "11.49"
"version" : "11.50",
"x_serialization_backend" : "JSON::PP version 4.02"
}

29
META.yml

@ -3,29 +3,30 @@ abstract: 'Read and write meta information'
author:
- 'Phil Harvey (phil@owl.phy.queensu.ca)'
build_requires:
ExtUtils::MakeMaker: 0
ExtUtils::MakeMaker: '0'
configure_requires:
ExtUtils::MakeMaker: 0
ExtUtils::MakeMaker: '0'
dynamic_config: 0
generated_by: 'ExtUtils::MakeMaker version 6.66, CPAN::Meta::Converter version 2.133380, CPAN::Meta::Converter version 2.143240'
generated_by: 'ExtUtils::MakeMaker version 6.66, CPAN::Meta::Converter version 2.133380, CPAN::Meta::Converter version 2.143240, CPAN::Meta::Converter version 2.150010'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: 1.4
version: '1.4'
name: Image-ExifTool
no_index:
directory:
- t
- inc
recommends:
Archive::Zip: 0
Compress::Zlib: 0
Digest::MD5: 0
Digest::SHA: 0
IO::Compress::RawDeflate: 0
IO::Uncompress::RawInflate: 0
POSIX::strptime: 0
Time::HiRes: 0
Archive::Zip: '0'
Compress::Zlib: '0'
Digest::MD5: '0'
Digest::SHA: '0'
IO::Compress::RawDeflate: '0'
IO::Uncompress::RawInflate: '0'
POSIX::strptime: '0'
Time::HiRes: '0'
requires:
perl: 5.004
version: 11.49
perl: '5.004'
version: '11.50'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'

12
README

@ -41,8 +41,8 @@ supported by ExifTool (r = read, w = write, c = create):
CRM r/w | GZ r | MOI r | PMP r | WAV r
CRW r/w | HDP r/w | MOS r/w | PNG r/w | WDP r/w
CS1 r/w | HDR r | MOV r/w | PPM r/w | WEBP r
DCM r | HEIC r | MP3 r | PPT r | WEBM r
DCP r/w | HEIF r | MP4 r/w | PPTX r | WMA r
DCM r | HEIC r/w | MP3 r | PPT r | WEBM r
DCP r/w | HEIF r/w | MP4 r/w | PPTX r | WMA r
DCR r | HTML r | MPC r | PS r/w | WMV r
DFONT r | ICC r/w/c | MPG r | PSB r/w | WTV r
DIVX r | ICS r | MPO r/w | PSD r/w | WV r
@ -104,8 +104,8 @@ your home directory, then you would type the following commands in a
terminal window to extract and run ExifTool:
cd ~/Desktop
gzip -dc Image-ExifTool-11.49.tar.gz | tar -xf -
cd Image-ExifTool-11.49
gzip -dc Image-ExifTool-11.50.tar.gz | tar -xf -
cd Image-ExifTool-11.50
./exiftool t/images/ExifTool.jpg
Note: These commands extract meta information from one of the test images.
@ -195,10 +195,12 @@ distribution package:
example.config - General example showing config features
fotoware.config - Definitions for writing Fotoware XMP tags
gps2utm.config - Generate UTM coordinate tags from GPS info
mini0806.config - Composite tags for GPS in Mini 0806 videos
mini0806.config - Decode timed GPS from Mini 0806 videos
nksc.config - Decode tags in Nikon ViewNX NKSC files
photoshop_paths.config - For extracting or copying Photoshop paths
picasa_faces.config - Convert from Picasa to MWG/MP face regions
rotate_regions.config - Rotate MWG and MP region tags
tiff_version.config - Determine the version of a TIFF file
time_zone.config - Calcuate time zone from EXIF tags
exiftool - The exiftool application (Perl script)
fmt_files/ - Output formatting example files:

173
config_files/rotate_regions.config

@ -0,0 +1,173 @@
#------------------------------------------------------------------------------
# File: rotate_regions.config
#
# Description: User-defined Composite tag definitions to rotate MWG region tags
# (Metadata Working Group region, used by Picasa) and MP region tags
# (used by Microsoft Photo Library).
#
# Tag definitions and examples:
#
# RotateMWGRegionCW90
# RotateMWGRegionCW180
# RotateMWGRegionCW270
# These tags will rotate a MWG Region clockwise 90, 180, or 270 degrees.
# Example:
# exiftool -config rotate_regions.config "-RegionInfo<RotateMWGRegionCW90" FILE
#
# RotateMPRegionCW90
# RotateMPRegionCW180
# RotateMPRegionCW270
# These tags will rotate a MWG Region clockwise 90, 180, or 270 degrees.
# Example:
# exiftool -config rotate_regions.config "-RegionInfoMP<RotateMPRegionCW90" FILE
#
# Revisions: 2015/05/08 - Bryan K. Williams AKA StarGeek Created
#------------------------------------------------------------------------------
%Image::ExifTool::UserDefined = (
'Image::ExifTool::Composite' => {
RotateMWGRegionCW90 =>{
Require => 'RegionInfo',
ValueConv => q{
my ($rgn, @newRgns);
foreach $rgn (@{$val[0]{RegionList}}) {
my @rect = @{$$rgn{Area}}{'X','Y','W','H'};
my %newRgn = (
Area => {
X => 1-$rect[1],
Y => $rect[0],
W => $rect[3],
H => $rect[2],
Unit => 'normalized',
},
Name => $$rgn{Name},
Type => 'Face',
);
push @newRgns, \%newRgn;
}
return {
AppliedToDimensions => {
W => $val[0]{AppliedToDimensions}{W},
H => $val[0]{AppliedToDimensions}{H},
Unit => $val[0]{AppliedToDimensions}{Unit},
},
RegionList => \@newRgns,
};
},
}, #End RotateMWGRegionCW90
RotateMWGRegionCW180 =>{
Require => 'RegionInfo',
ValueConv => q{
my ($rgn, @newRgns);
foreach $rgn (@{$val[0]{RegionList}}) {
my @rect = @{$$rgn{Area}}{'X','Y','W','H'};
my %newRgn = (
Area => {
X => 1-$rect[0],
Y => 1-$rect[1],
W => $rect[2],
H => $rect[3],
Unit => 'normalized',
},
Name => $$rgn{Name},
Type => 'Face',
);
push @newRgns, \%newRgn;
}
return {
AppliedToDimensions => {
W => $val[0]{AppliedToDimensions}{W},
H => $val[0]{AppliedToDimensions}{H},
Unit => $val[0]{AppliedToDimensions}{Unit},
},
RegionList => \@newRgns,
};
},
}, #End RotateMWGRegionCW180
RotateMWGRegionCW270 =>{
Require => 'RegionInfo',
ValueConv => q{
my ($rgn, @newRgns);
foreach $rgn (@{$val[0]{RegionList}}) {
my @rect = @{$$rgn{Area}}{'X','Y','W','H'};
my %newRgn = (
Area => {
X => $rect[1],
Y => 1-$rect[0],
W => $rect[3],
H => $rect[2],
Unit => 'normalized',
},
Name => $$rgn{Name},
Type => 'Face',
);
push @newRgns, \%newRgn;
}
return {
AppliedToDimensions => {
W => $val[0]{AppliedToDimensions}{W},
H => $val[0]{AppliedToDimensions}{H},
Unit => $val[0]{AppliedToDimensions}{Unit},
},
RegionList => \@newRgns,
};
},
}, #End RotateMWGRegionCW270
RotateMPRegionCW90=>{
Require => 'RegionInfoMP',
ValueConv => q{
my ($rgn, @newRgns);
foreach $rgn (@{$val[0]{Regions}}) {
my @rect = split /\s*,\s*/, $$rgn{Rectangle};
my $temp = $rect[0];
$rect[0] = 1-$rect[1]-$rect[3];
$rect[1] = $temp;
($rect[2], $rect[3]) = ($rect[3],$rect[2]); #Swap W and H
push @newRgns, {
PersonDisplayName => $$rgn{PersonDisplayName},
Rectangle => join(', ', @rect),
};
}
return { Regions => \@newRgns };
}
}, #end RotateMPRegionCW90
RotateMPRegionCW180=>{
Require => 'RegionInfoMP',
ValueConv => q{
my ($rgn, @newRgns);
foreach $rgn (@{$val[0]{Regions}}) {
my @rect = split /\s*,\s*/, $$rgn{Rectangle};
my $tempX = $rect[0];
my $tempY = $rect[1];
$rect[0] = 1-$tempX-$rect[2];
$rect[1] = 1-$tempY-$rect[3];
push @newRgns, {
PersonDisplayName => $$rgn{PersonDisplayName},
Rectangle => join(', ', @rect),
};
}
return { Regions => \@newRgns };
}
}, #end RotateMPRegionCW180
RotateMPRegionCW270=>{
Require => 'RegionInfoMP',
ValueConv => q{
my ($rgn, @newRgns);
foreach $rgn (@{$val[0]{Regions}}) {
my @rect = split /\s*,\s*/, $$rgn{Rectangle};
my $temp = $rect[1];
$rect[1] = 1-$rect[0]-$rect[2];
$rect[0] = $temp;
($rect[2], $rect[3]) = ($rect[3],$rect[2]); #Swap W and H
push @newRgns, {
PersonDisplayName => $$rgn{PersonDisplayName},
Rectangle => join(', ', @rect),
};
}
return { Regions => \@newRgns };
}
}, #end RotateMPRegionCW270
},
);
1; #end

121
config_files/tiff_version.config

@ -0,0 +1,121 @@
#------------------------------------------------------------------------------
# File: tiff_version.config
#
# Description: This config file contains the definition for a Composite
# TIFFVersion tag used to determine the version of a TIFF file
#
# Usage: exiftool -config tiff_version.config -tiffversion DIR
#
# Requires: ExifTool version 11.50 or later
#
# Revisions: 2019/06/06 - Bryan K. Williams (aka StarGeek) Created
# 2019/06/07 - P. Harvey added test of TIFF format types
#
# References: http://jhove.openpreservation.org/modules/tiff/#profiles
#------------------------------------------------------------------------------
# Checks if at least one the values passed are defined.
sub has_defined {
for my $i ( @_ ) {
return 1 if defined $i;
}
return 0;
}
%Image::ExifTool::UserDefined = (
'Image::ExifTool::Composite' => {
TIFFVersion => {
Require => {
0 => 'FileType'
},
Desire => {
# Version 5
1 => 'EXIF:Artist', # Artist (315/0x013b)
2 => 'EXIF:ColorMap', # ColorMap (320/0x0140)
3 => 'EXIF:ModifyDate', # DateTime (306/0x0132) Called DateTime by EXIF spec, ModifyDate by exiftool
4 => 'EXIF:HostComputer', # HostComputer (316/0x013c)
5 => 'EXIF:SubfileType', # NewSubfileType (254/0x00fe) Called NewSubfileType by TIFF spec, SubfileType by exiftool
6 => 'EXIF:Predictor', # Predictor (317/0x013d)
7 => 'EXIF:PrimaryChromaticities', # PrimaryChromaticities (319/0x013f)
8 => 'EXIF:Software', # Software (305/0x0131)
9 => 'EXIF:WhitePoint', # WhitePoint (318/0x013e)
# Version 6
10 => 'EXIF:Copyright', # Copyright (33432/0x8298)
11 => 'EXIF:DotRange', # DotRange (336/0x0150)
12 => 'EXIF:ExtraSamples', # ExtraSamples (338/0x0152)
13 => 'EXIF:HalftoneHints', # HalftoneHints (321/0x0141)
14 => 'EXIF:InkNames', # InkNames (333/0x014d)
15 => 'EXIF:InkSet', # InkSet (332/0x014c)
16 => 'EXIF:JPEGACTables', # JPEGACTables (521/0x0209)
17 => 'EXIF:JPEGDCTables', # JPEGDCTables (520/0x0208)
18 => 'EXIF:ThumbnailOffset', # JPEGInterchangeFormat (513/0x0201)
19 => 'EXIF:ThumbnailLength ', # JPEGInterchangeFormatLength (514/0x0202)
20 => 'EXIF:JPEGLosslessPredictors', # JPEGLosslessPredictors (517/0x0205)
21 => 'EXIF:JPEGPointTransforms', # JPEGPointTransforms (518/0x0206)
22 => 'EXIF:JPEGProc', # JPEGProc (512/0x0200)
23 => 'EXIF:JPEGRestartInterval', # JPEGRestartInterval (515/0x0203)
24 => 'EXIF:JPEGQTables', # JPEGQTables (519/0x0207)
25 => 'EXIF:NumberofInks', # NumberOfInks (334/0x014e)
26 => 'EXIF:ReferenceBlackWhite', # ReferenceBlackWhite (532/0x0214)
27 => 'EXIF:SampleFormat', # SampleFormat (339/0x0153)
28 => 'EXIF:SMinSampleValue', # SMinSampleValue (340/0x0154)
29 => 'EXIF:SMaxSampleValue', # SMaxSampleValue (341/0x0155)
30 => 'EXIF:TargetPrinter', # TargetPrinter (337/0x0151)
31 => 'EXIF:TileLength', # TileLength (323/0x0143)
32 => 'EXIF:TileOffsets', # TileOffsets (324/0x0144)
33 => 'EXIF:TileWidth', # TileWidth (322/0x0142)
34 => 'EXIF:TileByteCounts', # TileByteCounts (325/0x0145)
35 => 'EXIF:TransferRange', # TransferRange (342/0x0156)
36 => 'EXIF:YCbCrCoefficients', # YCbCrCoefficients (529/0x0211)
37 => 'EXIF:YCbCrPositioning', # YCbCrPositioning (531/0x0213)
38 => 'EXIF:YCbCrSubSampling', # YCbCrSubSampling (530/0x0212)
# Other tags to check
39 => 'EXIF:PhotometricInterpretation', # PhotometricInterpretation (262/0x0106)
40 => 'EXIF:Compression', # Compression (259/0x0103)
},
ValueConv => q{
if ($val[0] ne 'TIFF') {
return undef;
}
unless ($$self{SaveFormat}) {
return '<you must use the API SaveFormat option and ExifTool 11.50 or later>';
}
foreach (qw(int8s undef int16s int32s rational64s float double)) {
return '6.0' if $$self{SaveFormat}{$_};
}
if ( $val[39]=~/^(?:C(?:IELab|MYK)|YCbCr)$/ or $val[40] eq 'JPEG (old-style)' or has_defined(@val[10..38]) ) {
return '6.0';
}
if ($val[39]=~/^(?:Transparency Mask|RGB Palette)$/ or $val[40] eq 'LZW' or has_defined(@val[1..9]) ) {
return '5.0';
}
return '4.0';
},
},
},
);
# A couple of shortcuts to test for the existance of certain tags
%Image::ExifTool::UserDefined::Shortcuts = (
TiffVersion5Tags => [
'EXIF:Artist', 'EXIF:ColorMap', 'EXIF:ModifyDate', 'EXIF:HostComputer', 'EXIF:SubfileType',
'EXIF:Predictor', 'EXIF:PrimaryChromaticities', 'EXIF:Software', 'EXIF:WhitePoint',
],
TiffVersion6Tags => [
'EXIF:Copyright', 'EXIF:DotRange', 'EXIF:ExtraSamples', 'EXIF:HalftoneHints',
'EXIF:InkNames', 'EXIF:InkSet', 'EXIF:JPEGACTables', 'EXIF:JPEGDCTables',
'EXIF:ThumbnailOffset', 'EXIF:ThumbnailLength ', 'EXIF:JPEGLosslessPredictors',
'EXIF:JPEGPointTransforms', 'EXIF:JPEGProc', 'EXIF:JPEGRestartInterval',
'EXIF:JPEGQTables', 'EXIF:NumberofInks', 'EXIF:ReferenceBlackWhite', 'EXIF:SampleFormat',
'EXIF:SMinSampleValue', 'EXIF:SMaxSampleValue', 'EXIF:TargetPrinter', 'EXIF:TileLength',
'EXIF:TileOffsets', 'EXIF:TileWidth', 'EXIF:TileByteCounts', 'EXIF:TransferRange',
'EXIF:YCbCrCoefficients', 'EXIF:YCbCrPositioning', 'EXIF:YCbCrSubSampling',
],
);
# Must set undocumented SaveFormat option to provide access to the tag format types
%Image::ExifTool::UserDefined::Options = (
SaveFormat => 1,
);
1; #end

31
exiftool

@ -12,7 +12,7 @@
use strict;
require 5.004;
my $version = '11.49';
my $version = '11.50';
# add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
my $exeDir;
@ -495,9 +495,7 @@ $xml = 0;
# define local variables used only in this command loop
my @fileOrder; # tags to use for ordering of input files
my %excludeGrp; # hash of tags excluded by group
my $addGeotime; # automatically added geotime argument
my $allInGroup; # flag to show all tags in a group
my $doGlob; # flag set to do filename wildcard expansion
my $escapeXML; # flag to escape printed values for xml
my $setTagsFile; # filename for last TagsFromFile option
@ -879,6 +877,7 @@ for (;;) {
$showGroup = $3 || 0;
$allGroup = ($2 ? lc($2) eq 'roupnames' : $1 eq 'G');
$mt->Options(SavePath => 1) if $showGroup =~ /\b5\b/;
$mt->Options(SaveFormat => 1) if $showGroup =~ /\b6\b/;
next;
}
if ($a eq 'geotag') {
@ -3136,6 +3135,7 @@ sub EscapeJSON($;$)
# escape special characters
$str =~ s/(["\t\n\r\\])/\\$jsonChar{$1}/sg;
if ($json < 2) { # JSON
$str =~ tr/\0//d; # remove all nulls
# escape other control characters with \u
$str =~ s/([\0-\x1f])/sprintf("\\u%.4X",ord $1)/sge;
# JSON strings must be valid UTF8
@ -4284,8 +4284,8 @@ supported by ExifTool (r = read, w = write, c = create):
CRM r/w | GZ r | MOI r | PMP r | WAV r
CRW r/w | HDP r/w | MOS r/w | PNG r/w | WDP r/w
CS1 r/w | HDR r | MOV r/w | PPM r/w | WEBP r
DCM r | HEIC r | MP3 r | PPT r | WEBM r
DCP r/w | HEIF r | MP4 r/w | PPTX r | WMA r
DCM r | HEIC r/w | MP3 r | PPT r | WEBM r
DCP r/w | HEIF r/w | MP4 r/w | PPTX r | WMA r
DCR r | HTML r | MPC r | PS r/w | WMV r
DFONT r | ICC r/w/c | MPG r | PSB r/w | WTV r
DIVX r | ICS r | MPO r/w | PSD r/w | WV r
@ -5119,7 +5119,7 @@ with this command:
produces output like this:
-- Generated by ExifTool 11.49 --
-- Generated by ExifTool 11.50 --
File: a.jpg - 2003:10:31 15:44:19
(f/5.6, 1/60s, ISO 100)
File: b.jpg - 2006:05:23 11:57:38
@ -5448,10 +5448,11 @@ B<-o> option with an XMP extension for the output file.
=item B<-a>, B<--a> (B<-duplicates>, B<--duplicates>)
Allow (B<-a>) or suppress (B<--a>) duplicate tag names to be extracted. By
default, duplicate tags are suppressed unless the B<-ee> or B<-X> options
are used or the Duplicates option is enabled in the configuration file.
This option also has an affect when writing to allow duplicate Warning
messages to be shown.
default, duplicate tags are suppressed when reading unless the B<-ee> or
B<-X> options are used or the Duplicates option is enabled in the
configuration file. This option has an affect when writing only to allow
duplicate Warning messages to be shown. Duplicate tags are always extracted
when copying.
=item B<-e> (B<--composite>)
@ -6146,11 +6147,11 @@ placing braces around the tag name and inserting the expression after the
name, separated by a semicolon (ie. C<${TAG;EXPR}>). The expression acts on
the value of the tag through the default input variable (C<$_>), and has
access to the full ExifTool API through the current ExifTool object
(C<$self>). It may contain any valid Perl code, including translation
(C<tr///>) and substitution (C<s///>) operations, but note that braces
within the expression must be balanced. The example below prints the camera
Make with spaces translated to underlines, and multiple consecutive
underlines replaced by a single underline:
(C<$self>) and the tag key (C<$tag>). It may contain any valid Perl code,
including translation (C<tr///>) and substitution (C<s///>) operations, but
note that braces within the expression must be balanced. The example below
prints the camera Make with spaces translated to underlines, and multiple
consecutive underlines replaced by a single underline:
exiftool -p '${make;tr/ /_/;s/__+/_/g}' image.jpg

3
html/ExifTool.html

@ -415,6 +415,9 @@ distribution for examples.</p>
</table></blockquote>
<p><b>Available options:</b></p>
<p><i>Note that these API options may be also be used in the
<a href="exiftool_pod.html">exiftool application</a> via the command-line
<b>-api</b> option.</i></p>
<blockquote>
<table class='norm'>
<tr><th colspan=4 bgcolor='#dddddd'><font size='+1'>ExifTool Options</font></th></tr>

864
html/ExifTool.pdf

@ -12,7 +12,7 @@ BT
/GS1 gs
0 Tc
0 Tw
( -- Image::ExifTool 11.49 -- 1)Tj
( -- Image::ExifTool 11.50 -- 1)Tj
/TT4 1 Tf
0 -1.6333 TD
(EXIFTOOL\(1\) User Contributed Perl Documentation EXIFTOOL\(1\))Tj
@ -189,7 +189,7 @@ BT
/GS1 gs
0 Tc
0 Tw
( -- Image::ExifTool 11.49 -- 2)Tj
( -- Image::ExifTool 11.50 -- 2)Tj
/TT4 1 Tf
0 -1.6333 TD
( ASF r | FFF r/w | MAX r | PDB r | SVG r)Tj
@ -218,9 +218,9 @@ T*
T*
( CS1 r/w | HDR r | MOV r/w | PPM r/w | WEBP r)Tj
T*
( DCM r | HEIC r | MP3 r | PPT r | WEBM r)Tj
( DCM r | HEIC r/w | MP3 r | PPT r | WEBM r)Tj
T*
( DCP r/w | HEIF r | MP4 r/w | PPTX r | WMA r)Tj
( DCP r/w | HEIF r/w | MP4 r/w | PPTX r | WMA r)Tj
T*
( DCR r | HTML r | MPC r | PS r/w | WMV r)Tj
T*
@ -382,7 +382,7 @@ BT
/GS1 gs
0 Tc
0 Tw
( -- Image::ExifTool 11.49 -- 3)Tj
( -- Image::ExifTool 11.50 -- 3)Tj
/TT4 1 Tf
0 -1.6333 TD
(M)Tj
@ -619,7 +619,7 @@ BT
/GS1 gs
0 Tc
0 Tw
( -- Image::ExifTool 11.49 -- 4)Tj
( -- Image::ExifTool 11.50 -- 4)Tj
/TT4 1 Tf
0 -1.6333 TD
( used afterward to access member functions. Must be the first)Tj
@ -770,7 +770,7 @@ BT
/GS1 gs
0 Tc
0 Tw
( -- Image::ExifTool 11.49 -- 5)Tj
( -- Image::ExifTool 11.50 -- 5)Tj
/TT4 1 Tf
0 -1.6333 TD
( still generated, but the tag value is undefined.)Tj
@ -955,7 +955,7 @@ endobj
endobj
21 0 obj
<<
/Length 3804
/Length 3901
>>
stream
BT
@ -965,7 +965,7 @@ BT
/GS1 gs
0 Tc
0 Tw
( -- Image::ExifTool 11.49 -- 6)Tj
( -- Image::ExifTool 11.50 -- 6)Tj
/TT4 1 Tf
0 -2.7333 TD
( ExifToolVersion - The ExifTool version number.)Tj
@ -1050,8 +1050,20 @@ T*
T*
( Option Parameters:)Tj
0 -1.1 TD
( Binary)Tj
( Note that these API options may also be used in the exiftool)Tj
T*
( application via the command-line -)Tj
26.4 0 TD
(-a)Tj
0.6 0 TD
(ap)Tj
0.6 0 TD
(pi)Tj
0.6 0 TD
(i option.)Tj
-28.2 -2.2 TD
( Binary)Tj
0 -1.1 TD
( Flag to extract the value data for all binary tags. Tag values)Tj
T*
( representing large binary data blocks \(eg. ThumbnailImage\) are)Tj
@ -1077,10 +1089,6 @@ T*
( ExifByteOrder tag, but the ByteOrder option takes precedence if)Tj
T*
( both are set.)Tj
0 -2.2 TD
( Charset)Tj
0 -1.1 TD
( Character set for encoding character tag values passed to/from)Tj
ET
endstream
endobj
@ -1098,7 +1106,7 @@ endobj
endobj
24 0 obj
<<
/Length 4573
/Length 4576
>>
stream
BT
@ -1108,11 +1116,15 @@ BT
/GS1 gs
0 Tc
0 Tw
( -- Image::ExifTool 11.49 -- 7)Tj
( -- Image::ExifTool 11.50 -- 7)Tj
/TT4 1 Tf
0 -1.6333 TD
( ExifTool with code points above U+007F. Default is 'UTF8'.)Tj
0 -2.7333 TD
( Charset)Tj
0 -1.1 TD
( Character set for encoding character tag values passed to/from)Tj
T*
( ExifTool with code points above U+007F. Default is 'UTF8'.)Tj
T*
( Valid values are listed below, case is not significant:)Tj
0 -2.2 TD
( Value Alias\(es\) Description)Tj
@ -1226,10 +1238,6 @@ T*
( CharsetQuickTime)Tj
0 -1.1 TD
( Internal encoding to assume for QuickTime strings stored with)Tj
T*
( an unspecified encoding. Default is 'MacRoman'.)Tj
0 -2.2 TD
( CharsetRIFF)Tj
ET
endstream
endobj
@ -1247,7 +1255,7 @@ endobj
endobj
27 0 obj
<<
/Length 4489
/Length 4336
>>
stream
BT
@ -1257,11 +1265,15 @@ BT
/GS1 gs
0 Tc
0 Tw
( -- Image::ExifTool 11.49 -- 8)Tj
( -- Image::ExifTool 11.50 -- 8)Tj
/TT4 1 Tf
0 -1.6333 TD
( Internal encoding to assume for strings in RIFF metadata \(eg.)Tj
( an unspecified encoding. Default is 'MacRoman'.)Tj
0 -2.2 TD
( CharsetRIFF)Tj
0 -1.1 TD
( Internal encoding to assume for strings in RIFF metadata \(eg.)Tj
T*
( AVI and WAV files\). The default value of 0 assumes "Latin")Tj
T*
( encoding unless otherwise specified by the RIFF CSET chunk.)Tj
@ -1373,12 +1385,6 @@ T*
( undef. Default is undef.)Tj
0 -2.2 TD
( Exclude)Tj
0 -1.1 TD
( Exclude specified tags from tags extracted from an image. The)Tj
T*
( option value is either a tag name or reference to a list of tag)Tj
T*
( names to exclude. The case of tag names is not significant.)Tj
ET
endstream
endobj
@ -1396,7 +1402,7 @@ endobj
endobj
30 0 obj
<<
/Length 4908
/Length 4914
>>
stream
BT
@ -1406,11 +1412,17 @@ BT
/GS1 gs
0 Tc
0 Tw
( -- Image::ExifTool 11.49 -- 9)Tj
( -- Image::ExifTool 11.50 -- 9)Tj
/TT4 1 Tf
0 -1.6333 TD
( This option is ignored for specifically requested tags. Tags)Tj
( Exclude specified tags from tags extracted from an image. The)Tj
0 -1.1 TD
( option value is either a tag name or reference to a list of tag)Tj
T*
( names to exclude. The case of tag names is not significant.)Tj
T*
( This option is ignored for specifically requested tags. Tags)Tj
T*
( may also be excluded by preceding their name with a '-' in the)Tj
T*
( arguments to "ImageInfo".)Tj
@ -1528,12 +1540,6 @@ T*
( lies between two fixes in the same track which are separated by)Tj
T*
( a number of seconds greater than this. Otherwise, the)Tj
T*
( coordinates are calculated as a linear interpolation between)Tj
T*
( the nearest fixes on either side of the Geotime value. Set to)Tj
T*
( 0 to disable interpolation and use the coordinates of the)Tj
ET
endstream
endobj
@ -1551,7 +1557,7 @@ endobj
endobj
33 0 obj
<<
/Length 4532
/Length 4691
>>
stream
BT
@ -1561,11 +1567,17 @@ BT
/GS1 gs
0 Tc
0 Tw
( -- Image::ExifTool 11.49 -- 10)Tj
( -- Image::ExifTool 11.50 -- 10)Tj
/TT4 1 Tf
0 -1.6333 TD
( nearest fix instead \(provided it is within GeoMaxExtSecs,)Tj
( coordinates are calculated as a linear interpolation between)Tj
0 -1.1 TD
( the nearest fixes on either side of the Geotime value. Set to)Tj
T*
( 0 to disable interpolation and use the coordinates of the)Tj
T*
( nearest fix instead \(provided it is within GeoMaxExtSecs,)Tj
T*
( otherwise geotagging fails\). Default is 1800.)Tj
0 -2.2 TD
( GeoMaxExtSecs)Tj
@ -1719,10 +1731,6 @@ T*
( errors and warnings are denoted by "[minor]" at the start of)Tj
T*
( the message, or "[Minor]" \(with a capital "M"\) for warnings)Tj
T*
( that affect processing when ignored.)Tj
0 -2.2 TD
( Lang)Tj
ET
endstream
endobj
@ -1740,7 +1748,7 @@ endobj
endobj
36 0 obj
<<
/Length 4428
/Length 4273
>>
stream
BT
@ -1750,11 +1758,15 @@ BT
/GS1 gs
0 Tc
0 Tw
( -- Image::ExifTool 11.49 -- 11)Tj
( -- Image::ExifTool 11.50 -- 11)Tj
/TT4 1 Tf
0 -1.6333 TD
( Localized language for exiftool tag descriptions, etc.)Tj
( that affect processing when ignored.)Tj
0 -2.2 TD
( Lang)Tj
0 -1.1 TD
( Localized language for exiftool tag descriptions, etc.)Tj
T*
( Available languages are given by the Image::ExifTool::Lang)Tj
T*
( module names \(eg. 'fr', 'zh_cn'\). If the specified language)Tj
@ -1864,12 +1876,6 @@ T*
( chunk. By default, ExifTool adds new XMP to the end of a PNG)Tj
T*
( file \(just before IEND\). This is allowed by the PNG and XMP)Tj
T*
( specifications, but some utilities seem to ignore XMP if it)Tj
T*
( comes after the image data. The PNGEarlyXMP option causes)Tj
T*
( ExifTool to instead add new XMP before the PNG IDAT chunk.)Tj
ET
endstream
endobj
@ -1887,7 +1893,7 @@ endobj
endobj
41 0 obj
<<
/Length 4890
/Length 4913
>>
stream
BT
@ -1897,11 +1903,17 @@ BT
/GS1 gs
0 Tc
0 Tw
( -- Image::ExifTool 11.49 -- 12)Tj
( -- Image::ExifTool 11.50 -- 12)Tj
/TT4 1 Tf
0 -1.6333 TD
( However, since ExifTool uses a single-pass writing algorithm,)Tj
( specifications, but some utilities seem to ignore XMP if it)Tj
0 -1.1 TD
( comes after the image data. The PNGEarlyXMP option causes)Tj
T*
( ExifTool to instead add new XMP before the PNG IDAT chunk.)Tj
T*
( However, since ExifTool uses a single-pass writing algorithm,)Tj
T*
( it has no way to tell if XMP already exists later in the file)Tj
T*
( before writing the new XMP in this location. If this happens,)Tj
@ -2017,12 +2029,6 @@ T*
( Descr - Sort by tag description \(for current Lang setting\))Tj
T*
( Group# - Sort by tag group, where # is zero or more family)Tj
T*
( numbers separated by colons. If # is not specified,)Tj
T*
( Group0 is assumed. See GetGroup for a description)Tj
T*
( of group families.)Tj
ET
endstream
endobj
@ -2040,7 +2046,7 @@ endobj
endobj
44 0 obj
<<
/Length 4084
/Length 4178
>>
stream
BT
@ -2050,9 +2056,15 @@ BT
/GS1 gs
0 Tc
0 Tw
( -- Image::ExifTool 11.49 -- 13)Tj
( -- Image::ExifTool 11.50 -- 13)Tj
/TT4 1 Tf
0 -2.7333 TD
0 -1.6333 TD
( numbers separated by colons. If # is not specified,)Tj
0 -1.1 TD
( Group0 is assumed. See GetGroup for a description)Tj
T*
( of group families.)Tj
0 -2.2 TD
( Sort2)Tj
0 -1.1 TD
( Secondary sort order used for tags within each group when Sort)Tj
@ -2160,10 +2172,6 @@ T*
( UserParam)Tj
0 -1.1 TD
( Special option to set/get user-defined parameters. Useful to)Tj
T*
( allow external input into tag name expressions and ValueConv)Tj
T*
( logic. Valid UserParam values are:)Tj
ET
endstream
endobj
@ -2181,7 +2189,7 @@ endobj
endobj
47 0 obj
<<
/Length 4292
/Length 4339
>>
stream
BT
@ -2191,9 +2199,13 @@ BT
/GS1 gs
0 Tc
0 Tw
( -- Image::ExifTool 11.49 -- 14)Tj
( -- Image::ExifTool 11.50 -- 14)Tj
/TT4 1 Tf
0 -1.6333 TD
( allow external input into tag name expressions and ValueConv)Tj
0 -1.1 TD
( logic. Valid UserParam values are:)Tj
0 -2.2 TD
( PARAM - Get parameter)Tj
0 -1.1 TD
( PARAM= - Clear parameter)Tj
@ -2337,10 +2349,6 @@ T*
( Reset all options to their default values. Loads user-defined default)Tj
T*
( option values from the %Image::ExifTool::UserDefined::Options hash in)Tj
T*
( the .ExifTool_config file if it exists.)Tj
0 -2.2 TD
( $exifTool->ClearOptions\(\);)Tj
ET
endstream
endobj
@ -2358,7 +2366,7 @@ endobj
endobj
50 0 obj
<<
/Length 4090
/Length 3866
>>
stream
BT
@ -2368,9 +2376,13 @@ BT
/GS1 gs
0 Tc
0 Tw
( -- Image::ExifTool 11.49 -- 15)Tj
( -- Image::ExifTool 11.50 -- 15)Tj
/TT4 1 Tf
0 -2.7333 TD
0 -1.6333 TD
( the .ExifTool_config file if it exists.)Tj
0 -2.2 TD
( $exifTool->ClearOptions\(\);)Tj
T*
( Inputs:)Tj
0 -1.1 TD
( 0\) ExifTool object reference)Tj
@ -2504,30 +2516,6 @@ T*
( QuickTimeUTC \(conversion to local time\), Sort \(if a tag list reference)Tj
T*
( is given\) and StrictDate.)Tj
0 -2.2 TD
( W)Tj
1.8 0 TD
(Wr)Tj
0.6 0 TD
(ri)Tj
0.6 0 TD
(it)Tj
0.6 0 TD
(te)Tj
0.6 0 TD
(eI)Tj
0.6 0 TD
(In)Tj
0.6 0 TD
(nf)Tj
0.6 0 TD
(fo)Tj
0.6 0 TD
(o)Tj
-6.6 -1.1 TD
( Write meta information to a file. The specified source file is)Tj
T*
( rewritten to the same-type destination file with new information as)Tj
ET
endstream
endobj
@ -2545,7 +2533,7 @@ endobj
endobj
53 0 obj
<<
/Length 4172
/Length 4341
>>
stream
BT
@ -2555,11 +2543,35 @@ BT
/GS1 gs
0 Tc
0 Tw
( -- Image::ExifTool 11.49 -- 16)Tj
( -- Image::ExifTool 11.50 -- 16)Tj
/TT4 1 Tf
0 -1.6333 TD
( W)Tj
1.8 0 TD
(Wr)Tj
0.6 0 TD
(ri)Tj
0.6 0 TD
(it)Tj
0.6 0 TD
(te)Tj
0.6 0 TD
(eI)Tj
0.6 0 TD
(In)Tj
0.6 0 TD
(nf)Tj
0.6 0 TD
(fo)Tj
0.6 0 TD
(o)Tj
-6.6 -1.1 TD
( Write meta information to a file. The specified source file is)Tj
T*
( rewritten to the same-type destination file with new information as)Tj
T*
( specified by previous calls to "SetNewValue". The necessary segments)Tj
0 -1.1 TD
T*
( and/or directories are created in the destination file as required to)Tj
T*
( store the specified information. May be called repeatedly to write the)Tj
@ -2661,10 +2673,6 @@ T*
( replace the original if there were no errors.)Tj
0 -2.2 TD
( On Mac OS systems, the file resource fork is preserved if this)Tj
0 -1.1 TD
( routine is called with a source file name.)Tj
0 -2.2 TD
( The following ExifTool options are effective in the call to)Tj
ET
endstream
endobj
@ -2682,7 +2690,7 @@ endobj
endobj
56 0 obj
<<
/Length 3905
/Length 3835
>>
stream
BT
@ -2692,9 +2700,13 @@ BT
/GS1 gs
0 Tc
0 Tw
( -- Image::ExifTool 11.49 -- 17)Tj
( -- Image::ExifTool 11.50 -- 17)Tj
/TT4 1 Tf
0 -1.6333 TD
( routine is called with a source file name.)Tj
0 -2.2 TD
( The following ExifTool options are effective in the call to)Tj
0 -1.1 TD
( "WriteInfo":)Tj
0 -2.2 TD
( ByteOrder, Charset, CharsetEXIF, CharsetFileName, CharsetIPTC, Compact,)Tj
@ -2864,26 +2876,6 @@ T*
( List of requested tag keys in the same order that the tags were)Tj
T*
( specified. Note that this list will be empty if tags were not)Tj
T*
( specifically requested \(ie. If extracting all tags\).)Tj
0 -2.2 TD
( G)Tj
1.8 0 TD
(Ge)Tj
0.6 0 TD
(et)Tj
0.6 0 TD
(tV)Tj
0.6 0 TD
(Va)Tj
0.6 0 TD
(al)Tj
0.6 0 TD
(lu)Tj
0.6 0 TD
(ue)Tj
0.6 0 TD
(e)Tj
ET
endstream
endobj
@ -2901,7 +2893,7 @@ endobj
endobj
59 0 obj
<<
/Length 4144
/Length 4151
>>
stream
BT
@ -2911,11 +2903,31 @@ BT
/GS1 gs
0 Tc
0 Tw
( -- Image::ExifTool 11.49 -- 18)Tj
( -- Image::ExifTool 11.50 -- 18)Tj
/TT4 1 Tf
0 -1.6333 TD
( specifically requested \(ie. If extracting all tags\).)Tj
0 -2.2 TD
( G)Tj
1.8 0 TD
(Ge)Tj
0.6 0 TD
(et)Tj
0.6 0 TD
(tV)Tj
0.6 0 TD
(Va)Tj
0.6 0 TD
(al)Tj
0.6 0 TD
(lu)Tj
0.6 0 TD
(ue)Tj
0.6 0 TD
(e)Tj
-6 -1.1 TD
( Get the value of a specified tag. The returned value is either the)Tj
0 -1.1 TD
T*
( human-readable \(PrintConv\) value, the converted machine-readable)Tj
T*
( \(ValueConv\) value, the original raw \(Raw\) value, or the original)Tj
@ -3023,12 +3035,6 @@ T*
( returned in scalar context. The list itself is returned in list)Tj
T*
( context. \(Unless 'Both' values are requested, in which case two)Tj
T*
( list references are returned, regardless of context.\) Values may)Tj
T*
( also be scalar references to binary data, or hash references if the)Tj
T*
( "Struct" option is set.)Tj
ET
endstream
endobj
@ -3046,7 +3052,7 @@ endobj
endobj
62 0 obj
<<
/Length 4277
/Length 4362
>>
stream
BT
@ -3056,9 +3062,15 @@ BT
/GS1 gs
0 Tc
0 Tw
( -- Image::ExifTool 11.49 -- 19)Tj
( -- Image::ExifTool 11.50 -- 19)Tj
/TT4 1 Tf
0 -2.7333 TD
0 -1.6333 TD
( list references are returned, regardless of context.\) Values may)Tj
0 -1.1 TD
( also be scalar references to binary data, or hash references if the)Tj
T*
( "Struct" option is set.)Tj
0 -2.2 TD
( Note: It is possible for "GetValue" to return an undefined)Tj
0 -1.1 TD
( ValueConv or PrintConv value \(or an empty list in list context\))Tj
@ -3182,10 +3194,6 @@ T*
( $exifTool->SetNewValue\('*'\); # delete all...)Tj
T*
( $exifTool->SetNewValue\('EXIF:*', undef, Replace => 2\); # ...but EXIF)Tj
0 -2.2 TD
( # write structured information as a HASH reference)Tj
0 -1.1 TD
( $exifTool->SetNewValue\('XMP:Flash' => {)Tj
ET
endstream
endobj
@ -3203,7 +3211,7 @@ endobj
endobj
65 0 obj
<<
/Length 4531
/Length 4452
>>
stream
BT
@ -3213,11 +3221,15 @@ BT
/GS1 gs
0 Tc
0 Tw
( -- Image::ExifTool 11.49 -- 20)Tj
( -- Image::ExifTool 11.50 -- 20)Tj
/TT4 1 Tf
0 -1.6333 TD
( mode => 'on',)Tj
0 -2.7333 TD
( # write structured information as a HASH reference)Tj
0 -1.1 TD
( $exifTool->SetNewValue\('XMP:Flash' => {)Tj
T*
( mode => 'on',)Tj
T*
( fired => 'true',)Tj
T*
( return => 'not')Tj
@ -3327,12 +3339,6 @@ T*
( Valid values are 0 and 1. Effectively removes the 'c' from the)Tj
T*
( ExifTool WriteMode option for this tag only. Default is 0.)Tj
0 -2.2 TD
( Group)Tj
0 -1.1 TD
( Specifies group name where tag should be written. This option)Tj
T*
( is superseded by any group specified in the tag name. If not)Tj
ET
endstream
endobj
@ -3350,7 +3356,7 @@ endobj
endobj
68 0 obj
<<
/Length 4748
/Length 4824
>>
stream
BT
@ -3360,11 +3366,17 @@ BT
/GS1 gs
0 Tc
0 Tw
( -- Image::ExifTool 11.49 -- 21)Tj
( -- Image::ExifTool 11.50 -- 21)Tj
/TT4 1 Tf
0 -1.6333 TD
( specified, tag is written to highest priority group as)Tj
( Group)Tj
0 -1.1 TD
( Specifies group name where tag should be written. This option)Tj
T*
( is superseded by any group specified in the tag name. If not)Tj
T*
( specified, tag is written to highest priority group as)Tj
T*
( specified by "SetNewGroups". May be one or more family 0, 1 or)Tj
T*
( 2 groups with optional leading family number, separated by)Tj
@ -3520,10 +3532,6 @@ T*
( deleted by specifying it explicitly, either by group \(with)Tj
T*
( 'Adobe:*'\) or as a block \(with 'Adobe'\).)Tj
0 -2.2 TD
( The following ExifTool options are effective in the call to)Tj
0 -1.1 TD
( "SetNewValue":)Tj
ET
endstream
endobj
@ -3541,7 +3549,7 @@ endobj
endobj
72 0 obj
<<
/Length 4128
/Length 4161
>>
stream
BT
@ -3551,9 +3559,13 @@ BT
/GS1 gs
0 Tc
0 Tw
( -- Image::ExifTool 11.49 -- 22)Tj
( -- Image::ExifTool 11.50 -- 22)Tj
/TT4 1 Tf
0 -2.7333 TD
( The following ExifTool options are effective in the call to)Tj
0 -1.1 TD
( "SetNewValue":)Tj
0 -2.2 TD
( Charset, DateFormat, Escape, IgnoreMinorErrors, Lang, ListJoin,)Tj
0 -1.1 TD
( ListSplit, PrintConv, QuickTimeUTC, StrictDate, TimeZone, Verbose and)Tj
@ -3711,10 +3723,6 @@ T*
( $exifTool->SetNewValuesFromFile\($file,)Tj
T*
( 'filename<${model; tr\(/\\\\\\\\?*:|"><\)\(_\) }.jpg'\);)Tj
0 -2.2 TD
( Inputs:)Tj
0 -1.1 TD
( 0\) ExifTool object reference)Tj
ET
endstream
endobj
@ -3732,7 +3740,7 @@ endobj
endobj
75 0 obj
<<
/Length 4969
/Length 4851
>>
stream
BT
@ -3742,11 +3750,15 @@ BT
/GS1 gs
0 Tc
0 Tw
( -- Image::ExifTool 11.49 -- 23)Tj
( -- Image::ExifTool 11.50 -- 23)Tj
/TT4 1 Tf
0 -1.6333 TD
( 1\) File name, file reference, or scalar reference)Tj
( Inputs:)Tj
0 -1.1 TD
( 0\) ExifTool object reference)Tj
0 -2.2 TD
( 1\) File name, file reference, or scalar reference)Tj