[
https://issues.apache.org/jira/browse/PDFBOX-5787?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17827943#comment-17827943
]
Tilman Hausherr edited comment on PDFBOX-5787 at 3/18/24 12:15 PM:
-------------------------------------------------------------------
{code:java}
public class PDFBOX5787
{
static final RenderingHints renderingHints;
static
{
renderingHints = new RenderingHints(null);
renderingHints.put(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BICUBIC);
renderingHints.put(RenderingHints.KEY_RENDERING,
RenderingHints.VALUE_RENDER_QUALITY);
renderingHints.put(RenderingHints.KEY_COLOR_RENDERING,
RenderingHints.VALUE_COLOR_RENDER_QUALITY);
}
public static void main(String[] args) throws FileNotFoundException,
IOException
{
ColorConvertOp colorConvertOp = new ColorConvertOp(new ICC_Profile[0],
renderingHints);
URL url = new
URL("https://issues.apache.org/jira/secure/attachment/13067493/CGATS001Compat-v2-micro.icc");
ICC_Profile iccProfile = ICC_Profile.getInstance(url.openStream());
ICC_ColorSpace icc_ColorSpace = new ICC_ColorSpace(iccProfile);
WritableRaster raster =
Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, 1, 1,
4, new Point(0, 0));
ColorModel colorModel = new ComponentColorModel(icc_ColorSpace,
false, false, Transparency.OPAQUE,
raster.getDataBuffer().getDataType());
BufferedImage src = new BufferedImage(colorModel, raster, false, null);
BufferedImage dest = new BufferedImage(raster.getWidth(),
raster.getHeight(),
BufferedImage.TYPE_INT_RGB);
colorConvertOp.filter(src, dest);
}
}
{code}
was (Author: tilman):
{code:java}
public class PDFBOX5787
{
static final RenderingHints renderingHints;
static
{
renderingHints = new RenderingHints(null);
renderingHints.put(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BICUBIC);
renderingHints.put(RenderingHints.KEY_RENDERING,
RenderingHints.VALUE_RENDER_QUALITY);
renderingHints.put(RenderingHints.KEY_COLOR_RENDERING,
RenderingHints.VALUE_COLOR_RENDER_QUALITY);
}
public static void main(String[] args) throws FileNotFoundException,
IOException
{
ColorConvertOp colorConvertOp = new ColorConvertOp(new ICC_Profile[0],
renderingHints);
ICC_Profile iccProfile = ICC_Profile.getInstance(new
FileInputStream("...../CGATS001Compat-v2-micro.icc"));
ICC_ColorSpace icc_ColorSpace = new ICC_ColorSpace(iccProfile);
WritableRaster raster =
Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, 1, 1,
4, new Point(0, 0));
ColorModel colorModel = new ComponentColorModel(icc_ColorSpace,
false, false, Transparency.OPAQUE,
raster.getDataBuffer().getDataType());
BufferedImage src = new BufferedImage(colorModel, raster, false, null);
BufferedImage dest = new BufferedImage(raster.getWidth(),
raster.getHeight(),
BufferedImage.TYPE_INT_RGB);
colorConvertOp.filter(src, dest);
}
}
{code}
> LCMS error 13: Mismatched alpha channels
> ----------------------------------------
>
> Key: PDFBOX-5787
> URL: https://issues.apache.org/jira/browse/PDFBOX-5787
> Project: PDFBox
> Issue Type: Bug
> Components: Rendering
> Affects Versions: 3.0.2 PDFBox
> Reporter: Niklas
> Priority: Major
> Attachments: CGATS001Compat-v2-micro.icc
>
>
> Using Kotlin to load the first page and trying to render it as an
> `BufferedImage`:
> ```kotlin
> val pdf = Loader.loadPDF(file)
> val preview = PDFRenderer(pdf).renderImage(0, 1.0f)
> ```
> with a PDF, I'm running into:
> ```
> Exception in thread "main" java.awt.color.CMMException: LCMS error 13:
> Mismatched alpha channels
> at java.desktop/sun.java2d.cmm.lcms.LCMS.createNativeTransform(Native
> Method)
> at java.desktop/sun.java2d.cmm.lcms.LCMS.createTransform(LCMS.java:113)
> at
> java.desktop/sun.java2d.cmm.lcms.LCMSTransform.doTransform(LCMSTransform.java:114)
> at
> java.desktop/sun.java2d.cmm.lcms.LCMSTransform.colorConvert(LCMSTransform.java:149)
> at
> java.desktop/java.awt.image.ColorConvertOp.ICCBIFilter(ColorConvertOp.java:350)
> at
> java.desktop/java.awt.image.ColorConvertOp.filter(ColorConvertOp.java:277)
> at
> org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace.toRGBImageAWT(PDColorSpace.java:375)
> at
> org.apache.pdfbox.pdmodel.graphics.color.PDDeviceCMYK.toRGBImageAWT(PDDeviceCMYK.java:212)
> at
> org.apache.pdfbox.pdmodel.graphics.color.PDDeviceCMYK.toRGBImage(PDDeviceCMYK.java:159)
> at
> org.apache.pdfbox.pdmodel.graphics.image.SampledImageReader.from8bit(SampledImageReader.java:506)
> at
> org.apache.pdfbox.pdmodel.graphics.image.SampledImageReader.getRGBImage(SampledImageReader.java:217)
> at
> org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject.getImage(PDImageXObject.java:477)
> at
> org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject.getImage(PDImageXObject.java:438)
> at org.apache.pdfbox.rendering.PageDrawer.drawImage(PageDrawer.java:1106)
> at
> org.apache.pdfbox.contentstream.operator.graphics.DrawObject.process(DrawObject.java:74)
> at
> org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:893)
> at
> org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:531)
> at
> org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:506)
> at
> org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:153)
> at org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:286)
> at
> org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:330)
> at
> org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:247)
> at
> org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:207)
> ```
> Would it be possible to somehow privately share the PDF? It's slightly
> sensitive as it is from a customer of mine and I would not want to share it
> publicly.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]