[ https://issues.apache.org/jira/browse/PDFBOX-6060?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18018346#comment-18018346 ]
Tilman Hausherr commented on PDFBOX-6060: ----------------------------------------- The new code would require structural changes in DCTFilter. What I am thinking about, and I have not thought this fully, is some static method in Filter to force a specific reader for a specific format when findRasterReader is called. Maybe replace "if (reader.canReadRaster())" with a user provided call that will check for "canReadRaster()" and for a specific class. > Allow use of 12 monkeys in DCTFilter > ------------------------------------ > > Key: PDFBOX-6060 > URL: https://issues.apache.org/jira/browse/PDFBOX-6060 > Project: PDFBox > Issue Type: Bug > Reporter: Simon Steiner > Priority: Major > > DCTFilter calls findRasterReader and returns the first reader, on error it > should try the 2nd reader as JDK cant read all jpegs > {code:java} > protected void findImageReader(String formatName, String errorCause, > InputStream encoded, ImageReaderRunner runner) throws IOException > { > Iterator<ImageReader> readers = > ImageIO.getImageReadersByFormatName(formatName); > ImageInputStream iis = ImageIO.createImageInputStream(encoded); > iis.mark(); > Exception exception = null; > String error = "Cannot read " + formatName + " image: " + errorCause; > try { > while (readers.hasNext()) { > ImageReader reader = readers.next(); > if (reader.canReadRaster()) { > try { > reader.setInput(iis); > runner.run(reader); > return; > } catch (Exception e) { > exception = e; > error = e.getMessage(); > iis.reset(); > } finally { > reader.dispose(); > } > } > } > } finally { > iis.close(); > } > throw new RuntimeException(error, exception); > } > interface ImageReaderRunner { > void run(ImageReader reader) throws IOException; > } > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org For additional commands, e-mail: dev-h...@pdfbox.apache.org