Uploaded image for project: 'PDFBox'
  1. PDFBox
  2. PDFBOX-4363

[Patch] Add a common interface PDShadingPaint for all shading paints

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 2.0.12
    • 2.0.13, 3.0.0 PDFBox
    • Rendering
    • None
    • Patch

    Description

      The attached patch adds an common interface PDShadingPaint to all PDShading-based Paint's. It allows to access the underlying PDShading object and the matrix of the paint.

      At the moment it is not possible to access this fields without using dirty accessibility hacks, see also this commit.

      Why would you need that? I need that for my PdfBoxGraphics2D adapter. I draw PDF pages using PDFRenderer/PageDrawer back into a PDF. While doing so I derive from both classes and change / filter certain aspects of the PDF. One use case is to extract a specific seperation color into its own PDF page, remap it to another color and also draw some overfill (i.e. a additional border of 0.5pt around all shapes drawn with this color). This so prepared page is then used with a machine which glues foil (gold, silver or copper) on the places marked with that color.

      You can look at an example here, it does not use a seperation color, but you should get the idea. 

      My long term goal is to be able to use PDFBox for all possible pre-press PDF manipulations. E.g. changing/remapping colorspaces, resampling images to the target resolution, ...

      At the moment I know of this "special cases" which will need a special treatment, as they are normally handled through rendering them first into a BufferedImage:

      • Transparency groups
      • Softmasks

      Are there other places which resort to rendering to a BufferedImage first?

      Attachments

        1. shadingpaint_generic_baseclass.patch
          9 kB
          Emmeran Seehuber
        2. pdshadingpaint_base_interface.patch
          8 kB
          Emmeran Seehuber

        Activity

          People

            tilman Tilman Hausherr
            rototor Emmeran Seehuber
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: