ICEpdf
  1. ICEpdf
  2. PDF-564

Support for Adobe PDF Portfolio files

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 5.0
    • Fix Version/s: 5.1
    • Component/s: Core/Parsing
    • Labels:
      None
    • Environment:
      All
    • Salesforce Case Reference:

      Description

      Feature Request: Add support for the PDF portfolio files. These files combine multiple PDF files into one file.

      When rendering the file with the current ICEpdf Pro 5.0.0 it displays a document with the following: "For best results, if you open this PDF portfolio in Acrobat 9 or Adobe Reader 9 or later"

        Issue Links

          Activity

          Hide
          Patrick Corless added a comment -

          Portfolio's are defined as a new feature in 1.7 of the specification and are referred to as Collection items.

          Show
          Patrick Corless added a comment - Portfolio's are defined as a new feature in 1.7 of the specification and are referred to as Collection items.
          Hide
          Patrick Corless added a comment -

          What Adobe refers to as PDF Packages and PDF Portfolios are defined in the PDF file format as "collections". Refer to sections 7.11 ‘File Specifications’ and 12.3.5 ‘Collections’ of the ISO 32000 PDF Reference (1.7) for specification information.

          A PDF collection is, essentially, a PDF cover-sheet document that contains embedded files and information about each of those files. If the embedded files are PDF files, each is a whole, autonomous PDF file. Therefore, each embedded PDF maintains its own individual security settings, digital signature, etc., after being added to the created collection.

          To determine if a document is a collection, one needs to look at the /Root dictionary and determine if there is a /Collection under Root. Within the collection, each file may have XML metadata associated with it, as well as other information about the file (name, size, modification date, etc.). The PDF Library can retrieve all of this, though it is not able to interpret the XML metadata. Calling applications would need to interpret the metadata to associate it with, for example, an email message.

          "Attachments" are also files that are embedded in a PDF file, all of which are grouped together in an "embedded files" set (/EmbeddedFiles under /Root). The PDF collection in a PDF file will make reference to some or all of these embedded files. Embedded files that are not referenced in the collection are listed in the Attachments pane of Adobe Reader.

          Note that the CosObj "EmbeddedFiles" can contain the CosObj "Names" (type CosArray) in which the names of the files are listed. Or the CosObj "EmbeddedFiles" can contain the CosObj "Kids" (type CosArray) where every CosObj in this array contains the CosObj "Names" (type CosArray). Every Names CosObj then contains the names of the files.

          Is there a difference between a PDF package and a PDF Portfolio?

          In PDF 1.7, Adobe introduced the /Collection dictionary. Acrobat 8 uses the term PDF Package to describe a PDF document that contains a collection dictionary. In the ISO 32000-1:2008 version of the PDF specification (Acrobat v9), the collection dictionary was extended to allow customizable ActionScripts to navigate the collection and some other stuff. Acrobat 9.0 uses the term PDF Portfolio to describe any document that contains a collection dictionary, regardless of whether the document uses the extended form of the collection dictionary.

          Product(s): Adobe PDF Library

          Show
          Patrick Corless added a comment - What Adobe refers to as PDF Packages and PDF Portfolios are defined in the PDF file format as "collections". Refer to sections 7.11 ‘File Specifications’ and 12.3.5 ‘Collections’ of the ISO 32000 PDF Reference (1.7) for specification information. A PDF collection is, essentially, a PDF cover-sheet document that contains embedded files and information about each of those files. If the embedded files are PDF files, each is a whole, autonomous PDF file. Therefore, each embedded PDF maintains its own individual security settings, digital signature, etc., after being added to the created collection. To determine if a document is a collection, one needs to look at the /Root dictionary and determine if there is a /Collection under Root. Within the collection, each file may have XML metadata associated with it, as well as other information about the file (name, size, modification date, etc.). The PDF Library can retrieve all of this, though it is not able to interpret the XML metadata. Calling applications would need to interpret the metadata to associate it with, for example, an email message. "Attachments" are also files that are embedded in a PDF file, all of which are grouped together in an "embedded files" set (/EmbeddedFiles under /Root). The PDF collection in a PDF file will make reference to some or all of these embedded files. Embedded files that are not referenced in the collection are listed in the Attachments pane of Adobe Reader. Note that the CosObj "EmbeddedFiles" can contain the CosObj "Names" (type CosArray) in which the names of the files are listed. Or the CosObj "EmbeddedFiles" can contain the CosObj "Kids" (type CosArray) where every CosObj in this array contains the CosObj "Names" (type CosArray). Every Names CosObj then contains the names of the files. Is there a difference between a PDF package and a PDF Portfolio? In PDF 1.7, Adobe introduced the /Collection dictionary. Acrobat 8 uses the term PDF Package to describe a PDF document that contains a collection dictionary. In the ISO 32000-1:2008 version of the PDF specification (Acrobat v9), the collection dictionary was extended to allow customizable ActionScripts to navigate the collection and some other stuff. Acrobat 9.0 uses the term PDF Portfolio to describe any document that contains a collection dictionary, regardless of whether the document uses the extended form of the collection dictionary. Product(s): Adobe PDF Library
          Hide
          Patrick Corless added a comment -

          Another example here, PDF-646.

          Show
          Patrick Corless added a comment - Another example here, PDF-646 .
          Hide
          Patrick Corless added a comment -

          Sample file.

          Show
          Patrick Corless added a comment - Sample file.
          Hide
          Patrick Corless added a comment -

          A few API changes were needed but it is now possible to access embedded PDF files that make up a document collection. A new example ./examples/capture/PortfolioCapture.java has been added to show how to do a page capture of the document pages that make up the collection.

          I'll take a look to see how hard this would be to cut into the viewer RI as a new type of page view.

          Show
          Patrick Corless added a comment - A few API changes were needed but it is now possible to access embedded PDF files that make up a document collection. A new example ./examples/capture/PortfolioCapture.java has been added to show how to do a page capture of the document pages that make up the collection. I'll take a look to see how hard this would be to cut into the viewer RI as a new type of page view.
          Hide
          Patrick Corless added a comment -

          API level embedded file access as well as Viewer RI support has been added.

          Show
          Patrick Corless added a comment - API level embedded file access as well as Viewer RI support has been added.

            People

            • Assignee:
              Patrick Corless
              Reporter:
              Arran Mccullough
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: