[
https://issues.apache.org/jira/browse/FOP-3022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17385380#comment-17385380
]
Johannes commented on FOP-3022:
-------------------------------
The image URL for the embedded PNG in the above message is invalid, here is a
valid one (having the same issue):
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARgAAAEYCAIAAAAI7H7bAAAMVUlEQVR42u3doXYjSRKFYQMDP4yBQQNBPZCBgaDeq4FBAz+CH0CggUADA0MDj2b27JzdPavWhHyjUqr67mlURy1lVfmvrLgZGXHzSURf1o1LQAQkIiARAYmIgEQEJCIgEQGJiIBEBCQiIBEBiYiARAQkIiARAemfaLfbbbfb9Xp9d3d3Q3RVOvzRrlarzWbz+vo6DKSPj4+np6fb21v3g2agx8fH9/f3qUHa7/cHlF19mpPu7+9//vw5HUiHuQhFNFeWzpuXzgHp8EbnitOM3/GmAGm324mLaN46w3sog7Tdbl1omrc2m007SOv12oWmeWu1WrWDZL2IZq/DH3k7SK4yLUFAIgISEZCIgAQkIiARAYkISKf18PDw/fv3/X5v+xdNqbe3tx8/fnz79m0OIB0o+so2D6Iv6rzNChcH0vPzs3tJY/Xy8nL1IHmjo0t4x7t6kNxFugQBiQhIQCIgAYmABKSadp+79ef65nB+f/1bfa4OR35z/HO3+1yv/3345nO1+vPI0cNHjx8dT/HzR8dTPK+jx6vnVRxP9YSr1wdIE+k/7+7f9/g3x//rNv59M48ePnr86HiKnz86nuJ5HT1ePa/ieKonXL0+QJpq6v/f+/Lnv98c/3+Hb44fPnr8+HWuff7oeIrndfR49byK46mecP16AglIQAISkIAEJDGSGEmMBCSuHdcOSETWkc4fUPlJXJxhYuOpPqJTJxY6gerM0z1jdF+fxYFUjg2KMU9sPNWgIXVioROoxkLdMUz39VkcSGW3qujCxcZTtbFSJxY6gao71+2qdV8fIAEJSEACEpCAJEYSI4mRuHZcO66ddSQi60hTgpR6spYnmGrGQ2iGHPRAr2dmdGdOACkcAoTe9cshTzUHLxSzDQox6rmC3bl8QApP2SH3qWzCVbPCQy7iINOrnm3dnV0OJCABCUhAAhKQxEhiJDESkLh2XDuuHZF1pI4BhR41sSd98w7T1AyQ2snbvWW3e8cxkMIv9bHYo7nmQSomSdWW6C4i0V0DA0hhmynmhjVX4Um5ZKlqR91ljbqrMgEJSEACEpCABCQxkhhJjMS149px7bh2RNaRppyRyk/i1I7O0AwTq2wa+t3yjJfaoZyqzFrNLBEjnch5664xEIp5YrW2Q79bjsFSNTNStcKruY5cuxNZ2N1Vb0IuXKz7Q+h3y65gzCULda+oZt8DCUhAAhKQgAQkMZIYSYzEtePace0W7NoRWUe6fJBiC/qpmTCUSRDLGGie4bvvl459EymWYpaKzUK5bbEctuaYs/t+6SE72VQeSnpOuYWhbOtYVnWzC9p9v3Q1BxKQgAQkIAFJjCRGEiMBiWvHtePaEVlHmhSk4iOo/GQt/mzqkdg9nlRF2PLMPKjirMyG8Mty+V2/+LOpl/Tu8aRqlJdjxUE10OXahe2bsvtU/NmUbdQ9nlTXjLJ7Oagrh+xvIAEJSEACEpDESGIkMRLXjmvHtePaEVlH6hhQaudjKlMh9vnunafNM3AsgaF5xgbSqVAoVHsg9W59cbUQmmPCWEpdcwwJpFPmXKgaTsztubTqPM0uZSzJu9nVBBKQgAQkIAEJSGIkMZIYiWvHtePaAYnIOlLLjBTq3FZ9Qse+p1o5tXnGSP1uSqOuz/JipFAv0WrMEPueai3v5hgm9bspjbo+y3PtQt2tqy5W7Huq3SWaXbXU78ZepQZdHyABCUhAAhKQgCRGEiOJkbh2XDuunbp2RNaROmak8hO0eUdtbGdoKgOjeWdre6ZIKqOi+B8WFyOV3+mbazzEahWkcgKbay205y6mcvyK/2Fxrl3ZZWquOhSrnpPKUm+u/tOeTZ/KOi9nlwMJSEACEpCABCQxkhhJjMS149px7awjEVlH+gcDqs4koUqosR2yqQyMQZVK66kKYzoRmpFODaga24Rqc8dqNqRyAgfVzi5rUG9cMdKpAVXdtlC3iFgVoVSW+qBuDme8Gw3p1s61AxKQgAQkIAFJjCRGEiNx7bh2XDuunXUkso50ySClOtKVO+GlnpTNW1Xbr0/3jK3S6jQgpXqklnuzpt7dm4sntF+f7hhS7e9pQEp17S53C0+5Sc3lfNqvT7erqRsFkIAEJCABCUhiJDGSGAlIXDuuHdfOOhJZR7oAkLp3YlYf3e3jGdTBrpxREZppUx0ZU9dncT1ky+/ioWCifTyDeqqWc/xCsV+qR3Dq+iyuq3nZHQrZW+3jGdTlu5x1HnIjU13rY38/QAISkIAEJCABSYwkRhIjce24dlw760hE1pE6Mhuad5J2d/LrVur6lCuwNle0BVI61665tkF3b9lupa5PuSZ4c411IKWzv5ur7XR3O29/dQldn3KXiuauH0ACEpCABCQgAUmMJEYSIwGJa8e149pZRyLrSJMOKFWhs3tHZ/XJ3ZxJUO7kN6oibGjHbvk+Lg6kVM3o7hoD1ViiObet3Ft2VI3yUA2J8n1cHEipLgbdVW+q7lZztnW52/morhmhqkbl+wgkIAEJSEACEpDESGIkMRLXjmvHtVuwa0dkHakRpGopztQTd1SmQupJ3F1ZNrZlt7fDIpBOxU7dMcCo3LlUbNBd6zxWRKK35y+QTrl53a7UqGzulFvV3X0jVtaotws9kIAEJCABCUhAEiOJkcRIXDuuHdcOSETWkb5UaTWVGXAlO2Rj48kkhLR/T/l8mzsLzrf2dypX7UpqNsTGk0lRbP+e8vk297qdbzeKVPb0lVQRio0nkzTf/j3l8+3uvg4kIAEJSEACEpDESGIkMRLXjmvHtbOORGQd6Qsd+7qfTOVKoqmMhGKGQff3p2bg6oDaOwguLkYK7elP1Wwop5KlesKGgphyTl0oJqwOqL2n7eJcu1CVmVQVoXJyc6pLechWK2d5h1zK6oDau6wDCUhAAhKQgAQkMZIYSYzEtePace2W69oRWUcakdmQ6hgX+t3y57tnztAO4lQHvlE7nZcXI43qYRr63fLnu2O5UE2LVE/YUbU3lufajeqqHfrd8ue73cVQlaVUl/JR1aCABCQgAQlIQAKSGEmMJEbi2nHtuHb6IxFZR+oYUKqyZvlJGZoZYjNPqrNgKiOheSbsrnS7OJBStZ7L7+6hWCUWC6V63aZy5Jpjs+7a64sDKdd9oOgmhdyzmDuX6r6eytpudgu7u4EACUhAAhKQgAQkMZIYSYzEtePace2sIxFZR/pSZkNo52xqpkpVSO1Wd6ZI+YSbMyRkNpwbe4R6m8Z6qla/v1nduYvlE27O2ZNrd64bFuq2HevyXf3+7leX5mz68gk3Z5HL/gYSkIAEJCABSYwkRhIjce24dlw7rh2RdaSWGenCZob2J3royV2eqVIZCalOhIPeRBZX+3tUrNIeY4RiiXLslMqRS/XGHRQbL64bxSj3rN31Crlb9fsVytpOdWsf5tYCCUhAAhKQgAQkMZIYSYzEtePace2sIxFZR2ro2Ff8otSMFFrQ79+x25z5Uf7+6kwb2lErRjp3j35zb9ny+Ku1HFI1JJpzEcvfX439QjUeuHbnVo1p7nZeHn+1ulCqqlFzdnz5+6tuZKjqEJCABCQgAQlIQBIjiZHESFw7rh3XbsGuHZF1pAEglTMhBs0A3RVDUxcuVvG0uTMfkMIglXPzBsUk3TWsUxcuVoO7uVcskMIglbPFB7lk3V0VUhcu1hWiuXs5kIAEJCABCUhAEiOJkcRIQOLace24dtaRyDrSlAOKdZK7sI53qSdrd6e97hm7/PlUxdylgRTrbXphPVhT7/rdvV+7Y8jy51M13JcGUqzb9oV1BU+5T93dyLtdzfLnU11FgAQkIAEJSEACkhhJjCRG4tpx7bh29iMRWUcCEgEJSAQkIBEBiQhIJe33e3eRxurt7e3qQXp+fnYjaaxeXl6uHqSHh4f393f3kkbp4+NjtVpdPUj/YukwL/369ctNpYnf6A5z0RkUXShIRFcnIBEBiQhIREACEhGQiIBEtDiQ7u7uXGWatw5/5O0grddrF5rmrVW9PEAZpO1260LTvLXZbNpB2u12t7e3rjXNWK+vr+0gHfT09ORa01z1+Ph4zn6nydJpiS5f9/f3521WOHMH636/xxLNj6Lduc1kzt8KfpiXDu944iWazRvdVzbOfbWmwoHg7Xa7Xq+tL9HV6fBHe3ix2mw2Z7gLYZCICEhEQCICEhGQiAhIREAiAhIRkIgISERAIgISEZCICEhEQCICEtFy9AdW6blzRo1prgAAAABJRU5ErkJggg==
> Embedded PNG and PNG with relative path: No ImagePreloader found
> ----------------------------------------------------------------
>
> Key: FOP-3022
> URL: https://issues.apache.org/jira/browse/FOP-3022
> Project: FOP
> Issue Type: Bug
> Components: image/png
> Affects Versions: 2.6
> Reporter: Johannes
> Priority: Major
>
> A PDF with an embedded PNG and another PNG with a relative URL does not
> contain either of these images (as it worked before in FOP version 2.3).
> This is the error reported in the debug trace:
> Image not available. URI:
> data:image/png;base64,0000C3E449BA11000000000000000000F33319879C248B7149B918E031DA9E37336F93FA7DE2500F377C435E31F7DCE86730D41D33A8.
> Reason: org.apache.xmlgraphics.image.loader.ImageException: The file format
> is not supported. No ImagePreloader found for
> data:image/png;base64,0000C3E449BA11000000000000000000F33319879C248B7149B918E031DA9E37336F93FA7DE2500F377C435E31F7DCE86730D41D33A8
> (No context info available)
> org.apache.xmlgraphics.image.loader.ImageException: The file format is not
> supported. No ImagePreloader found for
> data:image/png;base64,0000C3E449BA11000000000000000000F33319879C248B7149B918E031DA9E37336F93FA7DE2500F377C435E31F7DCE86730D41D33A8
> Result of debugging (using FOP 2.6 sources):
> * FOUserAgent.resolveURI creates a StreamSource from the PNG. The resource
> URI is correctly resolved (i.e. the StreamSource has an InputStream on the
> PNG) but the method sets an invalid systemId (the base URI of the resource
> resolver, which points to the config file, cfg.xml in our case)
> * AbstractImageSessionContext.newSource (from xmlgraphics-commons-2.6;
> instantiated in the FOUserAgent constructor) uses the fallbackResolver for
> any StreamSource.
> * AbstractImageSessionContext.UnrestrictedFallbackResolver.createSource
> quietly closes the InputStream of the StreamSource and requests the systemId
> from ImageIO instead (code comment: "We let the OS' file system cache do the
> caching for us --> lower Java memory consumption, probably no speed loss")
> Thus it opens a stream on the cfg.xml instead of the image
> * Consequentually, PreloaderRawPNG doesn't feel responsible for the wrong
> PNG because it doesn't start with the PNG signature
> (PNGConstants.PNG_SIGNATURE) - which is caused by reading a completely
> different file than the PNG
> Same behaviour also for another PNG included with a simple relative file URL
> (<fo:external-graphic src="url('subdir/myimage.png')" /> hardcoded in the
> XSL).
> The issue is reproducible as well when running the generation standalone from
> the command line (using -xml, -xsl and -pdf options).
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)