imagephotoexifexiftoollivecycle-designer

Due to wrong EXIF Data JPEG photos will not show when inserted into Adobe LiveCycle Image Field


UPDATE1: The problem is confirmed because the camera is adding wrong EXIFTool Samsung APP5 tag. According to this website: http://exif.regex.info/exif.cgi, the image has unknown App5 segment.

enter image description here

If I delete the bytes: E5 00 02 FF, the image will show.

enter image description here

Also, I realized that if I remove EXIF Data using http://www.exifpurge.com/, the image will show. Looks like I will have to write Java code to remove EXIF Data completely upon inserting the image.

Any other suggestions will be appreciated.

UPDATE2: Answer found. Make sure to read the comments by @Mark in the answer below. It has a lot of valuable details.


Original Problem Description:

Check this image:

https://photos.app.goo.gl/fothcLY8MxRwBeED8 (uploaded to Google Photos, it it seems it is fixed in Google Photos)

https://drive.google.com/file/d/1cBjC1ipQqjOGmW4qAXokj5hsxK45QHqM/view?usp=sharing (this is the original version, if you try to insert this it will not show)

When I try to insert this image into Adobe LiveCycle Image Field, it will not show. If I check XML, I can see the Base64 data of this image is there but it is not showing in the form preview nor in Adobe Acrobat.

I tried to play around with this photo, and found out that if I compress it using Microsoft Photo Manager, it will show in the image field after I insert the compressed image file.

Any idea why this image is not showing in Adobe LiveCycle image field?

Tarek


Solution

  • I am not sure what the constraints are for your answer, but you can see the APP5 marker with exiftool like this:

    exiftool -v House.jpg 
    

    Output

      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
    

    And you can remove it with exifTool like this:

    exiftool -APP5:all= YourImage.jpg