[ https://issues.apache.org/jira/browse/PDFBOX-912?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13020571#comment-13020571 ]
Thomas Chojecki commented on PDFBOX-912: ---------------------------------------- I checked out the head of the project and compile the pdfbox. Used this generated jar to test my sample and this work like a charm. Have tried also replacing my old pdfbox 1.3 snapshot from the signing implementation off the work with this one and this failed with "java.lang.IncompatibleClassChangeError" :( i think i need to recompile the project at work and test it.again. But for now adam i would like to thank you for including this changes to the head of the pdfbox :) i think this wasn't so easy :) my next plan is to solve some small open issues i found. i think this issue PDFBOX-912 can be closed for now and i will open another one for additional improvements. > PDF signing interface and improvments > ------------------------------------- > > Key: PDFBOX-912 > URL: https://issues.apache.org/jira/browse/PDFBOX-912 > Project: PDFBox > Issue Type: Improvement > Components: PDFReader, PDModel, PDModel.AcroForm, Writing > Affects Versions: 1.4.0 > Reporter: Thomas Chojecki > Assignee: Adam Nichols > Priority: Minor > Attachments: cos_object_improvement_patch.txt, > fields_annotations_patch.txt, interface_options_patch.txt, io_patch.txt, > main_documents_patch.txt, parser_patch.txt, signature_exception_patch.txt, > test.pdf, test_signed.pdf, writer_patch.txt > > > This is a first version of a signing interface for pdfbox. There are some > design issues i could not handle without rewriting too much of the code. > Here we go: > - incremental update support (tested for signatures with pdf/a > compatibility), not compatible with encrypted documents nor with xref-streams > - cos object improvment > -- COSString with ability to force writing hexbin for given string > -- COSBase with ability to write direct into a dictionary (that means if > this is set, no indirect object will be wrote) (sry hard to explain what i > mean, actualy needed for incremental update to lower the rate of indirect > objects) > -- COSBase with ability to force writing object (this hook help the > COSWriter write needed objects for inkremental update) > -- COSName added new names > -- COSDocument some getter and setter for handling new signature and > incremental features > - SignatureException with some exceptions for handling the bunch of new > possible errors > -Parser improvments > -- PDFParser saves now the position of the last startxref > -- VisualSignatureParser (hook for parsing visual signature templates) > (it's only for prepared visualisation that should be merged with the document) > -IO improvments > -- COSFilterInput helps to find the proper content that should be hashed / > signed > -- COSStandardOutputStream is tricky, it helps the writer to jump to the > right place in the document > -- COSWriter got some improvments for incremental update > -- COSWriterXRefEntry needed for incremental updates and writing the new > Xref table > - PDDocument > -- got a new method addSignature with the needed implementation (do the > whole signature stuff) > -- cleanup > - Fields and Annotations > -- PDSignature represent the signature dictionary > -- PDSignatureFild / Annotation are the visible & unvisible signature > representations > - Signature Interface and options > -- SignatureInterface the interface that shall be implemented for proper > signing > -- SignatureOptions, some additional options for signing > Patch splited into pieces > sry for spelling, didn't include a spellchecker for english. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira