Tilman Hausherr created PDFBOX-2153:
---------------------------------------

             Summary: Setting the correct clipping path for shading
                 Key: PDFBOX-2153
                 URL: https://issues.apache.org/jira/browse/PDFBOX-2153
             Project: PDFBox
          Issue Type: Bug
          Components: Rendering
            Reporter: Tilman Hausherr


While doing tests with the file eci_altona-test-suite-v2_technical_H.pdf 
(uncompressed) of PDFBOX-1915 I noticed that by removing a "W" (modifies the 
clipping region) operator of a type 7 shading I got a lot more correct shadings 
(type 6 and lower). It looked like PDFBox had been using the clipping of the 
type 7 when drawing the type 6, which is just a rectangle above in that 
rendering. This resulted in a blank.

By adding 
{code}
graphics.setClip(getGraphicsState().getCurrentClippingPath());
{code}
in PageDrawer.shfill() just before the graphics.fill() I get several files to 
render correctly that I hadn't before.

(Setting null will probably do the same, didn't test that yet).

The following PDFs are rendered correctly with the change:
McAfee-ShadingType7.pdf
eci_altona-test-suite-v2_technical_H.pdf
crestron-p9.pdf  (these three found in PDFBOX-1915)
PDFBOX-1451.pdf ("alfresco")
PDFBOX-1940.pdf ("chart")
PDFBOX-1861-tracemonkey.pdf p.11

Not solved by the change:
PDFBOX-2098-asyTUG.pdf p.6  (this one doesn't use shfill)
PDFBOX-1861-tracemonkey.pdf p.6 (not shading)
PDFBOX-1416.pdf (not shading)
texample-rgb-triangle.pdf (John has an explanation about that one)

WDYT? Is there any reason NOT to set the clipping path in PageDrawer.shFill() ?



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to