Uploaded image for project: 'XMLGraphicsCommons'
  1. XMLGraphicsCommons
  2. XGC-2

[PATCH] New component: PostScript DSC parser

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Resolution: Fixed
    • 2.6
    • None
    • postscript
    • Operating System: All
      Platform: All

    Description

      (adding this for IP clearance tracking)

      Description of the contribution:

      DSC parser/processor

      Many PostScript files use special comments to structure a document. This
      allows manipulation of PostScript files without interpreting them. These
      special comments are defined in the Document Structuring Conventions.
      http://partners.adobe.com/public/developer/en/ps/5001.DSC_Spec.pdf
      The code in Commons is designed to work with DSC 3.0. For details on how
      DSC is used, please take a look at the DSC specification.

      The DSC support in Commons was primarily developed to implement resource
      optimization features in Apache FOP's PostScript output support.
      Resources like images which are used repeatedly in a document should not
      be written to the PostScript file each time it is used. Instead it is
      written once at the beginning of the file as a PostScript form. The form
      is then called whenever the image needs painting.

      But the DSC parser could potentially be used for other purposes. The
      most obvious is extracting a subset of pages from a DSC-compliant file.
      Assume you want to print only page 45 to 57 of a particular document.
      There's an example that demonstrates exactly this. Check out the
      "examples" directory in the distribution. Other potential use cases for
      the DSC parser are:

      • Patching PostScript files, for example, adding OMR marks for automatic
        packaging
      • Imposition (2-up, n-up, rotation, etc.)
      • EPS graphic extraction
      • Inspecting the page count
      • etc. etc.

      The DSC parser (DSCParser) was designed as a pull parser, i.e. you fetch
      new events from the parser inspecting them and acting on them as they
      are found. If you prefer to work with a push parser, you can pass the
      DSCParser a DSCHandler implementation and the parser will send you all
      the events.

      The best example to understand how to use the DSC parser is the
      PageExtractor class that implements the page extraction functionality
      mentioned above.

      Attachments

        1. xmlgraphics-commons-dsc-new.diff.txt.asc
          0.2 kB
          Jeremias Maerki
        2. xmlgraphics-commons-dsc-new.diff.txt
          192 kB
          Jeremias Maerki

        Activity

          People

            general@xmlgraphics.apache.org XML Graphics Project Mailing List
            jeremias@apache.org Jeremias Maerki
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: