[
https://issues.apache.org/jira/browse/IMAGING-246?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17014377#comment-17014377
]
Liberty Wollerman commented on IMAGING-246:
-------------------------------------------
Thank you [~kinow] I appreciate your speedy response. Also, thanks for
reformatting the description. I noticed that the reformatted code block was
different content than my originally pasted code, so I just updated that in the
description.
> Invalid Block Size error prevents handling of block 1084, Macintosh
> NSPrintInfo
> -------------------------------------------------------------------------------
>
> Key: IMAGING-246
> URL: https://issues.apache.org/jira/browse/IMAGING-246
> Project: Commons Imaging
> Issue Type: Bug
> Components: Format: JPEG
> Affects Versions: 1.0-alpha1
> Reporter: Liberty Wollerman
> Assignee: Bruno P. Kinoshita
> Priority: Major
> Attachments: FallHarvestKitKat_07610.jpg
>
> Time Spent: 40m
> Remaining Estimate: 0h
>
> When processing an image created on a Mac with Adobe Photoshop which contains
> embedded metadata having block 1084, an invalid block size error occurs.
> |0x043C|1084|_(Photoshop CS5)_ Macintosh NSPrintInfo. Variable OS specific
> info for Macintosh. NSPrintInfo. It is recommened that you do not interpret
> or use this data.|
>
> Here is some simple test code that replicates what our application is trying
> to do, and recreates the error:
> {code:java}
> import org.apache.commons.imaging.ImageInfo;
> import org.apache.commons.imaging.ImageReadException;
> import org.apache.commons.imaging.Imaging;
> import org.apache.commons.io.FileUtils;
> import java.io.File;
> import java.io.IOException;
> import java.util.Base64;
> public class Main {
> public static void main(String[] args) throws IOException,
> ImageReadException {
> String fileName = "FallHarvestKitKat_07610.jpg";
> ClassLoader classLoader = ClassLoader.getSystemClassLoader();
> File file = new File(classLoader.getResource(fileName).getFile());
> byte[] fileContent = FileUtils.readFileToByteArray(file);
> String encodedString = Base64.getEncoder().encodeToString(fileContent);
> byte[] decodedValue = Base64.getDecoder().decode(encodedString);
> ImageInfo imageInfo = Imaging.getImageInfo(decodedValue);
> }
> }{code}
>
> Here is the resulting error:
> {noformat}
> Exception in thread "main" org.apache.commons.imaging.ImageReadException:
> Invalid Block Size : 89562 > 65504Exception in thread "main"
> org.apache.commons.imaging.ImageReadException: Invalid Block Size : 89562 >
> 65504 at
>
> org.apache.commons.imaging.formats.jpeg.iptc.IptcParser.parseAllBlocks(IptcParser.java:318)
> at
>
> org.apache.commons.imaging.formats.jpeg.iptc.IptcParser.parsePhotoshopSegment(IptcParser.java:119)
> at
>
> org.apache.commons.imaging.formats.jpeg.iptc.IptcParser.parsePhotoshopSegment(IptcParser.java:112)
> at
>
> org.apache.commons.imaging.formats.jpeg.segments.App13Segment.parsePhotoshopSegment(App13Segment.java:71)
> at
>
> org.apache.commons.imaging.formats.jpeg.JpegImageParser.getPhotoshopMetadata(JpegImageParser.java:599)
> at
>
> org.apache.commons.imaging.formats.jpeg.JpegImageParser.getMetadata(JpegImageParser.java:318)
> at
>
> org.apache.commons.imaging.formats.jpeg.JpegImageParser.getImageInfo(JpegImageParser.java:739)
> at org.apache.commons.imaging.Imaging.getImageInfo(Imaging.java:701) at
> org.apache.commons.imaging.Imaging.getImageInfo(Imaging.java:635) at
> Main.getMetaData(Main.java:22) at Main.main(Main.java:17){noformat}
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)