ICEpdf
  1. ICEpdf
  2. PDF-399

Improve AcroForm Widget rendering support

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 6.0
    • Fix Version/s: 6.0
    • Component/s: Forms
    • Labels:
      None
    • Environment:
      any
    • Salesforce Case Reference:

      Description

      A client has sent in a file that uses uses AcroForm Text fields. Normally ICEpdf has no problem rendering the content/value of the widget but in this case particular case it cannot. Normally the annotation render stream also contains the content of the form widget but in this case only the surrounding box is drawn.

      In order to render this PDF correctly we would have to update our annotation support for button, text, choice and signature fields.

        Issue Links

          Activity

          Patrick Corless created issue -
          Patrick Corless made changes -
          Field Original Value New Value
          Salesforce Case []
          Fix Version/s 5.0 [ 10314 ]
          Arran Mccullough made changes -
          Salesforce Case Reference 5007000000PYDVaAAP
          Hide
          Patrick Corless added a comment -

          I spent a good day trying to figure out why this annotation type was not being displayed correctly. As it turns out we are handling the widget annotation widget correctly but as far as I can tell the appearance stream for the widgets are incorrectly set.

          The correct implementation would be fully support the AcroForm fields as defined by the specification which would in turn draw editable input fields. Unfortunately there is no quick fix to get this docume to render correctly with out implementing support for AcroForms.

          Show
          Patrick Corless added a comment - I spent a good day trying to figure out why this annotation type was not being displayed correctly. As it turns out we are handling the widget annotation widget correctly but as far as I can tell the appearance stream for the widgets are incorrectly set. The correct implementation would be fully support the AcroForm fields as defined by the specification which would in turn draw editable input fields. Unfortunately there is no quick fix to get this docume to render correctly with out implementing support for AcroForms.
          Patrick Corless made changes -
          Fix Version/s 5.1 [ 10675 ]
          Fix Version/s 5.0 [ 10314 ]
          Patrick Corless made changes -
          Affects Version/s 5.2 [ 10970 ]
          Affects Version/s 4.3.2 [ 10321 ]
          Patrick Corless made changes -
          Fix Version/s 5.2 [ 10970 ]
          Fix Version/s 5.1 [ 10675 ]
          Patrick Corless made changes -
          Component/s Acroform [ 10570 ]
          Component/s Core [ 10022 ]
          Patrick Corless made changes -
          Link This issue is duplicated by PDF-835 [ PDF-835 ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #45005 Wed Jun 10 14:30:43 MDT 2015 patrick.corless PDF-399 reworked fieldDictionary class so property hierarchy is built off catelog. Basic dynamic field behavor is complete.
          Files Changed
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/acroform/SignatureFieldDictionary.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/ButtonWidgetAnnotation.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/acroform/InteractiveForm.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/Appearance.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/AbstractWidgetAnnotation.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/WidgetAnnotation.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/acroform/FieldDictionaryFactory.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/ChoiceWidgetAnnotation.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/acroform/ButtonFieldDictionary.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/TextWidgetAnnotation.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/acroform/AdditionalActionsDictionary.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/acroform/VariableTextFieldDictionary.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/acroform/TextFieldDictionary.java
          Commit graph DEL /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/acroform/VariableText.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/acroform/ChoiceFieldDictionary.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/actions/ActionFactory.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/acroform/FieldDictionary.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Catalog.java
          Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/views/annotations/AnnotationComponentFactory.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/Annotation.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/Utils.java
          Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/views/annotations/AbstractAnnotationComponent.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/ImageStream.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #45763 Thu Jul 16 06:28:23 MDT 2015 patrick.corless PDF-399 updated text field postscript generation to rebuild the postscript rather then manipulate the Shapes array. Overall better looking edits and better font resource management.
          Files Changed
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/AbstractWidgetAnnotation.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Resources.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/ChoiceWidgetAnnotation.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/Library.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/TextWidgetAnnotation.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/content/AbstractContentParser.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/AppearanceState.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/acroform/VariableTextFieldDictionary.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #45768 Fri Jul 17 07:46:28 MDT 2015 patrick.corless PDF-399 removed 1.6 string api call isEmpty
          Files Changed
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/acroform/SignatureFieldDictionary.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/acroform/InteractiveForm.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/ChoiceWidgetAnnotation.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/TextWidgetAnnotation.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #45769 Fri Jul 17 07:54:00 MDT 2015 patrick.corless PDF-399 removed 1.6 component api revalidate.
          Files Changed
          Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/views/PageViewComponentImpl.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #45770 Fri Jul 17 08:09:34 MDT 2015 patrick.corless PDF-399 removed override annotation to fix compile issue.
          Files Changed
          Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/views/PageViewComponentImpl.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #45771 Fri Jul 17 08:16:48 MDT 2015 patrick.corless PDF-399 fixed revalidate jdk 1.6 issue.
          Files Changed
          Commit graph MODIFY /icepdf/branches/icepdf-5.0.1/icepdf/viewer/src/org/icepdf/ri/common/views/PageViewComponentImpl.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #45913 Fri Aug 28 09:59:44 MDT 2015 patrick.corless PDF-399 addition of write support for AcroForms widget edits. Also addition of encrypt support when doing encremental updates.
          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/annotations/FreeTextAnnotation.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/ButtonWidgetAnnotation.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/AbstractWidgetAnnotation.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/Appearance.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/ChoiceWidgetAnnotation.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/TextWidgetAnnotation.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/AppearanceState.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Document.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/acroform/ChoiceFieldDictionary.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/pobjects/StateManager.java
          Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/views/annotations/FreeTextAnnotationComponent.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/acroform/FieldDictionary.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Page.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/Annotation.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/LiteralStringObject.java
          Hide
          Patrick Corless added a comment -

          Further work as been done to insure document saves will persist the form widget changes. Support for encrypted documents including crypt filters.

          Show
          Patrick Corless added a comment - Further work as been done to insure document saves will persist the form widget changes. Support for encrypted documents including crypt filters.
          Hide
          Patrick Corless added a comment -

          Marking as fixed. Will create new bugs as they role in.

          Show
          Patrick Corless added a comment - Marking as fixed. Will create new bugs as they role in.
          Patrick Corless made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #45925 Tue Sep 01 07:53:54 MDT 2015 patrick.corless PDF-399 build changes to get the demo running gain with annotation support.
          Files Changed
          Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/views/annotations/AnnotationComponentFactory.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #45926 Tue Sep 01 08:09:40 MDT 2015 patrick.corless PDF-399 build changes to get the demo running gain with annotation support.
          Files Changed
          Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/views/annotations/AnnotationComponentFactory.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #45988 Mon Sep 21 11:06:19 MDT 2015 patrick.corless PDF-399 fixed annotation move/not show regression do to state changes made for appearance stream.
          Files Changed
          Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/views/annotations/AbstractAnnotationComponent.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #45990 Mon Sep 21 11:08:55 MDT 2015 patrick.corless PDF-399 added text selection colour when apply, strike and underline annotations types.
          Files Changed
          Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/views/PageViewComponentImpl.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #45991 Mon Sep 21 11:09:55 MDT 2015 patrick.corless PDF-399 fixed regression where text annotation movement would result in the text icon no longer being painted.
          Files Changed
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/TextAnnotation.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #45992 Mon Sep 21 11:10:43 MDT 2015 patrick.corless PDF-399 added quadding support for text input, but still no postscript support.
          Files Changed
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/annotations/Annotation.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #45994 Mon Sep 21 14:21:05 MDT 2015 patrick.corless PDF-399 added ressetAppearanceShapes to FreeTextAnnotationComponent to fix regression in initial paint.
          Files Changed
          Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/views/annotations/FreeTextAnnotationComponent.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #46009 Wed Sep 23 09:28:27 MDT 2015 patrick.corless PDF-399 fixed issue wher AES encrypted documents. String are now correctly setup for encryption.
          Files Changed
          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/pobjects/security/StandardSecurityHandler.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #46014 Thu Sep 24 08:09:50 MDT 2015 patrick.corless PDF-399 fixed null pointer with documents that have an empty interactive form list.
          Files Changed
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Document.java
          Hide
          Patrick Corless added a comment -

          Marking as closed

          Show
          Patrick Corless added a comment - Marking as closed
          Patrick Corless made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

            People

            • Assignee:
              Patrick Corless
              Reporter:
              Patrick Corless
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: