Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.1
    • Fix Version/s: 4.0 - Beta, 4.0
    • Component/s: Core/Parsing
    • Labels:
      None
    • Environment:
      All

      Description

      If anything new is added to a PDF file, or something is modified, we'll have to support appending an incremental update.

      Relevant issues:

      1. Linearised file becomming unlinearised. We don't support linearisation, and we'd probably want to avoid re-writing the entire file.
      2. If existing file uses cross reference streams, should appended section use cross reference stream or xref table? There are also hybrid files that use both.
      3. If existing file uses object streams, should new objects go into an object stream (which allows for encryption), or simply write objects directly?
      4. When new objects are created, they have to be assigned object numbers, which is something you take from the existing xref table, since it tells you what the next number to use is.
      5. Are we only adding objects, or will we be editing and deleting them? This affects the xref writing.
      6. If the original document was encrypted, the updated document must also be encrypted.
      7. Will save feature be standard or pro feature

      A. Know how to write a trailer
      B. Know how to write a xref table, and possibly cross reference stream
      C. Possibly know how to write an object stream
      D. Know how to write whichever object is being added or modified
      E. Know how to write a Page object

        Issue Links

          Activity

          Repository Revision Date User Message
          ICEsoft Public SVN Repository #19914 Wed Dec 09 16:15:56 MST 2009 mark.collette PDF-72 : PDF incremental updates
          Fix encryption's conversion between bytes and chars.
          Files Changed
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/HexStringObject.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/security/StandardEncryption.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/Utils.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/LiteralStringObject.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #19907 Wed Dec 09 12:18:25 MST 2009 mark.collette PDF-72 : PDF incremental updates
          Properly write out encrypted PDFs with encrypted strings. Fail fast on java.lang.String.
          Files Changed
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/StateManager.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/application/Capabilities.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Document.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #19871 Mon Dec 07 09:33:45 MST 2009 mark.collette PDF-72 : PDF incremental updates
          Files Changed
          Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/SwingController.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/StateManager.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/BorderStyle.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/io/CountingOutputStream.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/PObject.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/LazyObjectLoader.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/PTrailer.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/application/Capabilities.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Document.java

            People

            • Assignee:
              Mark Collette
              Reporter:
              Mark Collette
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: