由于错误的 EXIF 数据,JPEG 照片在插入 Adobe LiveCycle Image Field 时不会显示
Due to wrong EXIF Data JPEG photos will not show when inserted into Adobe LiveCycle Image Field
UPDATE1:问题已确认,因为相机添加了错误的EXIFTool Samsung APP5标签。根据这个网站:http://exif.regex.info/exif.cgi,图像有未知的 App5 段。
如果我删除字节:E5 00 02 FF
,图像将显示。
此外,我意识到如果我使用 http://www.exifpurge.com/ 删除 EXIF 数据,图像将会显示。看来我必须编写 Java 代码才能在插入图像时完全删除 EXIF 数据。
任何其他建议将不胜感激。
更新2:
已找到答案。请务必阅读@Mark 在下面的答案中发表的评论。它有很多有价值的细节。
原问题描述:
检查这张图片:
https://photos.app.goo.gl/fothcLY8MxRwBeED8(上传到Google张照片,好像固定在Google照片)
https://drive.google.com/file/d/1cBjC1ipQqjOGmW4qAXokj5hsxK45QHqM/view?usp=sharing(这是原来的版本,如果你尝试插入它不会显示)
当我尝试将此图像插入 Adobe LiveCycle Image Field 时,它不会显示。如果我检查 XML,我可以看到该图像的 Base64 数据存在,但它没有显示在表单预览中,也没有显示在 Adobe Acrobat 中。
我试着摆弄这张照片,发现如果我使用 Microsoft Photo Manager 压缩它,插入压缩图像文件后它会显示在图像字段中。
知道为什么这个图像没有显示在 Adobe LiveCycle 图像字段中吗?
塔雷克
我不确定你的答案有什么限制,但你可以看到带有 exiftool
的 APP5 标记,如下所示:
exiftool -v House.jpg
输出
ExifToolVersion = 11.11
FileName = House.jpg
Directory = /Users/mark/Desktop
FileSize = 372002
FileModifyDate = 1569258092
FileAccessDate = 1569258821
FileInodeChangeDate = 1569258092
FilePermissions = 33188
FileType = JPEG
FileTypeExtension = JPG
MIMEType = image/jpeg
JPEG APP0 (14 bytes):
+ [BinaryData directory, 9 bytes]
| JFIFVersion = 1 1
| ResolutionUnit = 1
| XResolution = 72
| YResolution = 72
| ThumbnailWidth = 0
| ThumbnailHeight = 0
JPEG APP1 (38248 bytes):
ExifByteOrder = MM
+ [IFD0 directory with 13 entries]
| 0) ImageWidth = 4032
| 1) ImageHeight = 3024
| 2) Make = samsung
| 3) Model = SM-G950W
| 4) Orientation = 1
| 5) XResolution = 72 (72/1)
| 6) YResolution = 72 (72/1)
| 7) ResolutionUnit = 2
| 8) Software = G950WVLS6CSH1
| 9) ModifyDate = 2019:09:11 10:16:15
| 10) YCbCrPositioning = 1
| 11) ExifOffset (SubDirectory) -->
| + [ExifIFD directory with 31 entries]
| | 0) ExposureTime = 0.004237288136 (1/236)
| | 1) FNumber = 1.7 (170/100)
| | 2) ExposureProgram = 2
| | 3) ISO = 50
| | 4) ExifVersion = 0220
| | 5) DateTimeOriginal = 2019:09:11 10:16:15
| | 6) CreateDate = 2019:09:11 10:16:15
| | 7) ComponentsConfiguration = 1 2 3 0
| | 8) ShutterSpeedValue = 7.882 (7882/1000)
| | 9) ApertureValue = 1.53 (153/100)
| | 10) BrightnessValue = 5.23 (523/100)
| | 11) ExposureCompensation = 0 (0/10)
| | 12) MaxApertureValue = 1.53 (153/100)
| | 13) MeteringMode = 2
| | 14) LightSource = 0
| | 15) Flash = 1
| | 16) FocalLength = 4.25 (425/100)
| | 17) MakerNoteUnknown (SubDirectory) -->
| | + [MakerNotes directory with 7 entries]
| | | 0) Unknown_0x0001 = 0100
| | | 1) Unknown_0x0002 = 73728
| | | 2) Unknown_0x000c = 0
| | | 3) Unknown_0x0010 = undef (0/0)
| | | 4) Unknown_0x0040 = 0
| | | 5) Unknown_0x0050 = 1
| | | 6) Unknown_0x0100 = 0
| | 18) UserComment = UNICODE.
| | 19) FlashpixVersion = 0100
| | 20) ExifImageWidth = 4032
| | 21) ExifImageHeight = 3024
| | 22) InteropOffset (SubDirectory) -->
| | + [InteropIFD directory with 1 entries]
| | | 0) InteropVersion = 0100
| | 23) SensingMethod = 2
| | 24) SceneType = 1
| | 25) ExposureMode = 0
| | 26) WhiteBalance = 0
| | 27) FocalLengthIn35mmFormat = 26
| | 28) SceneCaptureType = 0
| | 29) ImageUniqueID = F12QSJA00SM F12QSKB01SB
| | 30) OffsetSchema = 0
| 12) GPSInfo (SubDirectory) -->
| + [GPS directory with 9 entries]
| | 0) GPSVersionID = 2 2 0 0
| | 1) GPSLatitudeRef = N
| | 2) GPSLatitude = 0 0 0 (0/1 0/1 0/10000)
| | 3) GPSLongitudeRef = E
| | 4) GPSLongitude = 0 0 0 (0/1 0/1 0/10000)
| | 5) GPSAltitudeRef = 0
| | 6) GPSAltitude = 0 (0/1000)
| | 7) GPSTimeStamp = 14 16 15 (14/1 16/1 15/1)
| | 8) GPSDateStamp = 2019:09:11
+ [IFD1 directory with 9 entries]
| 0) ImageWidth = 504
| 1) ImageHeight = 376
| 2) Compression = 6
| 3) Orientation = 1
| 4) XResolution = 72 (72/1)
| 5) YResolution = 72 (72/1)
| 6) ResolutionUnit = 2
| 7) ThumbnailOffset = 1212
| 8) ThumbnailLength = 37030
JPEG APP5 (0 bytes): <--- HERE'S THAT BAD BOY !!!!
JPEG APP2 (3158 bytes):
ICC_Profile chunk 1 of 1
+ [ICC_Profile directory with 17 entries, 3144 bytes]
| ProfileHeader (SubDirectory) -->
| + [BinaryData directory, 128 bytes]
| | ProfileCMMType = Lino
| | ProfileVersion = 528
| | ProfileClass = mntr
| | ColorSpaceData = RGB
| | ProfileConnectionSpace = XYZ
| | ProfileDateTime = 1998 2 9 6 49 0
| | ProfileFileSignature = acsp
| | PrimaryPlatform = MSFT
| | CMMFlags = 0
| | DeviceManufacturer = IEC
| | DeviceModel = sRGB
| | DeviceAttributes = 0 0
| | RenderingIntent = 0
| | ConnectionSpaceIlluminant = 0.9642 1 0.82491
| | ProfileCreator = HP
| | ProfileID = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
| 0) ProfileCopyright = Copyright (c) 1998 Hewlett-Packard Company
| 1) ProfileDescription = sRGB IEC61966-2.1
| 2) MediaWhitePoint = 0.95045 1 1.08905
| 3) MediaBlackPoint = 0 0 0
| 4) RedMatrixColumn = 0.43607 0.22249 0.01392
| 5) GreenMatrixColumn = 0.38515 0.71687 0.09708
| 6) BlueMatrixColumn = 0.14307 0.06061 0.7141
| 7) DeviceMfgDesc = IEC http://www.iec.ch
| 8) DeviceModelDesc = IEC 61966-2.1 Default RGB colour space - sRGB
| 9) ViewingCondDesc = Reference Viewing Condition in IEC61966-2.1
| 10) ViewingConditions (SubDirectory) -->
| + [BinaryData directory, 36 bytes]
| | ViewingCondIlluminant = 19.6445 20.3718 16.8089
| | ViewingCondSurround = 3.92889 4.07439 3.36179
| | ViewingCondIlluminantType = 1
| 11) Luminance = 76.03647 80 87.12462
| 12) Measurement (SubDirectory) -->
| + [BinaryData directory, 36 bytes]
| | MeasurementObserver = 1
| | MeasurementBacking = 0 0 0
| | MeasurementGeometry = 0
| | MeasurementFlare = 0.00999
| | MeasurementIlluminant = 2
| 13) Technology = CRT
| 14) RedTRC = curv.......#(-27;@EJOTY^chmrw|......................................%.[snip]
| 15) GreenTRC = curv.......#(-27;@EJOTY^chmrw|......................................[snip]
| 16) BlueTRC = curv.......#(-27;@EJOTY^chmrw|......................................%[snip]
JPEG DQT (65 bytes):
JPEG DQT (65 bytes):
JPEG SOF0 (15 bytes):
ImageWidth = 1024
ImageHeight = 768
EncodingProcess = 0
BitsPerSample = 8
ColorComponents = 3
JPEG DHT (29 bytes):
JPEG DHT (179 bytes):
JPEG DHT (29 bytes):
JPEG DHT (179 bytes):
JPEG SOS
您可以像这样使用 exifTool
删除它:
exiftool -APP5:all= YourImage.jpg
UPDATE1:问题已确认,因为相机添加了错误的EXIFTool Samsung APP5标签。根据这个网站:http://exif.regex.info/exif.cgi,图像有未知的 App5 段。
如果我删除字节:E5 00 02 FF
,图像将显示。
此外,我意识到如果我使用 http://www.exifpurge.com/ 删除 EXIF 数据,图像将会显示。看来我必须编写 Java 代码才能在插入图像时完全删除 EXIF 数据。
任何其他建议将不胜感激。
更新2: 已找到答案。请务必阅读@Mark 在下面的答案中发表的评论。它有很多有价值的细节。
原问题描述:
检查这张图片:
https://photos.app.goo.gl/fothcLY8MxRwBeED8(上传到Google张照片,好像固定在Google照片)
https://drive.google.com/file/d/1cBjC1ipQqjOGmW4qAXokj5hsxK45QHqM/view?usp=sharing(这是原来的版本,如果你尝试插入它不会显示)
当我尝试将此图像插入 Adobe LiveCycle Image Field 时,它不会显示。如果我检查 XML,我可以看到该图像的 Base64 数据存在,但它没有显示在表单预览中,也没有显示在 Adobe Acrobat 中。
我试着摆弄这张照片,发现如果我使用 Microsoft Photo Manager 压缩它,插入压缩图像文件后它会显示在图像字段中。
知道为什么这个图像没有显示在 Adobe LiveCycle 图像字段中吗?
塔雷克
我不确定你的答案有什么限制,但你可以看到带有 exiftool
的 APP5 标记,如下所示:
exiftool -v House.jpg
输出
ExifToolVersion = 11.11
FileName = House.jpg
Directory = /Users/mark/Desktop
FileSize = 372002
FileModifyDate = 1569258092
FileAccessDate = 1569258821
FileInodeChangeDate = 1569258092
FilePermissions = 33188
FileType = JPEG
FileTypeExtension = JPG
MIMEType = image/jpeg
JPEG APP0 (14 bytes):
+ [BinaryData directory, 9 bytes]
| JFIFVersion = 1 1
| ResolutionUnit = 1
| XResolution = 72
| YResolution = 72
| ThumbnailWidth = 0
| ThumbnailHeight = 0
JPEG APP1 (38248 bytes):
ExifByteOrder = MM
+ [IFD0 directory with 13 entries]
| 0) ImageWidth = 4032
| 1) ImageHeight = 3024
| 2) Make = samsung
| 3) Model = SM-G950W
| 4) Orientation = 1
| 5) XResolution = 72 (72/1)
| 6) YResolution = 72 (72/1)
| 7) ResolutionUnit = 2
| 8) Software = G950WVLS6CSH1
| 9) ModifyDate = 2019:09:11 10:16:15
| 10) YCbCrPositioning = 1
| 11) ExifOffset (SubDirectory) -->
| + [ExifIFD directory with 31 entries]
| | 0) ExposureTime = 0.004237288136 (1/236)
| | 1) FNumber = 1.7 (170/100)
| | 2) ExposureProgram = 2
| | 3) ISO = 50
| | 4) ExifVersion = 0220
| | 5) DateTimeOriginal = 2019:09:11 10:16:15
| | 6) CreateDate = 2019:09:11 10:16:15
| | 7) ComponentsConfiguration = 1 2 3 0
| | 8) ShutterSpeedValue = 7.882 (7882/1000)
| | 9) ApertureValue = 1.53 (153/100)
| | 10) BrightnessValue = 5.23 (523/100)
| | 11) ExposureCompensation = 0 (0/10)
| | 12) MaxApertureValue = 1.53 (153/100)
| | 13) MeteringMode = 2
| | 14) LightSource = 0
| | 15) Flash = 1
| | 16) FocalLength = 4.25 (425/100)
| | 17) MakerNoteUnknown (SubDirectory) -->
| | + [MakerNotes directory with 7 entries]
| | | 0) Unknown_0x0001 = 0100
| | | 1) Unknown_0x0002 = 73728
| | | 2) Unknown_0x000c = 0
| | | 3) Unknown_0x0010 = undef (0/0)
| | | 4) Unknown_0x0040 = 0
| | | 5) Unknown_0x0050 = 1
| | | 6) Unknown_0x0100 = 0
| | 18) UserComment = UNICODE.
| | 19) FlashpixVersion = 0100
| | 20) ExifImageWidth = 4032
| | 21) ExifImageHeight = 3024
| | 22) InteropOffset (SubDirectory) -->
| | + [InteropIFD directory with 1 entries]
| | | 0) InteropVersion = 0100
| | 23) SensingMethod = 2
| | 24) SceneType = 1
| | 25) ExposureMode = 0
| | 26) WhiteBalance = 0
| | 27) FocalLengthIn35mmFormat = 26
| | 28) SceneCaptureType = 0
| | 29) ImageUniqueID = F12QSJA00SM F12QSKB01SB
| | 30) OffsetSchema = 0
| 12) GPSInfo (SubDirectory) -->
| + [GPS directory with 9 entries]
| | 0) GPSVersionID = 2 2 0 0
| | 1) GPSLatitudeRef = N
| | 2) GPSLatitude = 0 0 0 (0/1 0/1 0/10000)
| | 3) GPSLongitudeRef = E
| | 4) GPSLongitude = 0 0 0 (0/1 0/1 0/10000)
| | 5) GPSAltitudeRef = 0
| | 6) GPSAltitude = 0 (0/1000)
| | 7) GPSTimeStamp = 14 16 15 (14/1 16/1 15/1)
| | 8) GPSDateStamp = 2019:09:11
+ [IFD1 directory with 9 entries]
| 0) ImageWidth = 504
| 1) ImageHeight = 376
| 2) Compression = 6
| 3) Orientation = 1
| 4) XResolution = 72 (72/1)
| 5) YResolution = 72 (72/1)
| 6) ResolutionUnit = 2
| 7) ThumbnailOffset = 1212
| 8) ThumbnailLength = 37030
JPEG APP5 (0 bytes): <--- HERE'S THAT BAD BOY !!!!
JPEG APP2 (3158 bytes):
ICC_Profile chunk 1 of 1
+ [ICC_Profile directory with 17 entries, 3144 bytes]
| ProfileHeader (SubDirectory) -->
| + [BinaryData directory, 128 bytes]
| | ProfileCMMType = Lino
| | ProfileVersion = 528
| | ProfileClass = mntr
| | ColorSpaceData = RGB
| | ProfileConnectionSpace = XYZ
| | ProfileDateTime = 1998 2 9 6 49 0
| | ProfileFileSignature = acsp
| | PrimaryPlatform = MSFT
| | CMMFlags = 0
| | DeviceManufacturer = IEC
| | DeviceModel = sRGB
| | DeviceAttributes = 0 0
| | RenderingIntent = 0
| | ConnectionSpaceIlluminant = 0.9642 1 0.82491
| | ProfileCreator = HP
| | ProfileID = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
| 0) ProfileCopyright = Copyright (c) 1998 Hewlett-Packard Company
| 1) ProfileDescription = sRGB IEC61966-2.1
| 2) MediaWhitePoint = 0.95045 1 1.08905
| 3) MediaBlackPoint = 0 0 0
| 4) RedMatrixColumn = 0.43607 0.22249 0.01392
| 5) GreenMatrixColumn = 0.38515 0.71687 0.09708
| 6) BlueMatrixColumn = 0.14307 0.06061 0.7141
| 7) DeviceMfgDesc = IEC http://www.iec.ch
| 8) DeviceModelDesc = IEC 61966-2.1 Default RGB colour space - sRGB
| 9) ViewingCondDesc = Reference Viewing Condition in IEC61966-2.1
| 10) ViewingConditions (SubDirectory) -->
| + [BinaryData directory, 36 bytes]
| | ViewingCondIlluminant = 19.6445 20.3718 16.8089
| | ViewingCondSurround = 3.92889 4.07439 3.36179
| | ViewingCondIlluminantType = 1
| 11) Luminance = 76.03647 80 87.12462
| 12) Measurement (SubDirectory) -->
| + [BinaryData directory, 36 bytes]
| | MeasurementObserver = 1
| | MeasurementBacking = 0 0 0
| | MeasurementGeometry = 0
| | MeasurementFlare = 0.00999
| | MeasurementIlluminant = 2
| 13) Technology = CRT
| 14) RedTRC = curv.......#(-27;@EJOTY^chmrw|......................................%.[snip]
| 15) GreenTRC = curv.......#(-27;@EJOTY^chmrw|......................................[snip]
| 16) BlueTRC = curv.......#(-27;@EJOTY^chmrw|......................................%[snip]
JPEG DQT (65 bytes):
JPEG DQT (65 bytes):
JPEG SOF0 (15 bytes):
ImageWidth = 1024
ImageHeight = 768
EncodingProcess = 0
BitsPerSample = 8
ColorComponents = 3
JPEG DHT (29 bytes):
JPEG DHT (179 bytes):
JPEG DHT (29 bytes):
JPEG DHT (179 bytes):
JPEG SOS
您可以像这样使用 exifTool
删除它:
exiftool -APP5:all= YourImage.jpg