Jedrzej Majko created PDFBOX-3400:
-------------------------------------

             Summary: Gradient/Shading color alpha stepping do not work 
correctly
                 Key: PDFBOX-3400
                 URL: https://issues.apache.org/jira/browse/PDFBOX-3400
             Project: PDFBox
          Issue Type: Bug
          Components: Parsing
    Affects Versions: 2.0.2, 1.8.12
         Environment: Mac OS X, Maven repos
            Reporter: Jedrzej Majko


Gradient created in illustrator with stepping to color with opacity do not 
render properly in PDFBox. 
Rectangle below sh added to test proper rendering.

PDF (v 1.5, Adobe Illustrator CS5.1):
http://u2.home.pl/gradients2.pdf

Correct rendering (using pdf.js):
http://u2.home.pl/correctrender.png

PDFBox rendering (using PdfRenderer.renderImageWithDPI):
http://u2.home.pl/pdfboxresult.png 

What I noticed is that pdf.js have two sh operands during parsing, when PDFBox 
returns one via PDFGraphicsStreamEngine.

Tested on 2.0.2 and 1.8.12.


Code used to generate pdfboxresult.png:
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.ImageType;
import org.apache.pdfbox.rendering.PDFRenderer;
import org.apache.pdfbox.tools.imageio.ImageIOUtil;
import java.awt.image.BufferedImage;
import java.io.*;

public class Test {
    public static void main(String[] args) throws IOException {
        PDDocument document = PDDocument.load(new File("gradients2.pdf"));
        PDFRenderer pdfRenderer = new PDFRenderer(document);
        for (int page = 0; page < document.getNumberOfPages(); ++page)
        {
            BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 300, 
ImageType.ARGB);
            ImageIOUtil.writeImage(bim, "pdfboxresult.png", 300);
            break;
        }
        document.close();
    }
}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to