[ https://issues.apache.org/jira/browse/PDFBOX-1614?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
John Hewson updated PDFBOX-1614: -------------------------------- Component/s: (was: Writing) (was: PDModel) > Digitally sign PDFs without file system access > ---------------------------------------------- > > Key: PDFBOX-1614 > URL: https://issues.apache.org/jira/browse/PDFBOX-1614 > Project: PDFBox > Issue Type: Improvement > Components: Signing > Affects Versions: 1.8.1 > Reporter: Thierry Boschat > Assignee: Thomas Chojecki > > 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 was sent by Atlassian JIRA (v6.1.5#6160)