package com.aspose.pdf.examples.AsposePdfExamples.SecurityAndSignatures; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.OutputStream; import com.aspose.pdf.Document; import com.aspose.pdf.PKCS1; import com.aspose.pdf.facades.PdfFileSignature; public class AddDigitalSignatureToPDFFile { public static void main(String[] args) { String dataDir = "PathToDir"; // Instantiate Document object Document doc = new Document(); // Add a page to PDF document doc.getPages().add(); OutputStream out = new java.io.ByteArrayOutputStream(); // Save document to Stream object doc.save(out); // Create PdfFileSignature instance PdfFileSignature pdfSignSingle = new PdfFileSignature(); // Bind the source PDF by reading contents of Stream pdfSignSingle.bindPdf(new ByteArrayInputStream(((ByteArrayOutputStream) out).toByteArray())); // Sign the PDF file using PKCS1 object pdfSignSingle.sign(1, true, new java.awt.Rectangle(100, 100, 150, 50), new PKCS1(dataDir + "VirtualCabinetPortal (1).pfx", "password")); // Set image for signature appearance pdfSignSingle.setSignatureAppearance(dataDir + "im.jpg"); // Save final output pdfSignSingle.save(dataDir + "out_PDFNEWJAVA_33311.pdf"); } }