Hi Thierry, currently only FileInputStream is allowed as the input part of saveIncremental. It supports OutputStream though for the output part.
Could you file an enhancement request on Jira [1] BR Maruan Sahyoun [1] https://issues.apache.org/jira/browse/PDFBOX Am 24.05.2013 um 16:58 schrieb "BOSCHAT, Thierry" <[email protected]>: > Hi I'm using pdfbox-1.8.1 to digitally sign PDFs. > > I find the sample below to handle it. > > But in this example I have to use a FileInputStream however I want to do it > only through streams (without any file system access). I tried to extends > FileInputStream to deal with it but I failed. Any tips for me about that > problem ? > > > > Thanks. > > > File outputDocument = new File("resources/signed" + document.getName()); > FileInputStream fis = new FileInputStream(document); > FileOutputStream fos = new FileOutputStream(outputDocument); > > int c; > while ((c = fis.read(buffer)) != -1) > { > fos.write(buffer, 0, c); > } > fis.close(); > fis = new FileInputStream(outputDocument); > > // load document > PDDocument doc = PDDocument.load(document); > > // create signature dictionary > PDSignature signature = new PDSignature(); > signature.setFilter(PDSignature.FILTER_ADOBE_PPKLITE); // default filter > // subfilter for basic and PAdES Part 2 signatures > signature.setSubFilter(PDSignature.SUBFILTER_ADBE_PKCS7_DETACHED); > signature.setName("signer name"); > signature.setLocation("signer location"); > signature.setReason("reason for signature"); > > // the signing date, needed for valid signature > signature.setSignDate(Calendar.getInstance()); > > // register signature dictionary and sign interface > doc.addSignature(signature, this); > > // write incremental (only for signing purpose) > > doc.saveIncremental(fis, fos); > > This message contains information that may be privileged or confidential and > is the property of the Capgemini Group. It is intended only for the person to > whom it is addressed. If you are not the intended recipient, you are not > authorized to read, print, retain, copy, disseminate, distribute, or use this > message or any part thereof. If you receive this message in error, please > notify the sender immediately and delete all copies of this message.

