• Type: Wish
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.8.11
    • Fix Version/s: 1.8.12
    • Component/s: Parsing
    • Labels:


      Wish by Petras presented in the mailing list

      Yes, I know, that the version in catalog shall be used to determine version
      and therefore the version COSDocument#getVersion() method result is expected
      to reflect that. But I ask the header string. And it's result differs from
      the actual header string in the file after PDFParser finishes its job.

      Please, bear also in mind that Extensions Dictionary (see ISO 32000-1
      chapter 7.12) validation should consider the values both in document catalog
      and header:
      "The value of BaseVersion, when treated as a version number, shall be less
      than or equal to the PDF version, both in the document header (see 7.5.2,
      "File Header") and the catalog Version key value, if present."

      As it says "both", that means BaseVersion may not exceed the value neither
      in header nor in catalog, therefore we need to validate that.

      my answer:

      How about something like this:

      private String originalHeaderString = null;
      public void setOriginalHeaderString(String header)
              if (originalHeaderString != null)
                    throw bad state exception blah blah
              originalHeaderString = header;
      public String getOriginalHeaderString()
          return originalHeaderString ;

      The setter should be called only once by parseHeader().

      This was accepted, so I'll implement it (for 1.8 only)




            • Assignee:
              tilman Tilman Hausherr
              tilman Tilman Hausherr
            • Votes:
              0 Vote for this issue
              3 Start watching this issue


              • Created: