Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 2.0.0
    • Fix Version/s: 3.0.0
    • Component/s: Rendering
    • Labels:

      Description

      This is a follow-up issue for transparency group issues from PDFBOX-2423. More details to come.

      1. 007087-payment-due-p58_reduced2.pdf
        203 kB
        Tilman Hausherr
      2. blendmodes.pdf
        49 kB
        Tilman Hausherr
      3. BlendModes-rgb.pdf
        8 kB
        Tilman Hausherr
      4. circle-simple.pdf
        19 kB
        Jon Wu
      5. ds-firewall-enterprise-p1_reduced.pdf
        145 kB
        Tilman Hausherr
      6. gs-bugzilla689309-reduced.pdf
        58 kB
        Tilman Hausherr
      7. gs-bugzilla689309-reduced-bc0.pdf
        58 kB
        Tilman Hausherr
      8. gs-bugzilla689309-reduced-bc1.pdf
        58 kB
        Tilman Hausherr
      9. gs-bugzilla689931_reduced-Multiply.pdf
        5 kB
        Tilman Hausherr
      10. gs-bugzilla689931_reduced-Screen.pdf
        5 kB
        Tilman Hausherr
      11. gs-bugzilla689931_reduced-ScreenBlendPageBackground.pdf
        5 kB
        Tilman Hausherr
      12. gs-bugzilla690022_reduced.pdf
        5 kB
        Tilman Hausherr
      13. gs-bugzilla690022-reduced-rotations.pdf
        6 kB
        Tilman Hausherr
      14. gs-bugzilla690022-reduced-rotations-cropbox.pdf
        6 kB
        Tilman Hausherr
      15. gs-bugzilla691157_mod_unc.pdf
        319 kB
        Tilman Hausherr
      16. gs-bugzilla691157_mod_unc.png
        25 kB
        Tilman Hausherr
      17. gs-bugzilla691157.pdf
        319 kB
        Tilman Hausherr
      18. gs-bugzilla691348.pdf
        91 kB
        Tilman Hausherr
      19. gs-bugzilla691650-2.pdf
        8 kB
        Tilman Hausherr
      20. gs-bugzilla692217_reduced.pdf
        6 kB
        Tilman Hausherr
      21. gs-bugzilla693322_reduced.pdf
        6 kB
        Tilman Hausherr
      22. gs-bugzilla694556-3.pdf
        876 kB
        Tilman Hausherr
      23. gs-bugzilla695354.pdf
        363 kB
        Tilman Hausherr
      24. gs-bugzilla695582-transparency-fill-stroke.pdf
        6 kB
        Tilman Hausherr
      25. gs-bugzilla695582-transparency-fill-stroke.pdf-1.png
        123 kB
        Tilman Hausherr
      26. PDFBOX-1697-reduced-rotations.pdf
        46 kB
        Tilman Hausherr
      27. PDFBOX-2182_mod.pdf
        6 kB
        Tilman Hausherr
      28. PDFBox3359PanelTestEnhanced.java
        3 kB
        Tilman Hausherr
      29. PDFBOX-3400-RGB.pdf
        178 kB
        Tilman Hausherr
      30. PDFBOX-3494_reduced_cropX.pdf
        111 kB
        Tilman Hausherr
      31. PDFBOX-3494_reduced.pdf
        506 kB
        Tilman Hausherr
      32. PDFBOX-3564-Mask.pdf
        15 kB
        Tilman Hausherr
      33. PDFJS-2845-p1.pdf
        651 kB
        Tilman Hausherr
      34. PDFJS-5526-p13_reduced1.pdf
        6 kB
        Tilman Hausherr
      35. PDFJS-5526-p13_reduced2.pdf
        6 kB
        Tilman Hausherr
      36. PDFJS-5526-p13_reduced3-nogroup.pdf
        6 kB
        Tilman Hausherr
      37. PDFJS-5811-2.pdf
        2.36 MB
        Tilman Hausherr
      38. PDFJS-5811-2-p3_reduced.pdf
        132 kB
        Tilman Hausherr
      39. PDFJS-5811-2-p3_reduced4.pdf
        5 kB
        Tilman Hausherr
      40. PDFJS-5811-2-p4_reduced-rotations.pdf
        15 kB
        Tilman Hausherr
      41. PDFJS-5853_reduced.pdf
        52 kB
        Tilman Hausherr
      42. PDFJS-6967_reduced_outside_softmask.pdf
        1.53 MB
        Tilman Hausherr
      43. samsung_galaxy_s_4_um-p1_reduced.pdf
        7 kB
        Tilman Hausherr
      44. snowman-nose-gradient.pdf
        45 kB
        Jon Wu
      45. snowman-nose-gradient-rgb_reduced-0.6-bad2.pdf
        14 kB
        Tilman Hausherr
      46. snowman-nose-gradient-rgb_reduced-0.7-good2.pdf
        14 kB
        Tilman Hausherr
      47. snowman-nose-gradient-rgb.pdf
        18 kB
        Jon Wu
      48. snowman-nose-gradient-screenshot-comparison-11.12.2016.jpg
        69 kB
        Tilman Hausherr
      49. snowmen-opacity-clipping-masks.pdf
        79 kB
        Jon Wu
      50. snowmen-opacity-clipping-masks-2.0.3.png
        21 kB
        Jon Wu
      51. snowmen-opacity-clipping-masks-2.1.0-SNAPSHOT-2016-12-07.png
        26 kB
        Jon Wu
      52. snowmen-opacity-clipping-masks-2.1-SNAPSHOT-10.12.2016.png
        60 kB
        Tilman Hausherr
      53. snowmen-opacity-clipping-masks-adobe-illustrator.png
        95 kB
        Jon Wu
      54. SoftMask.pdf
        5 kB
        Tilman Hausherr
      55. SoftMask-Clipped.pdf
        6 kB
        Tilman Hausherr
      56. softmask-rewrite.patch
        24 kB
        Ben McCann
      57. softmask-rewrite-alt1.patch
        22 kB
        Petr Slaby

        Issue Links

          Activity

          Hide
          chengas123 Ben McCann added a comment -

          This is John Hewson's patch to rewrite softmask handling from https://issues.apache.org/jira/browse/PDFBOX-2423. It takes the approach of rewriting softmask which was originally contributed by external contributor and not well understood by all pdfbox contributors. This patch makes some things better and some worse as discussed on https://issues.apache.org/jira/browse/PDFBOX-2423, so it's a wash in terms of making things better overall, but there's a possibility that some people may find this approach to be a better high level approach to start from in fixing the remaining issues.

          Show
          chengas123 Ben McCann added a comment - This is John Hewson 's patch to rewrite softmask handling from https://issues.apache.org/jira/browse/PDFBOX-2423 . It takes the approach of rewriting softmask which was originally contributed by external contributor and not well understood by all pdfbox contributors. This patch makes some things better and some worse as discussed on https://issues.apache.org/jira/browse/PDFBOX-2423 , so it's a wash in terms of making things better overall, but there's a possibility that some people may find this approach to be a better high level approach to start from in fixing the remaining issues.
          Hide
          pslabycz Petr Slaby added a comment -

          Being the original author of the transparency groups contribution in PDFBOX-2104, I have tried to look into this again. The good news is that the file attached to PDFBOX-2104 renders fine with the patch from John. It might be correct for the first time ever, the image shadow on the first page is missing in all the 2.0 reference renderings I have in my repository since December 2014. Unfortunately, I have no older renderings, so I cannot tell whether we got it wrong already at the beginning or whether it got broken later. We have this working correctly in our source code based on PDFBox 1.7, but it seems to be too hard for me to figure out what exactly needs to be done to successfully port our implementation to PDFBox 2.0.

          The only thing I do not like about John's patch is that it creates a full page bitmap to render the transparency group. I have tried to bring back the original idea of creating a bitmap according to the intersection of the bleeding box of the group and of the current clip path. After some trials, I get the same results as John on my test documents using the attached patch. Maybe someone with more insight into all the transforms can use it as a starting point to get this right.

          Show
          pslabycz Petr Slaby added a comment - Being the original author of the transparency groups contribution in PDFBOX-2104 , I have tried to look into this again. The good news is that the file attached to PDFBOX-2104 renders fine with the patch from John. It might be correct for the first time ever, the image shadow on the first page is missing in all the 2.0 reference renderings I have in my repository since December 2014. Unfortunately, I have no older renderings, so I cannot tell whether we got it wrong already at the beginning or whether it got broken later. We have this working correctly in our source code based on PDFBox 1.7, but it seems to be too hard for me to figure out what exactly needs to be done to successfully port our implementation to PDFBox 2.0. The only thing I do not like about John's patch is that it creates a full page bitmap to render the transparency group. I have tried to bring back the original idea of creating a bitmap according to the intersection of the bleeding box of the group and of the current clip path. After some trials, I get the same results as John on my test documents using the attached patch. Maybe someone with more insight into all the transforms can use it as a starting point to get this right.
          Hide
          tilman Tilman Hausherr added a comment - - edited

          It got broken later: yours did work with that file until rev 1633472. But other files were not rendered correctly by your initial change, and are rendered correctly now, so this is really tricky.

          The list of problem files can be found in PDFBOX-2423, search for "Here's the result of the tests".

          update: also PDFBOX-3182.

          Show
          tilman Tilman Hausherr added a comment - - edited It got broken later: yours did work with that file until rev 1633472. But other files were not rendered correctly by your initial change, and are rendered correctly now, so this is really tricky. The list of problem files can be found in PDFBOX-2423 , search for "Here's the result of the tests". update: also PDFBOX-3182 .
          Hide
          jahewson John Hewson added a comment -

          The only thing I do not like about John's patch is that it creates a full page bitmap to render the transparency group.

          I agree. It was a last-ditch attempt to simplify the transforms used for rendering.

          Show
          jahewson John Hewson added a comment - The only thing I do not like about John's patch is that it creates a full page bitmap to render the transparency group. I agree. It was a last-ditch attempt to simplify the transforms used for rendering.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1758974 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1758974 ]

          PDFBOX-3000: add no parameter constructor

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1758974 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1758974 ] PDFBOX-3000 : add no parameter constructor
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1758975 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1758975 ]

          PDFBOX-3000: add no parameter constructor

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1758975 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1758975 ] PDFBOX-3000 : add no parameter constructor
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1762519 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1762519 ]

          PDFBOX-3000: consider page rotation, cropbox, initial translation; use Matrix class to get correct scales even for rotated affine transforms

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1762519 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1762519 ] PDFBOX-3000 : consider page rotation, cropbox, initial translation; use Matrix class to get correct scales even for rotated affine transforms
          Hide
          tilman Tilman Hausherr added a comment - - edited

          A difficulty with this issue is that there are many problems, and the files very complex (several levels)... I found one file, PDFBOX-1697, which has a transparency group but no softmask.

          There were several problems:

          • page rotation ignored
          • cropbox ignored
          • getScaleX() and getScaleY() used on rotated AffineTransform
          • translation used when only scale was needed
          • initial translation ignored, brings weird effects when JPanel is resized (could also be seen when resizing old PDFReader application)

          The form was drawn badly, and the result was put at the wrong position.

          What helped find the bug:

          • creating a huge image in TransparencyGroup and saving it
          • drawing a red rectangle at the bbox bounds of the TransparencyGroup, to see where the content is drawn, when it is drawn outside
          • an improved version of the code in PDFBOX-3359 from Ivan Ridao Freitas
          • reduced versions of the file from PDFBOX-1697, with / without cropbox/rotation and only the bare minimum, plus a rectangle to show where the transparency group should land.

          Improved files:

          • bugzilla-852992.pdf (but not perfect)
          • gs-bugzilla689518.pdf (but not perfect)
          • PDFBOX-1058.pdf page 4 now OK, red ball visible, shadow gone. Page 1 still bad.
          • PDFBOX-1697.pdf now OK, "COPY" at the correct position
          • PDFJS-7378.pdf (but not perfect)

          So it's not much. I suspect that the changes help only at the first level, not at the next one, maybe because it is wrong to use the page size in "inner" levels.

          Show
          tilman Tilman Hausherr added a comment - - edited A difficulty with this issue is that there are many problems, and the files very complex (several levels)... I found one file, PDFBOX-1697 , which has a transparency group but no softmask. There were several problems: page rotation ignored cropbox ignored getScaleX() and getScaleY() used on rotated AffineTransform translation used when only scale was needed initial translation ignored, brings weird effects when JPanel is resized (could also be seen when resizing old PDFReader application) The form was drawn badly, and the result was put at the wrong position. What helped find the bug: creating a huge image in TransparencyGroup and saving it drawing a red rectangle at the bbox bounds of the TransparencyGroup, to see where the content is drawn, when it is drawn outside an improved version of the code in PDFBOX-3359 from Ivan Ridao Freitas reduced versions of the file from PDFBOX-1697 , with / without cropbox/rotation and only the bare minimum, plus a rectangle to show where the transparency group should land. Improved files: bugzilla-852992.pdf (but not perfect) gs-bugzilla689518.pdf (but not perfect) PDFBOX-1058 .pdf page 4 now OK, red ball visible, shadow gone. Page 1 still bad. PDFBOX-1697 .pdf now OK, "COPY" at the correct position PDFJS-7378.pdf (but not perfect) So it's not much. I suspect that the changes help only at the first level, not at the next one, maybe because it is wrong to use the page size in "inner" levels.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1762814 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1762814 ]

          PDFBOX-3000: save and restore page size, xform and rotation

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1762814 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1762814 ] PDFBOX-3000 : save and restore page size, xform and rotation
          Hide
          tilman Tilman Hausherr added a comment - - edited

          The attached file PDFJS-5811-2-p4_reduced-rotations.pdf is a simple case of transparency groups in 2 levels. The rendering was bad until now because page size etc wasn't adjusted (as I suspected in my previous comment)

          Improved files:

          • PDFJS-5811-2-p4_reduced-rotations.pdf now OK
          • gs-bugzilla689918-veryslow.pdf now OK (big star now good)
          • PDFJS-1324-2012_visitorsguide_web.pdf page 5 now OK (weird line below "park headquarters" is gone). p4, 7 and 11 still bad

          Changed files: (now differently bad):

          • PDFBOX-1416.pdf
          • PDFJS-5526-p11-13.pdf
          • gs-bugzilla692217.pdf
          Show
          tilman Tilman Hausherr added a comment - - edited The attached file PDFJS-5811-2-p4_reduced-rotations.pdf is a simple case of transparency groups in 2 levels. The rendering was bad until now because page size etc wasn't adjusted (as I suspected in my previous comment) Improved files: PDFJS-5811-2-p4_reduced-rotations.pdf now OK gs-bugzilla689918-veryslow.pdf now OK (big star now good) PDFJS-1324-2012_visitorsguide_web.pdf page 5 now OK (weird line below "park headquarters" is gone). p4, 7 and 11 still bad Changed files: (now differently bad): PDFBOX-1416 .pdf PDFJS-5526-p11-13.pdf gs-bugzilla692217.pdf
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1762820 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1762820 ]

          PDFBOX-3000: forgot one line

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1762820 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1762820 ] PDFBOX-3000 : forgot one line
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1762821 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1762821 ]

          PDFBOX-3000: forgot one line

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1762821 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1762821 ] PDFBOX-3000 : forgot one line
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1762984 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1762984 ]

          PDFBOX-3000: refactor

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1762984 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1762984 ] PDFBOX-3000 : refactor
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1763295 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1763295 ]

          PDFBOX-3000: new softmask handling with bounds, by John Hewson and Petr Slaby

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1763295 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1763295 ] PDFBOX-3000 : new softmask handling with bounds, by John Hewson and Petr Slaby
          Hide
          tilman Tilman Hausherr added a comment - - edited

          The last change is based on some of the "alt1" patch. BTW the Andreas "dirty hack" was pretty good too (when using the translation changes only) but the "alt1" change was even better.

          Improved:

          • 007087-payment-due-p1.pdf: better: shadow now visible
          • gs-bugzilla691218.pdf: better: prices now visible
          • gs-bugzilla692160.pdf: probably OK, shadows at correct position
          • PDFBOX-1451.pdf: shadows now visible
          • ***755: OK, shadows at correct position now
          • ***417: different color
          • K_UPMEYER_SPRING10.pdf: OK, shadow visible
          • PDFBOX-1691-FORIS-HV.pdf: OK, shadow visible
          • PDFBOX-994.pdf: green is back
          • PDFBOX-2103.pdf: OK
          • PDFBOX-2495.pdf: OK, shadows visible
          • PDFBOX-2658.pdf: improved, top right now good
          • PDFBOX-2950.pdf: OK, shadows visible
          • PDFBOX-3118.pdf: OK, shadows visible
          • PDFJS-3370-p19.pdf: OK, shadows visible
          • PDFJS-5853.pdf: people slightly visible
          • PDFJS-5811-2.pdf: better
          • PDFJS-4735.pdf: better in half the space
          • PDFJS-3370-p19.pdf: shadows back
          • PDFJS-5811-2.pdf: much improved, p5 still a problem
          • PDFJS-5853.pdf: faces somewhat visible again, as in rev 1633496

          Differently bad:

          • bugzilla-852992.pdf
          • evince-bug431088.pdf
          • gs-bugzilla688601.pdf
          • gs-bugzilla692217.pdf
          • PDFBOX-1416.pdf
          • PDFJS-3096.pdf
          • PDFJS-4735.pdf
          • PDFJS-5526-p11-13.pdf
          • PDFBOX-1870-technical_v2_p9.pdf

          I've also included the "why no soft mask" comments. I tried changing the code in getNonStrokingPaint() like in getStrokingPaint() but the result was terrible, except for PDFJS-5853.pdf (the class photo in Israel) which was perfect for the first time.

          There are some changes that I didn't use yet but will test later, against the "good results" that I have now.

          Show
          tilman Tilman Hausherr added a comment - - edited The last change is based on some of the "alt1" patch. BTW the Andreas "dirty hack" was pretty good too (when using the translation changes only) but the "alt1" change was even better. Improved: 007087-payment-due-p1.pdf: better: shadow now visible gs-bugzilla691218.pdf: better: prices now visible gs-bugzilla692160.pdf: probably OK, shadows at correct position PDFBOX-1451 .pdf: shadows now visible ***755: OK, shadows at correct position now ***417: different color K_UPMEYER_SPRING10.pdf: OK, shadow visible PDFBOX-1691 -FORIS-HV.pdf: OK, shadow visible PDFBOX-994 .pdf: green is back PDFBOX-2103 .pdf: OK PDFBOX-2495 .pdf: OK, shadows visible PDFBOX-2658 .pdf: improved, top right now good PDFBOX-2950 .pdf: OK, shadows visible PDFBOX-3118 .pdf: OK, shadows visible PDFJS-3370-p19.pdf: OK, shadows visible PDFJS-5853.pdf: people slightly visible PDFJS-5811-2.pdf: better PDFJS-4735.pdf: better in half the space PDFJS-3370-p19.pdf: shadows back PDFJS-5811-2.pdf: much improved, p5 still a problem PDFJS-5853.pdf: faces somewhat visible again, as in rev 1633496 Differently bad: bugzilla-852992.pdf evince-bug431088.pdf gs-bugzilla688601.pdf gs-bugzilla692217.pdf PDFBOX-1416 .pdf PDFJS-3096.pdf PDFJS-4735.pdf PDFJS-5526-p11-13.pdf PDFBOX-1870 -technical_v2_p9.pdf I've also included the "why no soft mask" comments. I tried changing the code in getNonStrokingPaint() like in getStrokingPaint() but the result was terrible, except for PDFJS-5853.pdf (the class photo in Israel) which was perfect for the first time. There are some changes that I didn't use yet but will test later, against the "good results" that I have now.
          Hide
          tilman Tilman Hausherr added a comment -

          007087-payment-due-p58_reduced2.pdf, samsung_galaxy_s_4_um-p1_reduced.pdf, PDFBOX-3400-RGB.pdf are all simplified files (that don't render properly) for further debugging.

          Show
          tilman Tilman Hausherr added a comment - 007087-payment-due-p58_reduced2.pdf, samsung_galaxy_s_4_um-p1_reduced.pdf, PDFBOX-3400 -RGB.pdf are all simplified files (that don't render properly) for further debugging.
          Hide
          tilman Tilman Hausherr added a comment -

          This one

          -            int maxX = (int) Math.floor(bounds.getMaxX()) + 1;
          -            int maxY = (int) Math.floor(bounds.getMaxY()) + 1;
          +            int maxX = (int) Math.floor(bounds.getMaxX()) - 1; // FIXME: The -1 here does not feel right, 
          +            int maxY = (int) Math.floor(bounds.getMaxY()) - 1; // but I get white lines in the PDF attached to PDFBOX-2104 without this
           
          -            width = maxX - minX;
          -            height = maxY - minY;
          +            width = Math.max(1, maxX - minX);
          +            height = Math.max(1, maxY - minY);
          

          is not helpful at this time, because it makes every rendering different, even files where that didn't know had transparency groups.

          Show
          tilman Tilman Hausherr added a comment - This one - int maxX = ( int ) Math .floor(bounds.getMaxX()) + 1; - int maxY = ( int ) Math .floor(bounds.getMaxY()) + 1; + int maxX = ( int ) Math .floor(bounds.getMaxX()) - 1; // FIXME: The -1 here does not feel right, + int maxY = ( int ) Math .floor(bounds.getMaxY()) - 1; // but I get white lines in the PDF attached to PDFBOX-2104 without this - width = maxX - minX; - height = maxY - minY; + width = Math .max(1, maxX - minX); + height = Math .max(1, maxY - minY); is not helpful at this time, because it makes every rendering different, even files where that didn't know had transparency groups.
          Hide
          tilman Tilman Hausherr added a comment -

          The change related to the comment "blit directly onto the graphics device using the identity transform" didn't work. So that's it for now for the "alt1" patch. I have no new ideas, but I'll keep looking at the test files for clues.

          Show
          tilman Tilman Hausherr added a comment - The change related to the comment "blit directly onto the graphics device using the identity transform" didn't work. So that's it for now for the "alt1" patch. I have no new ideas, but I'll keep looking at the test files for clues.
          Hide
          tilman Tilman Hausherr added a comment -

          PDFJS-2845-p1.pdf - "MIAMI" and "TALENTS" have the wrong color.

          Show
          tilman Tilman Hausherr added a comment - PDFJS-2845-p1.pdf - "MIAMI" and "TALENTS" have the wrong color.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1763463 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1763463 ]

          PDFBOX-3000: avoid ArrayIndexOutOfBoundsException, simplify output raster creation, assign rgba[3] only if within bounds

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1763463 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1763463 ] PDFBOX-3000 : avoid ArrayIndexOutOfBoundsException, simplify output raster creation, assign rgba [3] only if within bounds
          Hide
          tilman Tilman Hausherr added a comment - - edited

          Improvements:

          • 007087-payment-due-p1.pdf "payment due" now visible (but some weird lines)
          • 007087-payment-due-p58.pdf: "payment due" now visible (but some weird lines)
          • bugzilla869140.pdf: shadow of "KITCHEN" now visible
          • gs-bugzilla691218.pdf: group of people now visible
          • ***417.pdf: shadows on p3 and 4 visible
          • PDFBOX-1577.pdf: now good!!!!
          • PDFBOX-2103.pdf: p1 more shadows
          • PDFBOX-2658.pdf: "JE SUIS CHARLIE" foto now visible
          • PDFJS-6924: small images now visible (but some with incorrect color)
          • PDFJS-6967.pdf: big image now visible (but one image still missing)
          • PDFJS-7378.pdf: circle now visible
          • samsung_galaxy_s_4_um-p1.pdf: V and Z now visible

          Changed:

          • bugzilla-852992.pdf
          • PDFBOX-2950.pdf: one line that doesn't belong (top left)
          • PDFJS-3096.pdf
          Show
          tilman Tilman Hausherr added a comment - - edited Improvements: 007087-payment-due-p1.pdf "payment due" now visible (but some weird lines) 007087-payment-due-p58.pdf: "payment due" now visible (but some weird lines) bugzilla869140.pdf: shadow of "KITCHEN" now visible gs-bugzilla691218.pdf: group of people now visible ***417.pdf: shadows on p3 and 4 visible PDFBOX-1577 .pdf: now good!!!! PDFBOX-2103 .pdf: p1 more shadows PDFBOX-2658 .pdf: "JE SUIS CHARLIE" foto now visible PDFJS-6924: small images now visible (but some with incorrect color) PDFJS-6967.pdf: big image now visible (but one image still missing) PDFJS-7378.pdf: circle now visible samsung_galaxy_s_4_um-p1.pdf: V and Z now visible Changed: bugzilla-852992.pdf PDFBOX-2950 .pdf: one line that doesn't belong (top left) PDFJS-3096.pdf
          Hide
          tilman Tilman Hausherr added a comment -

          The calculation of the alpha value was wrong. It must not be premultiplied but simply be copied to the alpha channel.

          As a test, I modified softmask.java like this (and passed the softmask):

          if (COSName.ALPHA.equals(softMask.getSubType()))
          {
              rgba[3] = gray[0];
          }
          else
          {
              rgba[3] = Math.round(rgba[3] * (gray[0] / 255f)); // multiply alpha
          }                                      
          

          However this resulted in bad rendering (much black) of

          • evince-bug431088.pdf
          • gs-bugilla691763.pdf
          • gs-bugzilla689439-alphamask.pdf
          • gs-bugzilla693322.pdf
          Show
          tilman Tilman Hausherr added a comment - The calculation of the alpha value was wrong. It must not be premultiplied but simply be copied to the alpha channel. As a test, I modified softmask.java like this (and passed the softmask): if (COSName.ALPHA.equals(softMask.getSubType())) { rgba[3] = gray[0]; } else { rgba[3] = Math .round(rgba[3] * (gray[0] / 255f)); // multiply alpha } However this resulted in bad rendering (much black) of evince-bug431088.pdf gs-bugilla691763.pdf gs-bugzilla689439-alphamask.pdf gs-bugzilla693322.pdf
          Hide
          lehmi Andreas Lehmkühler added a comment -

          I didn't dig that deep into this stuff, so that this is just a vague guess. What about the AIS value of the ExtGState? It seems to be important when interpreting the smask values and it looks like we aren't using it yet.

          Show
          lehmi Andreas Lehmkühler added a comment - I didn't dig that deep into this stuff, so that this is just a vague guess. What about the AIS value of the ExtGState? It seems to be important when interpreting the smask values and it looks like we aren't using it yet.
          Hide
          tilman Tilman Hausherr added a comment -

          These are the remaining files from the changes made in PDFBOX-2423 after rev 1465217:

          • eci_altona-test-suite-v2_technical_H.pdf (one thin line only)
          • gs-bugilla691763.pdf (flipped)
          • gs-bugzilla688601.pdf
          • gs-bugzilla689439-alphamask.pdf (flipped)
          • gs-bugzilla689931.pdf (but rev 1633472 wasn't correct either)
          • gs-bugzilla691504.pdf (not very important, one pattern is different)
          • gs-bugzilla693322.pdf (flipped)
          • gs-bugzilla694585.pdf (some missing)
          • PDFBOX-1058.pdf p1 (curves missing)
          • PDFBOX-2182.pdf (shading missing)
          • PDFBOX-3182.pdf (image missing)
          • PDFBOX-3494.pdf (shadow at wrong position)
          • PDFBOX-3494-reduced.pdf (shadow at wrong position)
          • PDFJS-1324-2012_visitorsguide_web.pdf p4 ("construction" background logo on the left missing)
          • PDFJS-2825-veryslow.pdf (parts flipped, parts missing)
          • PDFJS-4735.pdf (dancing people at wrong position)
          • PDFJS-5811-2.pdf p3 (all at wrong X position. The memory problem in p2 was in JDK7 only.)
          • PDFJS-6496-XStep99999.pdf (flipped; I changed 99999 to 32767 to render in rev 1465217)

          We're only slightly further than a year ago; the main difference is that at that time, I had believed that there would be "the one patch that solves everything" and now I have "Lowered Expectations" and I've accepted that it can only be done step by step so I did the recent commits.

          Files that can't be rendered with rev 1465217 or were bad at that time, and are not yet perfect:

          • 007087-payment-due-p1.pdf
          • 007087-payment-due-p58.pdf
          • evince-bug431088.pdf
          • gs-bugzilla691218.pdf
          • gs-bugzilla692217.pdf
          • gs-bugzilla693520.pdf
          • ***371
          • ***22579
          • PDFBOX-1416.pdf
          • PDFBOX-3400.pdf
          • PDFBOX-3400-RGB.pdf
          • PDFJS-775-badshadow.pdf
          • PDFJS-3096.pdf
          • PDFJS-2845-p1.pdf
          • PDFJS-5526-p11-13.pdf (red balls missing)
          • PDFJS-6924.pdf
          • PDFBOX-994.pdf (wrong colors, shadows missing)
          • samsung_galaxy_s_4_um-p1_reduced.pdf (the non-reduced file is ok)
          Show
          tilman Tilman Hausherr added a comment - These are the remaining files from the changes made in PDFBOX-2423 after rev 1465217: eci_altona-test-suite-v2_technical_H.pdf (one thin line only) gs-bugilla691763.pdf (flipped) gs-bugzilla688601.pdf gs-bugzilla689439-alphamask.pdf (flipped) gs-bugzilla689931.pdf (but rev 1633472 wasn't correct either) gs-bugzilla691504.pdf (not very important, one pattern is different) gs-bugzilla693322.pdf (flipped) gs-bugzilla694585.pdf (some missing) PDFBOX-1058 .pdf p1 (curves missing) PDFBOX-2182 .pdf (shading missing) PDFBOX-3182 .pdf (image missing) PDFBOX-3494 .pdf (shadow at wrong position) PDFBOX-3494 -reduced.pdf (shadow at wrong position) PDFJS-1324-2012_visitorsguide_web.pdf p4 ("construction" background logo on the left missing) PDFJS-2825-veryslow.pdf (parts flipped, parts missing) PDFJS-4735.pdf (dancing people at wrong position) PDFJS-5811-2.pdf p3 (all at wrong X position. The memory problem in p2 was in JDK7 only.) PDFJS-6496-XStep99999.pdf (flipped; I changed 99999 to 32767 to render in rev 1465217) We're only slightly further than a year ago; the main difference is that at that time, I had believed that there would be "the one patch that solves everything" and now I have "Lowered Expectations" and I've accepted that it can only be done step by step so I did the recent commits. Files that can't be rendered with rev 1465217 or were bad at that time, and are not yet perfect: 007087-payment-due-p1.pdf 007087-payment-due-p58.pdf evince-bug431088.pdf gs-bugzilla691218.pdf gs-bugzilla692217.pdf gs-bugzilla693520.pdf ***371 ***22579 PDFBOX-1416 .pdf PDFBOX-3400 .pdf PDFBOX-3400 -RGB.pdf PDFJS-775-badshadow.pdf PDFJS-3096.pdf PDFJS-2845-p1.pdf PDFJS-5526-p11-13.pdf (red balls missing) PDFJS-6924.pdf PDFBOX-994 .pdf (wrong colors, shadows missing) samsung_galaxy_s_4_um-p1_reduced.pdf (the non-reduced file is ok)
          Hide
          tilman Tilman Hausherr added a comment -

          gs-bugzilla693322_reduced.pdf is a file to show the "flip" problem. My current suspicion is that it may be related to having a pattern.

          Show
          tilman Tilman Hausherr added a comment - gs-bugzilla693322_reduced.pdf is a file to show the "flip" problem. My current suspicion is that it may be related to having a pattern.
          Hide
          tilman Tilman Hausherr added a comment -

          I found only AIS being false. True would be "alpha is shape". The specification tells:

          Shape values of 0.0 and 1.0 identify points that lie outside and inside a conventional sharp-edged object; intermediate values are useful in defining soft-edged objects.
          Shape and opacity are conceptually very similar. In fact, they can usually be combined into a single value, called alpha, which controls both the colour compositing computation and the fading between an object and its backdrop. However, there are a few situations in which they shall be treated separately; see 11.4.6, "Knockout Groups."

          I doubt that we have the skills to properly handle knockout groups after having seen the Dr. Bärfuss video

          Show
          tilman Tilman Hausherr added a comment - I found only AIS being false. True would be "alpha is shape". The specification tells: Shape values of 0.0 and 1.0 identify points that lie outside and inside a conventional sharp-edged object; intermediate values are useful in defining soft-edged objects. Shape and opacity are conceptually very similar. In fact, they can usually be combined into a single value, called alpha, which controls both the colour compositing computation and the fading between an object and its backdrop. However, there are a few situations in which they shall be treated separately; see 11.4.6, "Knockout Groups." I doubt that we have the skills to properly handle knockout groups after having seen the Dr. Bärfuss video
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1763806 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1763806 ]

          PDFBOX-3000: flip transparency group image when rendering it in the first level of a tiling pattern

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1763806 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1763806 ] PDFBOX-3000 : flip transparency group image when rendering it in the first level of a tiling pattern
          Hide
          tilman Tilman Hausherr added a comment -

          The following files are now rendering correctly:

          • evince-bug431088.pdf
          • gs-bugzilla689439-alphamask.pdf
          • gs-bugilla691763.pdf
          • gs-bugzilla692217.pdf
          • gs-bugzilla693322.pdf
          • PDFJS-2825-veryslow.pdf
          • PDFJS-6496-XStep99999.pdf
          Show
          tilman Tilman Hausherr added a comment - The following files are now rendering correctly: evince-bug431088.pdf gs-bugzilla689439-alphamask.pdf gs-bugilla691763.pdf gs-bugzilla692217.pdf gs-bugzilla693322.pdf PDFJS-2825-veryslow.pdf PDFJS-6496-XStep99999.pdf
          Hide
          lehmi Andreas Lehmkühler added a comment -

          OK, I see. It was just a thought from an outsider

          Show
          lehmi Andreas Lehmkühler added a comment - OK, I see. It was just a thought from an outsider
          Hide
          tilman Tilman Hausherr added a comment - - edited

          (Updated) These are the remaining files from the changes made in PDFBOX-2423 after rev 1465217:

          • eci_altona-test-suite-v2_technical_H.pdf (one thin line only)
          • gs-bugzilla688601.pdf
          • gs-bugzilla689931.pdf (but rev 1633472 wasn't correct either)
          • gs-bugzilla691504.pdf (not very important, one pattern is different)
          • gs-bugzilla694585.pdf (some missing)
          • PDFBOX-1058.pdf p1 (curves missing)
          • PDFBOX-2182.pdf (shading missing)
          • PDFBOX-3182.pdf (image missing)
          • PDFBOX-3494.pdf (shadow at wrong position)
          • PDFBOX-3494-reduced.pdf (shadow at wrong position)
          • gs-bugzilla694556-3.pdf (shadows at wrong position)
          • gs-bugzilla695354.pdf (shadows at wrong position)
          • PDFJS-1324-2012_visitorsguide_web.pdf p4 ("construction" background logo on the left missing)
          • PDFJS-4735.pdf (dancing people at wrong position)
          • PDFJS-5811-2.pdf p3 (all at wrong X position. The memory problem in p2 was in JDK7 only.)

          Files that can't be rendered with rev 1465217 or were bad at that time, and are not yet perfect:

          • 007087-payment-due-p1.pdf
          • 007087-payment-due-p58.pdf
          • gs-bugzilla691218.pdf
          • gs-bugzilla693520.pdf
          • ***371
          • ***22579
          • PDFBOX-1416.pdf
          • PDFBOX-3400.pdf
          • PDFBOX-3400-RGB.pdf
          • PDFJS-775-badshadow.pdf
          • PDFJS-3096.pdf
          • PDFJS-2845-p1.pdf
          • PDFJS-5526-p11-13.pdf (red balls missing)
          • PDFJS-6924.pdf
          • PDFBOX-994.pdf (wrong colors, shadows missing)
          • samsung_galaxy_s_4_um-p1_reduced.pdf (the non-reduced file is ok)
          Show
          tilman Tilman Hausherr added a comment - - edited (Updated) These are the remaining files from the changes made in PDFBOX-2423 after rev 1465217: eci_altona-test-suite-v2_technical_H.pdf (one thin line only) gs-bugzilla688601.pdf gs-bugzilla689931.pdf (but rev 1633472 wasn't correct either) gs-bugzilla691504.pdf (not very important, one pattern is different) gs-bugzilla694585.pdf (some missing) PDFBOX-1058 .pdf p1 (curves missing) PDFBOX-2182 .pdf (shading missing) PDFBOX-3182 .pdf (image missing) PDFBOX-3494 .pdf (shadow at wrong position) PDFBOX-3494 -reduced.pdf (shadow at wrong position) gs-bugzilla694556-3.pdf (shadows at wrong position) gs-bugzilla695354.pdf (shadows at wrong position) PDFJS-1324-2012_visitorsguide_web.pdf p4 ("construction" background logo on the left missing) PDFJS-4735.pdf (dancing people at wrong position) PDFJS-5811-2.pdf p3 (all at wrong X position. The memory problem in p2 was in JDK7 only.) Files that can't be rendered with rev 1465217 or were bad at that time, and are not yet perfect: 007087-payment-due-p1.pdf 007087-payment-due-p58.pdf gs-bugzilla691218.pdf gs-bugzilla693520.pdf ***371 ***22579 PDFBOX-1416 .pdf PDFBOX-3400 .pdf PDFBOX-3400 -RGB.pdf PDFJS-775-badshadow.pdf PDFJS-3096.pdf PDFJS-2845-p1.pdf PDFJS-5526-p11-13.pdf (red balls missing) PDFJS-6924.pdf PDFBOX-994 .pdf (wrong colors, shadows missing) samsung_galaxy_s_4_um-p1_reduced.pdf (the non-reduced file is ok)
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1764153 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1764153 ]

          PDFBOX-3000: avoid NPE if softmask /G entry missing

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1764153 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1764153 ] PDFBOX-3000 : avoid NPE if softmask /G entry missing
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1764154 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1764154 ]

          PDFBOX-3000: avoid NPE if softmask /G entry missing

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1764154 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1764154 ] PDFBOX-3000 : avoid NPE if softmask /G entry missing
          Hide
          tilman Tilman Hausherr added a comment -

          I'm afraid that gs-bugzilla695582-transparency-fill-stroke.pdf is a tough one: the stroke and fill areas overlap. So when stroke and fill is done, one of the two will be wrong because the previous composite operation has already been done, thus giving a different result. I suspect that Adobe does both operations on an original copy of the image, and puts the result after that so that fill and stroke won't interfere with each other. Or it is able to transform the area of a "thick stroke" into a clipping area.

          Show
          tilman Tilman Hausherr added a comment - I'm afraid that gs-bugzilla695582-transparency-fill-stroke.pdf is a tough one: the stroke and fill areas overlap. So when stroke and fill is done, one of the two will be wrong because the previous composite operation has already been done, thus giving a different result. I suspect that Adobe does both operations on an original copy of the image, and puts the result after that so that fill and stroke won't interfere with each other. Or it is able to transform the area of a "thick stroke" into a clipping area.
          Hide
          tilman Tilman Hausherr added a comment - - edited

          These files are rendered properly if the cropbox is removed:

          These files have elements at the wrong place and the translation seems to be identical to the bbox origin of the first transparency group:

          • PDFJS-5811-2.pdf page 3
          • gs-bugzilla695354.pdf
          Show
          tilman Tilman Hausherr added a comment - - edited These files are rendered properly if the cropbox is removed: gs-bugzilla694556-3.pdf PDFBOX-3494 .pdf These files have elements at the wrong place and the translation seems to be identical to the bbox origin of the first transparency group: PDFJS-5811-2.pdf page 3 gs-bugzilla695354.pdf
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1765674 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1765674 ]

          PDFBOX-3000: avoid ClassCastException if transparency group in softmask isn't one (ghostscript bug 691854), remove super(), improve javadoc

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1765674 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1765674 ] PDFBOX-3000 : avoid ClassCastException if transparency group in softmask isn't one (ghostscript bug 691854), remove super(), improve javadoc
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1765675 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1765675 ]

          PDFBOX-3000: avoid ClassCastException if transparency group in softmask isn't one (ghostscript bug 691854), remove super(), improve javadoc

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1765675 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1765675 ] PDFBOX-3000 : avoid ClassCastException if transparency group in softmask isn't one (ghostscript bug 691854), remove super(), improve javadoc
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1769322 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1769322 ]

          PDFBOX-3000, PDFBOX-3564: use the colormodel corresponding to the source raster to convert into the components, as suggested by PDFBOX-3564

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1769322 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1769322 ] PDFBOX-3000 , PDFBOX-3564 : use the colormodel corresponding to the source raster to convert into the components, as suggested by PDFBOX-3564
          Hide
          tilman Tilman Hausherr added a comment - - edited

          gs-bugzilla691157_mod_unc.pdf is a simplified version of the file from http://bugs.ghostscript.com/show_bug.cgi?id=691157 . That issue has an interesting comment by Michael Vrhel. The point he is making is that the ctm (and more) is to be stored for the softmask at the time of /GS0 gs, because at the time /Im28 Do is run it has already been changed.

              /GS0 gs
              180 0 0 135 258.411 235.714 cm
              /Im0 Do
          

          As a test only, I hard coded that the ctm is not to be used for the rendering of the soft mask at two places (this works only for this file, because the ctm is identity at the time of the "gs" command), and now the cutout appears correctly (although there's wrong stuff outside of the mask).

          So we'll need to store the ctm and possibly the complete graphic state for a softmask at the time we encounter it, not at the time we apply it.

          Show
          tilman Tilman Hausherr added a comment - - edited gs-bugzilla691157_mod_unc.pdf is a simplified version of the file from http://bugs.ghostscript.com/show_bug.cgi?id=691157 . That issue has an interesting comment by Michael Vrhel. The point he is making is that the ctm (and more) is to be stored for the softmask at the time of /GS0 gs , because at the time /Im28 Do is run it has already been changed. /GS0 gs 180 0 0 135 258.411 235.714 cm /Im0 Do As a test only, I hard coded that the ctm is not to be used for the rendering of the soft mask at two places (this works only for this file, because the ctm is identity at the time of the "gs" command), and now the cutout appears correctly (although there's wrong stuff outside of the mask). So we'll need to store the ctm and possibly the complete graphic state for a softmask at the time we encounter it, not at the time we apply it.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1769667 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1769667 ]

          PDFBOX-3000: reset softmask for transparency groups too

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1769667 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1769667 ] PDFBOX-3000 : reset softmask for transparency groups too
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1769668 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1769668 ]

          PDFBOX-3000: reset softmask for transparency groups too

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1769668 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1769668 ] PDFBOX-3000 : reset softmask for transparency groups too
          Hide
          tilman Tilman Hausherr added a comment -

          Improved files:

          • evince-bug431088.pdf: pink donut now looks like a CD
          • gs-bugzilla688261.pdf: globe can be seen now
          • gs-bugzilla686747.ai: lower "happy birthday" now in correct colors
          Show
          tilman Tilman Hausherr added a comment - Improved files: evince-bug431088.pdf: pink donut now looks like a CD gs-bugzilla688261.pdf: globe can be seen now gs-bugzilla686747.ai: lower "happy birthday" now in correct colors
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1770016 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1770016 ]

          PDFBOX-3000: set initialMatrix for annotations

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1770016 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1770016 ] PDFBOX-3000 : set initialMatrix for annotations
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1770017 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1770017 ]

          PDFBOX-3000: set initialMatrix for annotations

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1770017 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1770017 ] PDFBOX-3000 : set initialMatrix for annotations
          Hide
          tilman Tilman Hausherr added a comment - - edited

          The last commit solves the regression for the file from PDFBOX-2182. The file I just added (PDFBOX-2182_mod.pdf) shows the problem more clearly: the shading pattern is more visible, once as an annotation and once in the page. Both must look identical.

          Show
          tilman Tilman Hausherr added a comment - - edited The last commit solves the regression for the file from PDFBOX-2182 . The file I just added ( PDFBOX-2182 _mod.pdf) shows the problem more clearly: the shading pattern is more visible, once as an annotation and once in the page. Both must look identical.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1771189 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1771189 ]

          PDFBOX-3000: avoid calling PDColorSpace.create() with null

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1771189 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1771189 ] PDFBOX-3000 : avoid calling PDColorSpace.create() with null
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1771190 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1771190 ]

          PDFBOX-3000: avoid calling PDColorSpace.create() with null

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1771190 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1771190 ] PDFBOX-3000 : avoid calling PDColorSpace.create() with null
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1771336 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1771336 ]

          PDFBOX-3000: initialize transparency group processing as requested by the PDF specification

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1771336 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1771336 ] PDFBOX-3000 : initialize transparency group processing as requested by the PDF specification
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1771337 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1771337 ]

          PDFBOX-3000: initialize transparency group processing as requested by the PDF specification

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1771337 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1771337 ] PDFBOX-3000 : initialize transparency group processing as requested by the PDF specification
          Hide
          tilman Tilman Hausherr added a comment -

          Once in a while, it helps to read the PDF specification

          Improved files by the last commit (not regression-related):

          • gs-bugzilla689518.pdf now perfect, upper wall now only vertical lines
          • gs-bugzilla688870.pdf: bubbles near 1, 2, 3 etc more visible
          • PDFBOX-2019-Annotations.pdf (with AP): purple now visible
          • PDFJS-5811-2.pdf: p2: shadow around the Région Nantaise map better visibility; p7 and 8: "@" better visibility
          • gs-bugzilla693220.pdf: "unky" better visibility
          • gs-bugzilla686747.ai: bubbles better visibility
          Show
          tilman Tilman Hausherr added a comment - Once in a while, it helps to read the PDF specification Improved files by the last commit (not regression-related): gs-bugzilla689518.pdf now perfect, upper wall now only vertical lines gs-bugzilla688870.pdf: bubbles near 1, 2, 3 etc more visible PDFBOX-2019 -Annotations.pdf (with AP): purple now visible PDFJS-5811-2.pdf: p2: shadow around the Région Nantaise map better visibility; p7 and 8: "@" better visibility gs-bugzilla693220.pdf: "unky" better visibility gs-bugzilla686747.ai: bubbles better visibility
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1772377 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1772377 ]

          PDFBOX-3000: adjust pagesize and bounds for non (0,0) origin

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1772377 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1772377 ] PDFBOX-3000 : adjust pagesize and bounds for non (0,0) origin
          Hide
          tilman Tilman Hausherr added a comment - - edited

          The last commit was developed by debugging the rendering of PDFJS-5811-2-p3_reduced4.pdf which has two nested transparency groups, none of which start at (0,0). After doing the upper change (new PDRectangle(...), many files were improved but some black rectangles started to appear in some files, and a mysterious vertical line appeared in the middle of a less reduced version, PDFJS-5811-2-p3_reduced.pdf, which has a softmask. Zooming in on that one showed some grey that was at about 1/2 of the square, at 38 units, which is the offset of the outer transparency group. That one gave it away that the softmask was also wrong by an offset, and this resulted in the second change, in getBounds(). This fixed quite a lot of files.

          And I'm also learned something: colors at wrong position => transparency problem. Black squares, shadows at wrong position => softmask problem.

          Improved files ("probably perfect" means that the file is too complex to tell):

          • bugzilla-852992.pdf: color change is back, but not perfect
          • ds-firewall-enterprise-p1.pdf: perfect, cables visible
          • gs-bugzilla686747.ai: probably perfect, gradient masking of lower happy birthday now there
          • gs-bugzilla688601.pdf: perfect
          • gs-bugzilla689095.pdf: mostly perfect, inside of "verso" visible
          • gs-bugzilla689918-veryslow.pdf: probably perfect, star is shining
          • gs-bugzilla690351-p10.pdf: probably perfect, shadows correct
          • gs-bugzilla690535.pdf: euro visible, although not in gold
          • gs-bugzilla691182.pdf: perfect, car and shadow correct
          • gs-bugzilla691218.pdf: improved, shadow below SONATA
          • gs-bugzilla694556-3.pdf: perfect, shadows correct
          • gs-bugzilla694585.pdf: probably perfect, blue ball is back
          • gs-bugzilla695354.pdf: perfect, shadows correct
          • gs-bugzilla697350.pdf: perfect
          • PDFBOX-1058.pdf: probably perfect, fine lines are back
          • PDFBOX-3494.pdf: perfect, shadow correct
          • PDFBOX-3501.pdf: perfect, background colors now visible
          • PDFJS-1324-2012_visitorsguide_web.pdf p4: perfect, "under construction" watermark visible; p3: footprints visible
          • PDFJS-4735.pdf: probably perfect, dancers are back
          • PDFJS-5811-2.pdf: p2: perfect, shadows on boxes; p3: perfect, squares at correct position
          • PDFJS-6113.pdf: probably perfect, "Fukayuki-rinkan" now visible
          • PDFJS-6967.pdf: perfect, lower right image visible
          • gs-bugzilla692286.pdf: now perfect, colors are back
          • gs-bugzilla693033.pdf: now perfect, stuff near "jourJ" is back

          Changed files:

          • gs-bugzilla688870.pdf
          • PDFJS-3096.pdf: shadows below smartphones visible, rest still bad

          Worsened files:

          • bugzilla869140.pdf: girls room no longer pink
          • gs-bugzilla692217.pdf: shadows at wrong position

          Of those about which I complained in PDFBOX-2423, there are only two left that don't render like in 1633472. However there are others I found later so there's still work to do. I'll keep creating reduced files and debug from there.

          I'm not yet ready to transfer the changes to the 2.0 branch, I prefer to solve the obvious problems first. Examples:

          • gs-bugzilla689309-1.pdf
          • gs-bugzilla691537.pdf
          Show
          tilman Tilman Hausherr added a comment - - edited The last commit was developed by debugging the rendering of PDFJS-5811-2-p3_reduced4.pdf which has two nested transparency groups, none of which start at (0,0). After doing the upper change ( new PDRectangle(... ), many files were improved but some black rectangles started to appear in some files, and a mysterious vertical line appeared in the middle of a less reduced version, PDFJS-5811-2-p3_reduced.pdf, which has a softmask. Zooming in on that one showed some grey that was at about 1/2 of the square, at 38 units, which is the offset of the outer transparency group. That one gave it away that the softmask was also wrong by an offset, and this resulted in the second change, in getBounds(). This fixed quite a lot of files. And I'm also learned something: colors at wrong position => transparency problem. Black squares, shadows at wrong position => softmask problem. Improved files ("probably perfect" means that the file is too complex to tell): bugzilla-852992.pdf: color change is back, but not perfect ds-firewall-enterprise-p1.pdf: perfect, cables visible gs-bugzilla686747.ai: probably perfect, gradient masking of lower happy birthday now there gs-bugzilla688601.pdf: perfect gs-bugzilla689095.pdf: mostly perfect, inside of "verso" visible gs-bugzilla689918-veryslow.pdf: probably perfect, star is shining gs-bugzilla690351-p10.pdf: probably perfect, shadows correct gs-bugzilla690535.pdf: euro visible, although not in gold gs-bugzilla691182.pdf: perfect, car and shadow correct gs-bugzilla691218.pdf: improved, shadow below SONATA gs-bugzilla694556-3.pdf: perfect, shadows correct gs-bugzilla694585.pdf: probably perfect, blue ball is back gs-bugzilla695354.pdf: perfect, shadows correct gs-bugzilla697350.pdf: perfect PDFBOX-1058 .pdf: probably perfect, fine lines are back PDFBOX-3494 .pdf: perfect, shadow correct PDFBOX-3501 .pdf: perfect, background colors now visible PDFJS-1324-2012_visitorsguide_web.pdf p4: perfect, "under construction" watermark visible; p3: footprints visible PDFJS-4735.pdf: probably perfect, dancers are back PDFJS-5811-2.pdf: p2: perfect, shadows on boxes; p3: perfect, squares at correct position PDFJS-6113.pdf: probably perfect, "Fukayuki-rinkan" now visible PDFJS-6967.pdf: perfect, lower right image visible gs-bugzilla692286.pdf: now perfect, colors are back gs-bugzilla693033.pdf: now perfect, stuff near "jourJ" is back Changed files: gs-bugzilla688870.pdf PDFJS-3096.pdf: shadows below smartphones visible, rest still bad Worsened files: bugzilla869140.pdf: girls room no longer pink gs-bugzilla692217.pdf: shadows at wrong position Of those about which I complained in PDFBOX-2423 , there are only two left that don't render like in 1633472. However there are others I found later so there's still work to do. I'll keep creating reduced files and debug from there. I'm not yet ready to transfer the changes to the 2.0 branch, I prefer to solve the obvious problems first. Examples: gs-bugzilla689309-1.pdf gs-bugzilla691537.pdf
          Hide
          tilman Tilman Hausherr added a comment -

          I'll wait a bit for that one... because there were some weird effects, maybe these are due to other errors. Memo for me:

          • in PDExtendedGraphicsState.copyIntoGraphicsState initialize softmask with current CTM
          • have CTM field + getter + setter in PFSoftMask
          • initialize TransparencyGroup with new CTM parameter when TransparencyGroup is created
          • in PDFStreamEngine.processSoftMask initialize CTM with
            getGraphicsState().setCurrentTransformationMatrix(getGraphicsState().getSoftMask().getInitialCTM());
          Show
          tilman Tilman Hausherr added a comment - I'll wait a bit for that one... because there were some weird effects, maybe these are due to other errors. Memo for me: in PDExtendedGraphicsState.copyIntoGraphicsState initialize softmask with current CTM have CTM field + getter + setter in PFSoftMask initialize TransparencyGroup with new CTM parameter when TransparencyGroup is created in PDFStreamEngine.processSoftMask initialize CTM with getGraphicsState().setCurrentTransformationMatrix(getGraphicsState().getSoftMask().getInitialCTM());
          Hide
          lehmi Andreas Lehmkühler added a comment - - edited

          It looks like your last commit (1772377) has a small typo w.r.t. the second scaling factor:

          -            return new Rectangle2D.Double(minX, size.getY() - minY - height, width, height);
          +            return new Rectangle2D.Double(minX - pageSize.getLowerLeftX() * m.getScalingFactorX(),
          +                    size.getY() - minY - height + pageSize.getLowerLeftY() * m.getScalingFactorX(),
          +                    width, height);
          

          It should be

          -            return new Rectangle2D.Double(minX, size.getY() - minY - height, width, height);
          +            return new Rectangle2D.Double(minX - pageSize.getLowerLeftX() * m.getScalingFactorX(),
          +                    size.getY() - minY - height + pageSize.getLowerLeftY() * m.getScalingFactorY(),
          +                    width, height);
          

          Or did I miss something?

          Show
          lehmi Andreas Lehmkühler added a comment - - edited It looks like your last commit (1772377) has a small typo w.r.t. the second scaling factor: - return new Rectangle2D. Double (minX, size.getY() - minY - height, width, height); + return new Rectangle2D. Double (minX - pageSize.getLowerLeftX() * m.getScalingFactorX(), + size.getY() - minY - height + pageSize.getLowerLeftY() * m.getScalingFactorX(), + width, height); It should be - return new Rectangle2D. Double (minX, size.getY() - minY - height, width, height); + return new Rectangle2D. Double (minX - pageSize.getLowerLeftX() * m.getScalingFactorX(), + size.getY() - minY - height + pageSize.getLowerLeftY() * m.getScalingFactorY(), + width, height); Or did I miss something?
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1772540 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1772540 ]

          PDFBOX-3000: fix typo in last commit

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1772540 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1772540 ] PDFBOX-3000 : fix typo in last commit
          Hide
          tilman Tilman Hausherr added a comment -

          Yes, thanks.

          Show
          tilman Tilman Hausherr added a comment - Yes, thanks.
          Hide
          jon_wu Jon Wu added a comment - - edited

          I've attached a snowmen PDF with many opacity clipping masks from Illustrator seems related to transparency group issues.

          2.0.3 vs the latest snapshot look a bit different, but both are pretty far from what it should look like. Chrome and Preview.app have a slight issue displaying the PDF too (oddly only after I extracted the snowmen), but they get most of it right. I've also attached a PNG from Illustrator with the expected output.

          Show
          jon_wu Jon Wu added a comment - - edited I've attached a snowmen PDF with many opacity clipping masks from Illustrator seems related to transparency group issues. 2.0.3 vs the latest snapshot look a bit different, but both are pretty far from what it should look like. Chrome and Preview.app have a slight issue displaying the PDF too (oddly only after I extracted the snowmen), but they get most of it right. I've also attached a PNG from Illustrator with the expected output.
          Hide
          tilman Tilman Hausherr added a comment -

          Thanks I'll add that one to my test set... I'm still working on transparencies, one problem at a time... My strategy since I started to work on it was to create simple test files from existing ones and find out what's wrong with the code. If you have the time, please try to create a simpler file, e.g. only the bottom shadow.

          Show
          tilman Tilman Hausherr added a comment - Thanks I'll add that one to my test set... I'm still working on transparencies, one problem at a time... My strategy since I started to work on it was to create simple test files from existing ones and find out what's wrong with the code. If you have the time, please try to create a simpler file, e.g. only the bottom shadow.
          Hide
          jon_wu Jon Wu added a comment -

          Makes sense. The full snowman file is definitely very complex. I've attached a circle-simple.pdf test case. It renders mostly blank right now.

          If that works and the big file still has issues later, I'd be happy to try to build other test cases. Thank you!

          Show
          jon_wu Jon Wu added a comment - Makes sense. The full snowman file is definitely very complex. I've attached a circle-simple.pdf test case. It renders mostly blank right now. If that works and the big file still has issues later, I'd be happy to try to build other test cases. Thank you!
          Hide
          tilman Tilman Hausherr added a comment -

          Thanks... however I see now that our current rendering with the trunk (see file I just attached) is better than the one you created, so I think you were not using the latest version. I also believe that the trunk rendering of the circle file (not attached) is correct.

          Show
          tilman Tilman Hausherr added a comment - Thanks... however I see now that our current rendering with the trunk (see file I just attached) is better than the one you created, so I think you were not using the latest version. I also believe that the trunk rendering of the circle file (not attached) is correct.
          Hide
          tilman Tilman Hausherr added a comment - - edited

          Some new reduced files, not solved yet:

          • gs-bugzilla692217_reduced.pdf : problem probably related to clipping rectangle, xobject rendered at wrong place. Outside line shows where the clipping is.
          • gs-bugzilla689309-reduced.pdf : softmask bounds smaller than transparent xobject
          • gs-bugzilla689309-reduced-bc1.pdf : same, but added a red border
          • gs-bugzilla689309-reduced-bc0.pdf : same, but /bc (which we don't consider) is CMYK 0 (white) instead of 1 (black)

          The /bc value (default: black) is somehow related to what to do with softmask painting outside of bounds. Changing the code accordingly solves the rendering of all gs-bugzilla689309 files, but worsens the rendering of many other files. So I'll postpone that for later.

          Update 13.12.2016: the changed /bc code also improves gs-bugzilla690535.pdf (gold color visible for the first time), and the *371 file (missing part visible). gs-bugzilla693548-STACKOVERFLOW.pdf might be used for investigation, gets completely white. PDFJS-6967.pdf gets white except for two black bars.

          Show
          tilman Tilman Hausherr added a comment - - edited Some new reduced files, not solved yet: gs-bugzilla692217_reduced.pdf : problem probably related to clipping rectangle, xobject rendered at wrong place. Outside line shows where the clipping is. gs-bugzilla689309-reduced.pdf : softmask bounds smaller than transparent xobject gs-bugzilla689309-reduced-bc1.pdf : same, but added a red border gs-bugzilla689309-reduced-bc0.pdf : same, but /bc (which we don't consider) is CMYK 0 (white) instead of 1 (black) The /bc value (default: black) is somehow related to what to do with softmask painting outside of bounds. Changing the code accordingly solves the rendering of all gs-bugzilla689309 files, but worsens the rendering of many other files. So I'll postpone that for later. Update 13.12.2016: the changed /bc code also improves gs-bugzilla690535.pdf (gold color visible for the first time), and the *371 file (missing part visible). gs-bugzilla693548-STACKOVERFLOW.pdf might be used for investigation, gets completely white. PDFJS-6967.pdf gets white except for two black bars.
          Hide
          jon_wu Jon Wu added a comment -

          Sorry about the confusion. I missed the snapshot section on the download page, then ended up building from Git which was behind SVN.

          I should have seen the section either way, but it would help if <a name="#snapshot"></a> on https://pdfbox.apache.org/download.cgi#snapshot was switched to name="snapshot" to fix the link.

          I agree the circle-simple looks great except for the aliasing on the edges, but maybe that's just a rendering hint issue?

          I was trying to isolate other pieces of the snowman that still render weird. It looks like the gradient on the nose gets cut off a little bit early. I've attached snowman-nose-gradient.pdf which should have approx even margins on all sides, but stops a little soon on the right. I wonder if this or some of the other rendering differences in the full snowman are related to PDFBOX-2681.

          Show
          jon_wu Jon Wu added a comment - Sorry about the confusion. I missed the snapshot section on the download page, then ended up building from Git which was behind SVN. I should have seen the section either way, but it would help if <a name="#snapshot"></a> on https://pdfbox.apache.org/download.cgi#snapshot was switched to name="snapshot" to fix the link. I agree the circle-simple looks great except for the aliasing on the edges, but maybe that's just a rendering hint issue? I was trying to isolate other pieces of the snowman that still render weird. It looks like the gradient on the nose gets cut off a little bit early. I've attached snowman-nose-gradient.pdf which should have approx even margins on all sides, but stops a little soon on the right. I wonder if this or some of the other rendering differences in the full snowman are related to PDFBOX-2681 .
          Hide
          tilman Tilman Hausherr added a comment -

          I don't understand re "should have approx even margins on all sides, but stops a little soon on the right", maybe this is a language problem on my side. The difference I see is that the Adobe rendering has more white on the left.

          Show
          tilman Tilman Hausherr added a comment - I don't understand re "should have approx even margins on all sides, but stops a little soon on the right", maybe this is a language problem on my side. The difference I see is that the Adobe rendering has more white on the left.
          Hide
          jon_wu Jon Wu added a comment -

          I see now that my example was confusing. snowman-nose-gradient.pdf was saved in CMYK mode and I was accidentally looking at a non-Adobe rendering when writing my last comment. Preview.app, Chrome, Firefox / pdf.js all render the correct shape and the right side of the gradient always ends in the correct place. I think that the last CMYK gradient issue in PDFBOX-2681 is why the Adobe rendering shows more white on the left of CMYK snowman-nose-gradient.pdf.

          I've uploaded the same file saved as RGB snowman-nose-gradient-rgb.pdf with 2 red lines to demonstrate the issue I was trying to show. The rendered version's gradient should almost touch both red lines and should appear centered in the document. You'll also notice that the left side isn't white in the Adobe rendering in the RGB version.

          I hope this is a little clearer but let me know if I can provide better details or examples.

          Show
          jon_wu Jon Wu added a comment - I see now that my example was confusing. snowman-nose-gradient.pdf was saved in CMYK mode and I was accidentally looking at a non-Adobe rendering when writing my last comment. Preview.app, Chrome, Firefox / pdf.js all render the correct shape and the right side of the gradient always ends in the correct place. I think that the last CMYK gradient issue in PDFBOX-2681 is why the Adobe rendering shows more white on the left of CMYK snowman-nose-gradient.pdf. I've uploaded the same file saved as RGB snowman-nose-gradient-rgb.pdf with 2 red lines to demonstrate the issue I was trying to show. The rendered version's gradient should almost touch both red lines and should appear centered in the document. You'll also notice that the left side isn't white in the Adobe rendering in the RGB version. I hope this is a little clearer but let me know if I can provide better details or examples.
          Hide
          tilman Tilman Hausherr added a comment - - edited

          Thanks, now I understand. (it was indeed a language problem, and in retrospect what you said was clear) The problem with your file may be the clipping rect origin, similar to gs-bugzilla692217_reduced.pdf .

          Coincidentally, while looking around I found another flaw in our code, we're not applying the softmask to shading fills. Changing this resulted in improved rendering of several files that have never rendered correctly, however some elements vanish in other files, so I'll wait.

          Show
          tilman Tilman Hausherr added a comment - - edited Thanks, now I understand. (it was indeed a language problem, and in retrospect what you said was clear) The problem with your file may be the clipping rect origin, similar to gs-bugzilla692217_reduced.pdf . Coincidentally, while looking around I found another flaw in our code, we're not applying the softmask to shading fills. Changing this resulted in improved rendering of several files that have never rendered correctly, however some elements vanish in other files, so I'll wait.
          Hide
          tilman Tilman Hausherr added a comment - - edited

          memo for myself

          uncommitted changes:

          • ✓ softmask for shading fills
          • ✓ softmask for fills
          • ✓ save linepath and winding rule when drawing transparency
          • ✓ save linepath and winding rule when drawing tiling pattern
          • ✓ softmask initial ctm
          • ✓ /bc for softmask

          investigate:

          • softmask for stencil (see todo in code) obsolete, it is using the softmask
          • clip rectangle origin effects
          Show
          tilman Tilman Hausherr added a comment - - edited memo for myself uncommitted changes: ✓ softmask for shading fills ✓ softmask for fills ✓ save linepath and winding rule when drawing transparency ✓ save linepath and winding rule when drawing tiling pattern ✓ softmask initial ctm ✓ /bc for softmask investigate: softmask for stencil (see todo in code) obsolete, it is using the softmask clip rectangle origin effects
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1773889 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1773889 ]

          PDFBOX-3000: save and restore linepath and windingrule when drawing transparency group

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1773889 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1773889 ] PDFBOX-3000 : save and restore linepath and windingrule when drawing transparency group
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1773890 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1773890 ]

          PDFBOX-3000: save and restore linepath and windingrule when drawing transparency group

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1773890 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1773890 ] PDFBOX-3000 : save and restore linepath and windingrule when drawing transparency group
          Hide
          tilman Tilman Hausherr added a comment - - edited

          The last commit is to prevent regressions with some upcoming ones (softmask for fills). I was wondering about empty softmasks with no effect - the reason was that existing path was gone.

          improved:

          • gs-bugzilla697135.pdf: ring visible
          • gs-bugzilla691650-1.pdf: dito
          • gs-bugzilla693520.pdf: fine lines visible
          • gs-bugzilla690816.pdf: orange-brown rectangle border visible
          • gs-bugzilla693548-STACKOVERFLOW.pdf: border now visible (but not correct size)

          different:

          • gs-bugzilla689996.pdf
          Show
          tilman Tilman Hausherr added a comment - - edited The last commit is to prevent regressions with some upcoming ones (softmask for fills). I was wondering about empty softmasks with no effect - the reason was that existing path was gone. improved: gs-bugzilla697135.pdf: ring visible gs-bugzilla691650-1.pdf: dito gs-bugzilla693520.pdf: fine lines visible gs-bugzilla690816.pdf: orange-brown rectangle border visible gs-bugzilla693548-STACKOVERFLOW.pdf: border now visible (but not correct size) different: gs-bugzilla689996.pdf
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1773896 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1773896 ]

          PDFBOX-3000: save and restore windingrule when drawing tile pattern

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1773896 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1773896 ] PDFBOX-3000 : save and restore windingrule when drawing tile pattern
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1773897 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1773897 ]

          PDFBOX-3000: save and restore windingrule when drawing tile pattern

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1773897 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1773897 ] PDFBOX-3000 : save and restore windingrule when drawing tile pattern
          Hide
          tilman Tilman Hausherr added a comment -

          No rendering changes on last commit.

          Show
          tilman Tilman Hausherr added a comment - No rendering changes on last commit.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1774037 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1774037 ]

          PDFBOX-3000: use softMask for non stroking paint, as suggested by Petr Slaby; use softMask for shading fill

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1774037 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1774037 ] PDFBOX-3000 : use softMask for non stroking paint, as suggested by Petr Slaby; use softMask for shading fill
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1774038 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1774038 ]

          PDFBOX-3000: use softMask for non stroking paint, as suggested by Petr Slaby; use softMask for shading fill

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1774038 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1774038 ] PDFBOX-3000 : use softMask for non stroking paint, as suggested by Petr Slaby; use softMask for shading fill
          Hide
          tilman Tilman Hausherr added a comment - - edited

          improved:

          • bugzilla-852992.pdf: probably perfect
          • bugzilla869140.pdf: probably perfect, girls room and dining room color now good
          • gs-bugzilla689996.pdf: gradient visible now, but weird line
          • gs-bugzilla691218.pdf: probably perfect, prices now in correct color
          • gs-bugzilla691650-1.pdf: sides better
          • gs-bugzilla692265-p1.pdf: probably perfect
          • gs-bugzilla692546.pdf: probably perfect
          • gs-bugzilla693115.pdf: probably perfect, blue rectangle gone
          • gs-bugzilla695290.pdf: probably perfect, shading visible now
          • *417 p2: weird shapes gone
          • PDFBOX-994.pdf: probably perfect, colors now good
          • PDFJS-2845-p1.pdf: probably perfect, "Talents" and "Miami" in correct color
          • PDFJS-3096.pdf: giant triangle gone, but incorrekt diagonal line on pad left
          • PDFJS-5811-2.pdf: probably perfect, 3d effect on color rectangles, circle on p5 no longer grey
          • PDFJS-5853.pdf: probably perfect, children all visible now
          • texample-rgb-triangle.pdf: shading visible for first time, although on incorrect position
          • gs-bugzilla692721.pdf: one additional shape

          different:

          • gs-bugzilla693033.pdf: UN logo different
          • gs-bugzilla696682.pdf: half arrow
          • gs-bugzilla696864.pdf: dito

          regressions:

          • gs-bugzilla692689.pdf: % numbers
          • gs-bugzilla693520.pdf: bottom of box
          Show
          tilman Tilman Hausherr added a comment - - edited improved: bugzilla-852992.pdf: probably perfect bugzilla869140.pdf: probably perfect, girls room and dining room color now good gs-bugzilla689996.pdf: gradient visible now, but weird line gs-bugzilla691218.pdf: probably perfect, prices now in correct color gs-bugzilla691650-1.pdf: sides better gs-bugzilla692265-p1.pdf: probably perfect gs-bugzilla692546.pdf: probably perfect gs-bugzilla693115.pdf: probably perfect, blue rectangle gone gs-bugzilla695290.pdf: probably perfect, shading visible now *417 p2: weird shapes gone PDFBOX-994 .pdf: probably perfect, colors now good PDFJS-2845-p1.pdf: probably perfect, "Talents" and "Miami" in correct color PDFJS-3096.pdf: giant triangle gone, but incorrekt diagonal line on pad left PDFJS-5811-2.pdf: probably perfect, 3d effect on color rectangles, circle on p5 no longer grey PDFJS-5853.pdf: probably perfect, children all visible now texample-rgb-triangle.pdf: shading visible for first time, although on incorrect position gs-bugzilla692721.pdf: one additional shape different: gs-bugzilla693033.pdf: UN logo different gs-bugzilla696682.pdf: half arrow gs-bugzilla696864.pdf: dito regressions: gs-bugzilla692689.pdf: % numbers gs-bugzilla693520.pdf: bottom of box
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1774080 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1774080 ]

          PDFBOX-3000: save initial CTM in softmask so that CTM at the moment of ExtGState activation is remembered

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1774080 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1774080 ] PDFBOX-3000 : save initial CTM in softmask so that CTM at the moment of ExtGState activation is remembered
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1774081 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1774081 ]

          PDFBOX-3000: save initial CTM in softmask so that CTM at the moment of ExtGState activation is remembered

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1774081 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1774081 ] PDFBOX-3000 : save initial CTM in softmask so that CTM at the moment of ExtGState activation is remembered
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1774086 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1774086 ]

          PDFBOX-3000: pass initial CTM of softmask to transparency group

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1774086 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1774086 ] PDFBOX-3000 : pass initial CTM of softmask to transparency group
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1774087 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1774087 ]

          PDFBOX-3000: pass initial CTM of softmask to transparency group

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1774087 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1774087 ] PDFBOX-3000 : pass initial CTM of softmask to transparency group
          Hide
          tilman Tilman Hausherr added a comment - - edited

          The last commits deal with what I mentioned a month ago re ghostscript bug 691157. The commit never improved much, until now, and the results are amazing.

          Improvements:

          • bugzilla869140.pdf: I thought it was perfect, but there's more, e.g. an axial shading softmask in the girls room and a radial shading softmask in the dining room
          • gs-bugzilla690351-p7.pdf: perfect, background structure
          • gs-bugzilla690535.pdf: perfect, euro now in gold
          • gs-bugzilla690839.pdf: perfect, shading
          • gs-bugzilla691157.pdf: cutout (but some weirdness)
          • gs-bugzilla691218.pdf: "sales event" in correct color
          • gs-bugzilla691348.pdf: cutout
          • gs-bugzilla692689-reduced.pdf: perfect
          • gs-bugzilla692933.pdf: perfect, structure vanishes at right
          • gs-bugzilla693520.pdf: perfect, including weird "box in water" effect
          • gs-bugzilla693548-STACKOVERFLOW.pdf: perfect shading
          • gs-bugzilla696682.pdf: perfect, arrows
          • gs-bugzilla696864.pdf: dito
          • *371: perfect, missing thing now there
          • PDFBOX-3400.pdf: now correct shading
          • PDFBOX-3400-RGB.pdf: now correct shading
          • PDFJS-3096.pdf: probably perfect
          • PDFJS-6113.pdf: color near websitetop left
          • texample-rgb-triangle.pdf: shading fully visible and correct

          Changes:

          • gs-bugzilla696026.pdf
          • PDFJS-5811-2.pdf p2: hard to tell, shadows around region nantaise are a bit less

          Regressions:

          • *417_ weird triangle, some shadows gone?
          • PDFBOX-2103.pdf: slight color difference at bottom of screen
          Show
          tilman Tilman Hausherr added a comment - - edited The last commits deal with what I mentioned a month ago re ghostscript bug 691157. The commit never improved much, until now, and the results are amazing. Improvements: bugzilla869140.pdf: I thought it was perfect, but there's more, e.g. an axial shading softmask in the girls room and a radial shading softmask in the dining room gs-bugzilla690351-p7.pdf: perfect, background structure gs-bugzilla690535.pdf: perfect, euro now in gold gs-bugzilla690839.pdf: perfect, shading gs-bugzilla691157.pdf: cutout (but some weirdness) gs-bugzilla691218.pdf: "sales event" in correct color gs-bugzilla691348.pdf: cutout gs-bugzilla692689-reduced.pdf: perfect gs-bugzilla692933.pdf: perfect, structure vanishes at right gs-bugzilla693520.pdf: perfect, including weird "box in water" effect gs-bugzilla693548-STACKOVERFLOW.pdf: perfect shading gs-bugzilla696682.pdf: perfect, arrows gs-bugzilla696864.pdf: dito *371: perfect, missing thing now there PDFBOX-3400 .pdf: now correct shading PDFBOX-3400 -RGB.pdf: now correct shading PDFJS-3096.pdf: probably perfect PDFJS-6113.pdf: color near websitetop left texample-rgb-triangle.pdf: shading fully visible and correct Changes: gs-bugzilla696026.pdf PDFJS-5811-2.pdf p2: hard to tell, shadows around region nantaise are a bit less Regressions: *417_ weird triangle, some shadows gone? PDFBOX-2103 .pdf: slight color difference at bottom of screen
          Hide
          mblaesing Matthias Bläsing added a comment -

          I want to say: Thank you!

          I updated my pdfbox checkout to HEAD and rendered the poster that triggered my initial interest again. After the latest changes the whole scene is rendered correctly. There are multiple layered images with masked, that in the past were rendered with wrongly shaped masked or not at all. No the whole poster comes out as I'd expect.

          Great work!

          Show
          mblaesing Matthias Bläsing added a comment - I want to say: Thank you! I updated my pdfbox checkout to HEAD and rendered the poster that triggered my initial interest again. After the latest changes the whole scene is rendered correctly. There are multiple layered images with masked, that in the past were rendered with wrongly shaped masked or not at all. No the whole poster comes out as I'd expect. Great work!
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1774146 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1774146 ]

          PDFBOX-3000: use gray image if group colorspace is gray; remove obsolete comment

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1774146 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1774146 ] PDFBOX-3000 : use gray image if group colorspace is gray; remove obsolete comment
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1774147 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1774147 ]

          PDFBOX-3000: use gray image if group colorspace is gray; remove obsolete comment

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1774147 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1774147 ] PDFBOX-3000 : use gray image if group colorspace is gray; remove obsolete comment
          Hide
          tilman Tilman Hausherr added a comment - - edited

          Updated gs-bugzilla692217_reduced.pdf . Both the dotted lines and the two diagonal lines are part of the same softmask. The dotted lines are drawn directly, one diagonal line is a pattern, the other diagonal line is a transparency group in that pattern. The last one is at the wrong position.

          Show
          tilman Tilman Hausherr added a comment - - edited Updated gs-bugzilla692217_reduced.pdf . Both the dotted lines and the two diagonal lines are part of the same softmask. The dotted lines are drawn directly, one diagonal line is a pattern, the other diagonal line is a transparency group in that pattern. The last one is at the wrong position.
          Hide
          tilman Tilman Hausherr added a comment -

          Two reduced versions of Jon Wu's snowman nose. There's only one difference between the two: the initial transform which I've added at the beginning of the content stream. With -0.7 translation on the x axis it renders correctly, with -0.6 it doesn't.

          Show
          tilman Tilman Hausherr added a comment - Two reduced versions of Jon Wu 's snowman nose. There's only one difference between the two: the initial transform which I've added at the beginning of the content stream. With -0.7 translation on the x axis it renders correctly, with -0.6 it doesn't.
          Hide
          tilman Tilman Hausherr added a comment - - edited

          I did some work on that one yesterday (do "adjust (x,y) at the initial scale + cropbox" only if flipTG is not set) but this solves only this series and a small improvement in PDFJS-6496-XStep99999.pdf (there was a small error I hadn't noticed before) so I'll rather wait.

          Show
          tilman Tilman Hausherr added a comment - - edited I did some work on that one yesterday (do "adjust (x,y) at the initial scale + cropbox" only if flipTG is not set) but this solves only this series and a small improvement in PDFJS-6496-XStep99999.pdf (there was a small error I hadn't noticed before) so I'll rather wait.
          Hide
          tilman Tilman Hausherr added a comment - - edited

          From the "anomaly in the matrix" dept:

          dpi transform: AffineTransform[[20.0, 0.0, 0.0], [0.0, 20.0, 0.0]]
          clip bounds:
          Rectangle2D$Double[x=0.04933191703891904,y=1.0259536993917004,w=17.48637770927704,h=6.06104727548927]
          
          call Shape deviceClip = dpiTransform.createTransformedShape(clip);
          
          deviceClip bounds:
          Rectangle2D$Double[x=-33.96000146865845,y=20.51907398783401,w=393.78590219076204,h=121.22094550978541]
          

          The x origin coordinate is now negative!

          Show
          tilman Tilman Hausherr added a comment - - edited From the "anomaly in the matrix" dept: dpi transform: AffineTransform[[20.0, 0.0, 0.0], [0.0, 20.0, 0.0]] clip bounds: Rectangle2D$ Double [x=0.04933191703891904,y=1.0259536993917004,w=17.48637770927704,h=6.06104727548927] call Shape deviceClip = dpiTransform.createTransformedShape(clip); deviceClip bounds: Rectangle2D$ Double [x=-33.96000146865845,y=20.51907398783401,w=393.78590219076204,h=121.22094550978541] The x origin coordinate is now negative!
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1776313 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1776313 ]

          PDFBOX-3000: apply transform to bounds2D of clip due to probably java bug

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1776313 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1776313 ] PDFBOX-3000 : apply transform to bounds2D of clip due to probably java bug
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1776314 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1776314 ]

          PDFBOX-3000: apply transform to bounds2D of clip due to probably java bug

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1776314 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1776314 ] PDFBOX-3000 : apply transform to bounds2D of clip due to probably java bug
          Hide
          tilman Tilman Hausherr added a comment -

          The last commit improves the snowman file at several places (not just the nose) and has a slight difference at gs-bugzilla692689-reduced.pdf. The change should also bring a very slight speed increase because the transform is applied to a simpler shape.

          Show
          tilman Tilman Hausherr added a comment - The last commit improves the snowman file at several places (not just the nose) and has a slight difference at gs-bugzilla692689-reduced.pdf. The change should also bring a very slight speed increase because the transform is applied to a simpler shape.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1777333 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1777333 ]

          PDFBOX-3000: use /bc color in softmask outside bounds, but ignore empty softmask

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1777333 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1777333 ] PDFBOX-3000 : use /bc color in softmask outside bounds, but ignore empty softmask
          Hide
          tilman Tilman Hausherr added a comment - - edited

          Re the last commit: I've mentioned before that the softmask handling of pixels outside of the box is wrong, but when I corrected it lots of files were rendered poorly (see comment on Dec 10, 2016). The file PDFJS-6967_reduced_outside_softmask.pdf shows why: that one has a softmask that is empty because it is outside of everything, see Root/Pages/Kids/[0]/Resources/XObject/Fm0/Resources/ExtGState/GS0/SMask/G/BBox. Instead of using the /bc value, Adobe just ignores it. So we'll ignore empty softmasks (which is also the old behaviour in softmask.java for pixels outside). But non empty softmasks that cover only a part of a group now won't be ignored, from now on the /bc value will be used. The gs-bugzilla689309-reduced--bc files show this.

          Improved:

          • 007087-payment-due-p1.pdf: probably perfect
          • gs-bugzilla690816.pdf: some black rectangles gone, but one remains
          • gs-bugzilla689309-1.pdf: perfect
          • gs-bugzilla691537.pdf: perfect, black areas gone, fields greyed
          • gs-bugzilla692199-p26.pdf: perfect, black areas gone
          • gs-bugzilla692546.pdf: perfect, white area gone
          • gs-bugzilla693548-STACKOVERFLOW.pdf: perfect, left border now correct size
          Show
          tilman Tilman Hausherr added a comment - - edited Re the last commit: I've mentioned before that the softmask handling of pixels outside of the box is wrong, but when I corrected it lots of files were rendered poorly (see comment on Dec 10, 2016). The file PDFJS-6967_reduced_outside_softmask.pdf shows why: that one has a softmask that is empty because it is outside of everything, see Root/Pages/Kids/[0]/Resources/XObject/Fm0/Resources/ExtGState/GS0/SMask/G/BBox . Instead of using the /bc value, Adobe just ignores it. So we'll ignore empty softmasks (which is also the old behaviour in softmask.java for pixels outside). But non empty softmasks that cover only a part of a group now won't be ignored, from now on the /bc value will be used. The gs-bugzilla689309-reduced--bc files show this. Improved: 007087-payment-due-p1.pdf: probably perfect gs-bugzilla690816.pdf: some black rectangles gone, but one remains gs-bugzilla689309-1.pdf: perfect gs-bugzilla691537.pdf: perfect, black areas gone, fields greyed gs-bugzilla692199-p26.pdf: perfect, black areas gone gs-bugzilla692546.pdf: perfect, white area gone gs-bugzilla693548-STACKOVERFLOW.pdf: perfect, left border now correct size
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1777368 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1777368 ]

          PDFBOX-3000: consider page rotation, cropbox, initial translation; use Matrix class to get correct scales even for rotated affine transforms

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1777368 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1777368 ] PDFBOX-3000 : consider page rotation, cropbox, initial translation; use Matrix class to get correct scales even for rotated affine transforms
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1777369 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1777369 ]

          PDFBOX-3000: save and restore page size, xform and rotation

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1777369 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1777369 ] PDFBOX-3000 : save and restore page size, xform and rotation
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1777370 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1777370 ]

          PDFBOX-3000: forgot two lines

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1777370 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1777370 ] PDFBOX-3000 : forgot two lines
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1777372 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1777372 ]

          PDFBOX-3000: refactor

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1777372 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1777372 ] PDFBOX-3000 : refactor
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1777374 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1777374 ]

          PDFBOX-3000, PDFBOX-3564: new softmask handling with bounds, by John Hewson and Petr Slaby;
          use the colormodel corresponding to the source raster to convert into the components, as suggested by Matthias Blaesing;
          avoid ArrayIndexOutOfBoundsException, simplify output raster creation, assign rgba[3] only if within bounds;use /bc color in softmask outside bounds

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1777374 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1777374 ] PDFBOX-3000 , PDFBOX-3564 : new softmask handling with bounds, by John Hewson and Petr Slaby; use the colormodel corresponding to the source raster to convert into the components, as suggested by Matthias Blaesing; avoid ArrayIndexOutOfBoundsException, simplify output raster creation, assign rgba [3] only if within bounds;use /bc color in softmask outside bounds
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1777377 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1777377 ]

          PDFBOX-3000: flip transparency group image when rendering it in the first level of a tiling pattern

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1777377 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1777377 ] PDFBOX-3000 : flip transparency group image when rendering it in the first level of a tiling pattern
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1777380 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1777380 ]

          PDFBOX-3000: adjust pagesize and bounds for non (0,0) origin

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1777380 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1777380 ] PDFBOX-3000 : adjust pagesize and bounds for non (0,0) origin
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1777382 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1777382 ]

          PDFBOX-3000: apply transform to bounds2D of clip due to probable java bug; ignore empty softmask; pass /bc to softmask; delete 1 line forgotten in a previous commit

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1777382 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1777382 ] PDFBOX-3000 : apply transform to bounds2D of clip due to probable java bug; ignore empty softmask; pass /bc to softmask; delete 1 line forgotten in a previous commit
          Hide
          tilman Tilman Hausherr added a comment - - edited

          Unless I missed something, trunk and 2.0 should be identical now re: transparency group issues. I'll run rendering tests at a later time (update: done). This is not the end of this issue, I have at least 8 files left with rendering problems.

          Show
          tilman Tilman Hausherr added a comment - - edited Unless I missed something, trunk and 2.0 should be identical now re: transparency group issues. I'll run rendering tests at a later time (update: done). This is not the end of this issue, I have at least 8 files left with rendering problems.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1777662 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1777662 ]

          PDFBOX-3000: skip non-softmask empty transparency groups

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1777662 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1777662 ] PDFBOX-3000 : skip non-softmask empty transparency groups
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1777663 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1777663 ]

          PDFBOX-3000: skip non-softmask empty transparency groups

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1777663 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1777663 ] PDFBOX-3000 : skip non-softmask empty transparency groups
          Hide
          tilman Tilman Hausherr added a comment - - edited

          Two files (SoftMask.pdf and SoftMask-Clipped.pdf) created by Boris Aronshtam. The two files show a problem in rendering that I have been working on - a square/parallelogram background is missing because this part of the PDF specification is ignored:

          If the subtype is Luminosity, the transparency group XObject G shall be composited with a fully opaque backdrop whose colour is everywhere defined by the soft-mask dictionary’s BC entry.

          Show
          tilman Tilman Hausherr added a comment - - edited Two files (SoftMask.pdf and SoftMask-Clipped.pdf) created by Boris Aronshtam . The two files show a problem in rendering that I have been working on - a square/parallelogram background is missing because this part of the PDF specification is ignored: If the subtype is Luminosity, the transparency group XObject G shall be composited with a fully opaque backdrop whose colour is everywhere defined by the soft-mask dictionary’s BC entry.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1777684 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1777684 ]

          PDFBOX-3000: fill with /bc color for Luminosity soft masks

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1777684 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1777684 ] PDFBOX-3000 : fill with /bc color for Luminosity soft masks
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1777685 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1777685 ]

          PDFBOX-3000: fill with /bc color for Luminosity soft masks

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1777685 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1777685 ] PDFBOX-3000 : fill with /bc color for Luminosity soft masks
          Hide
          tilman Tilman Hausherr added a comment -

          The last commit fixes the problem with the two softmask files by Boris Aronshtam.

          Only one other file has a change, gs-bugzilla691650-2.pdf: the lower part (the egg) is now correct, the upper part (the rectangle) is now bad. However the upper part uses an unusual blending mode. Almost none of the blending modes work. I'll attach a series of files:

          • blendmodes.pdf: from tcpdf, most modes work
          • BlendModes-rgb.pdf: from Boris Aronshtam, most modes don't work
          • gs-bugzilla689931_reduced-Multiply.pdf: works with PDFBox
          • gs-bugzilla689931_reduced-Screen.pdf: doesn't work with PDFBox (blank)
          Show
          tilman Tilman Hausherr added a comment - The last commit fixes the problem with the two softmask files by Boris Aronshtam. Only one other file has a change, gs-bugzilla691650-2.pdf: the lower part (the egg) is now correct, the upper part (the rectangle) is now bad. However the upper part uses an unusual blending mode. Almost none of the blending modes work. I'll attach a series of files: blendmodes.pdf: from tcpdf, most modes work BlendModes-rgb.pdf: from Boris Aronshtam, most modes don't work gs-bugzilla689931_reduced-Multiply.pdf: works with PDFBox gs-bugzilla689931_reduced-Screen.pdf: doesn't work with PDFBox (blank)
          Hide
          tilman Tilman Hausherr added a comment - - edited

          I found out from Boris Aronshtam and Dr. Paul Jones why the blending files don't render properly:
          http://www.pdfvt.com/PDFVT_TransparencyGuide.html

          It is wrong to treat the page background as a separate color. Page background is not a color, but the unmarked space.
          ...
          blending with the background ignores the blend mode, and is equivalent to blending with BM=Normal against the opaque white color.

          We use a white page background, and we don't know about "unmarked space". Java does not have such a concept AFAIK. Doing a "Screen" blend against white background brings a white result.

          The attached file gs-bugzilla689931_reduced-ScreenBlendPageBackground.pdf shows a small white rectangle in a blue rectangle with Adobe Reader. The white area is because I filled a white rectangle there; in the rest I did nothing thus the difference. PDFBox treats all as white background so it displays the whole PDF as white. Adobe treats the outside as "unmarked space" so it just copies and the inside as "white" so the screen blend result is white.

          Mitigation:

          • most files have "Multiply" blend mode which doesn't bring this effect
          • most files wouldn't use any "interesting" blend modes against the paper background because it wouldn't make any difference

          Update 15.1.2017:
          It is even weirder. In the blend demo file by Boris Aronshtam one can see that blue on orange in blend mode "ColorDodge" produces an orange result with Adobe and a pink result with PDFBox. I did the calculations (source: 0 0 1, dest: 1 0.7 0, result: 1 0.7 1) and pink is correct. The only explanation why Adobe shows it as orange would be that the 0 in the 1 0.7 0 orange destination is also considered to be "undefined" and is to stay as it is. To test this, I tried rendering on a slightly modified orange background, i.e. 1 0.7 0.01. Now the Adobe result is also pink.

          Show
          tilman Tilman Hausherr added a comment - - edited I found out from Boris Aronshtam and Dr. Paul Jones why the blending files don't render properly: http://www.pdfvt.com/PDFVT_TransparencyGuide.html It is wrong to treat the page background as a separate color. Page background is not a color, but the unmarked space. ... blending with the background ignores the blend mode, and is equivalent to blending with BM=Normal against the opaque white color. We use a white page background, and we don't know about "unmarked space". Java does not have such a concept AFAIK. Doing a "Screen" blend against white background brings a white result. The attached file gs-bugzilla689931_reduced-ScreenBlendPageBackground.pdf shows a small white rectangle in a blue rectangle with Adobe Reader. The white area is because I filled a white rectangle there; in the rest I did nothing thus the difference. PDFBox treats all as white background so it displays the whole PDF as white. Adobe treats the outside as "unmarked space" so it just copies and the inside as "white" so the screen blend result is white. Mitigation: most files have "Multiply" blend mode which doesn't bring this effect most files wouldn't use any "interesting" blend modes against the paper background because it wouldn't make any difference Update 15.1.2017: It is even weirder. In the blend demo file by Boris Aronshtam one can see that blue on orange in blend mode "ColorDodge" produces an orange result with Adobe and a pink result with PDFBox. I did the calculations (source: 0 0 1, dest: 1 0.7 0, result: 1 0.7 1) and pink is correct. The only explanation why Adobe shows it as orange would be that the 0 in the 1 0.7 0 orange destination is also considered to be "undefined" and is to stay as it is. To test this, I tried rendering on a slightly modified orange background, i.e. 1 0.7 0.01. Now the Adobe result is also pink.
          Hide
          tilman Tilman Hausherr added a comment - - edited

          PDFJS-5526-p13_reduced2.pdf has a translation, then a transparency group which has a tiling pattern. Somehow the translation is lost and the pattern isn't translated. The pattern itself is correct, i.e. TilingPattern.getImage() has the correct image.

          PDFJS-5526-p13_reduced1.pdf is the same but the pattern itself has a transparency group. Here the pattern image itself is bad too. That part can be solved the same way as gs-bugzilla692217 (see a few days ago).

          PDFJS-5526-p13_reduced3-nogroup.pdf is the same but no transparency group dictionary, i.e. ordinary xobject forms. That one renders fine.

          Show
          tilman Tilman Hausherr added a comment - - edited PDFJS-5526-p13_reduced2.pdf has a translation, then a transparency group which has a tiling pattern. Somehow the translation is lost and the pattern isn't translated. The pattern itself is correct, i.e. TilingPattern.getImage() has the correct image. PDFJS-5526-p13_reduced1.pdf is the same but the pattern itself has a transparency group. Here the pattern image itself is bad too. That part can be solved the same way as gs-bugzilla692217 (see a few days ago ). PDFJS-5526-p13_reduced3-nogroup.pdf is the same but no transparency group dictionary, i.e. ordinary xobject forms. That one renders fine.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1778017 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1778017 ]

          PDFBOX-3000: set initialMatrix for transparency groups

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1778017 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1778017 ] PDFBOX-3000 : set initialMatrix for transparency groups
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1778018 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1778018 ]

          PDFBOX-3000: set initialMatrix for transparency groups

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1778018 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1778018 ] PDFBOX-3000 : set initialMatrix for transparency groups
          Hide
          tilman Tilman Hausherr added a comment -

          Improvements by the last commit:

          • PDFJS-5526-p13_reduced2.pdf
          • gs-bugzilla688870.pdf: perfect, lower blue now gone

          With the not committed change PDFJS-5526-p13_reduced1.pdf, PDFJS-5526-p11-13. and gs-bugzilla692217.pdf are fully correct.

          Show
          tilman Tilman Hausherr added a comment - Improvements by the last commit: PDFJS-5526-p13_reduced2.pdf gs-bugzilla688870.pdf: perfect, lower blue now gone With the not committed change PDFJS-5526-p13_reduced1.pdf, PDFJS-5526-p11-13. and gs-bugzilla692217.pdf are fully correct.
          Hide
          tilman Tilman Hausherr added a comment - - edited

          gs-bugzilla690022_reduced.pdf has a softmask that doesn't display. The problem is that the PDF has a 90° rotation. The two files I used to solve rotation problems in transparency groups (PDFBOX-1697-reduced-rotations.pdf and PDFJS-5811-2-p4_reduced-rotations.pdf) did not have soft masks.

          Show
          tilman Tilman Hausherr added a comment - - edited gs-bugzilla690022_reduced.pdf has a softmask that doesn't display. The problem is that the PDF has a 90° rotation. The two files I used to solve rotation problems in transparency groups ( PDFBOX-1697 -reduced-rotations.pdf and PDFJS-5811-2-p4_reduced-rotations.pdf) did not have soft masks.
          Hide
          tilman Tilman Hausherr added a comment -

          Commit 1778457 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1778457 ]

          PDFBOX-3000: use calculated scale values, not matrix items which can be 0 in rotations

          Commit 1778458 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1778458 ]

          PDFBOX-3000: use calculated scale values, not matrix items which can be 0 in rotations

          Show
          tilman Tilman Hausherr added a comment - Commit 1778457 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1778457 ] PDFBOX-3000 : use calculated scale values, not matrix items which can be 0 in rotations Commit 1778458 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1778458 ] PDFBOX-3000 : use calculated scale values, not matrix items which can be 0 in rotations
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1778658 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1778658 ]

          PDFBOX-3000: rotate mask + adjust softmask origin when page is rotated

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1778658 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1778658 ] PDFBOX-3000 : rotate mask + adjust softmask origin when page is rotated
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1778659 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1778659 ]

          PDFBOX-3000: rotate mask + adjust softmask origin when page is rotated

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1778659 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1778659 ] PDFBOX-3000 : rotate mask + adjust softmask origin when page is rotated
          Hide
          tilman Tilman Hausherr added a comment -

          gs-bugzilla690022-reduced-rotations.pdf is for tests, it has all 4 rotations.

          Show
          tilman Tilman Hausherr added a comment - gs-bugzilla690022-reduced-rotations.pdf is for tests, it has all 4 rotations.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1778788 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1778788 ]

          PDFBOX-3000: apply transfer function in softmask; add author names

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1778788 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1778788 ] PDFBOX-3000 : apply transfer function in softmask; add author names
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1778789 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1778789 ]

          PDFBOX-3000: apply transfer function in softmask; add author names

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1778789 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1778789 ] PDFBOX-3000 : apply transfer function in softmask; add author names
          Hide
          tilman Tilman Hausherr added a comment - - edited

          The transfer function is described in "Table 144 – Entries in a soft-mask dictionary" of the PDF specification. Improved files:

          • gs-bugzilla689991-1.pdf: perfect, chocolate visible
          • PDFBOX-1416.pdf: perfect, girl visible (at last!)
          • PDFJS-3096.pdf: bottom shade of left smartphone less different
          • gs-bugzilla693681-transfer.pdf: perfect, now all visible
          Show
          tilman Tilman Hausherr added a comment - - edited The transfer function is described in "Table 144 – Entries in a soft-mask dictionary" of the PDF specification. Improved files: gs-bugzilla689991-1.pdf: perfect, chocolate visible PDFBOX-1416 .pdf: perfect, girl visible (at last!) PDFJS-3096.pdf: bottom shade of left smartphone less different gs-bugzilla693681-transfer.pdf: perfect, now all visible
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1778924 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1778924 ]

          PDFBOX-3000: Move the array designator from the variable to the type

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1778924 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1778924 ] PDFBOX-3000 : Move the array designator from the variable to the type
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1778925 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1778925 ]

          PDFBOX-3000: Move the array designator from the variable to the type

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1778925 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1778925 ] PDFBOX-3000 : Move the array designator from the variable to the type
          Hide
          lehmi Andreas Lehmkühler added a comment -

          Tilman Hausherr Should we add 2.0.x to "Fix Version/s", AFAIU you already merged all changes into the 2.0-branch, didn't you?

          Show
          lehmi Andreas Lehmkühler added a comment - Tilman Hausherr Should we add 2.0.x to "Fix Version/s", AFAIU you already merged all changes into the 2.0-branch, didn't you?
          Hide
          tilman Tilman Hausherr added a comment -

          Andreas Lehmkühler It is true that all changes are also in 2.0, but I didn't set a target because not all transparency problems are solved, i.e. I wasn't expecting to resolve the issue for 2.0.5. I'd like to keep this issue for a while because it helps me to track the improvements in one single place.

          Show
          tilman Tilman Hausherr added a comment - Andreas Lehmkühler It is true that all changes are also in 2.0, but I didn't set a target because not all transparency problems are solved, i.e. I wasn't expecting to resolve the issue for 2.0.5. I'd like to keep this issue for a while because it helps me to track the improvements in one single place.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1780224 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1780224 ]

          PDFBOX-3000: correct calculations for 180° and 270°

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1780224 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1780224 ] PDFBOX-3000 : correct calculations for 180° and 270°
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1780225 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1780225 ]

          PDFBOX-3000: correct calculations for 180° and 270°

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1780225 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1780225 ] PDFBOX-3000 : correct calculations for 180° and 270°
          Hide
          tilman Tilman Hausherr added a comment -

          It turned out that the calculations were not correct for two rotations, but this was only really visible when setting a cropbox.

          Show
          tilman Tilman Hausherr added a comment - It turned out that the calculations were not correct for two rotations, but this was only really visible when setting a cropbox.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1780419 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1780419 ]

          PDFBOX-3000: Add code from Harald Kuhr to create gray transparency group image with alpha channel to avoid NPE with alpha softmasks

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1780419 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1780419 ] PDFBOX-3000 : Add code from Harald Kuhr to create gray transparency group image with alpha channel to avoid NPE with alpha softmasks
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1780420 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1780420 ]

          PDFBOX-3000: Add code from Harald Kuhr to create gray transparency group image with alpha channel to avoid NPE with alpha softmasks

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1780420 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1780420 ] PDFBOX-3000 : Add code from Harald Kuhr to create gray transparency group image with alpha channel to avoid NPE with alpha softmasks
          Hide
          tilman Tilman Hausherr added a comment - - edited

          Improvements:

          • PDFJS-5044.pdf: NPE in gray.setData(image.getAlphaRaster()); gone
          • A-Designers-Guide-to-Transparency.pdf, p5: the opacity mask and the 2 normal mask examples are now correct (however I suspect that the error was introduced by myself when I introduced the gray image in rev 1774146).
          • gs-bugzilla697354.pdf: two incorrect black bars on the side are gone
          Show
          tilman Tilman Hausherr added a comment - - edited Improvements: PDFJS-5044.pdf: NPE in gray.setData(image.getAlphaRaster()); gone A-Designers-Guide-to-Transparency.pdf , p5: the opacity mask and the 2 normal mask examples are now correct (however I suspect that the error was introduced by myself when I introduced the gray image in rev 1774146). gs-bugzilla697354.pdf: two incorrect black bars on the side are gone
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1780443 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1780443 ]

          PDFBOX-3000: detect gray ICC colorspaces

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1780443 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1780443 ] PDFBOX-3000 : detect gray ICC colorspaces
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1780444 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1780444 ]

          PDFBOX-3000: detect gray ICC colorspaces

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1780444 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1780444 ] PDFBOX-3000 : detect gray ICC colorspaces
          Hide
          tilman Tilman Hausherr added a comment -

          The last commit improves page 17 of eci_altona-test-suite-v2_technical2_one-patch-per-page_x4.pdf a little bit (mostly on the right).

          Show
          tilman Tilman Hausherr added a comment - The last commit improves page 17 of eci_altona-test-suite-v2_technical2_one-patch-per-page_x4.pdf a little bit (mostly on the right).
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1780448 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1780448 ]

          PDFBOX-3000: Sonar fix

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1780448 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1780448 ] PDFBOX-3000 : Sonar fix
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1780449 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1780449 ]

          PDFBOX-3000: Sonar fix

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1780449 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1780449 ] PDFBOX-3000 : Sonar fix
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1780459 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1780459 ]

          PDFBOX-3000: revert last commit

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1780459 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1780459 ] PDFBOX-3000 : revert last commit
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1780460 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1780460 ]

          PDFBOX-3000: revert last commit

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1780460 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1780460 ] PDFBOX-3000 : revert last commit
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1780583 from Tilman Hausherr in branch 'pdfbox/trunk'
          [ https://svn.apache.org/r1780583 ]

          PDFBOX-3000: simplify calculations

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1780583 from Tilman Hausherr in branch 'pdfbox/trunk' [ https://svn.apache.org/r1780583 ] PDFBOX-3000 : simplify calculations
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1780584 from Tilman Hausherr in branch 'pdfbox/branches/2.0'
          [ https://svn.apache.org/r1780584 ]

          PDFBOX-3000: simplify calculations

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1780584 from Tilman Hausherr in branch 'pdfbox/branches/2.0' [ https://svn.apache.org/r1780584 ] PDFBOX-3000 : simplify calculations
          Hide
          tilman Tilman Hausherr added a comment -

          Larregoity bad news re your file from PDFBOX-3182. I looked whether your file's troubles are related to the problem with blending modes that I mentioned on January 7. Sadly, it is. If I change the blend mode of /GS5 from "Overlay" to "Normal" (which is what Adobe does on a page background) then your file is rendered correctly.

          This won't be fixed soon... the cause is the java graphics engine.

          Show
          tilman Tilman Hausherr added a comment - Larregoity bad news re your file from PDFBOX-3182 . I looked whether your file's troubles are related to the problem with blending modes that I mentioned on January 7. Sadly, it is. If I change the blend mode of /GS5 from "Overlay" to "Normal" (which is what Adobe does on a page background) then your file is rendered correctly. This won't be fixed soon... the cause is the java graphics engine.

            People

            • Assignee:
              Unassigned
              Reporter:
              jahewson John Hewson
            • Votes:
              1 Vote for this issue
              Watchers:
              12 Start watching this issue

              Dates

              • Created:
                Updated:

                Development