Como adicionar assinatura digital a PDF em Java

Este tutorial preciso elabora os detalhes sobre como adicionar assinatura digital a PDF em Java. Abrange todos os detalhes básicos sobre como usar o documento Java sign PDF com um arquivo de certificado. Além disso, não precisamos instalar nenhuma outra ferramenta para integrar o recurso de assinatura de PDF em aplicativos de processamento de PDF.

Etapas para adicionar assinatura digital a PDF em Java

  1. Adicione a referência à biblioteca Aspose.PDF for Java no projeto para assinar digitalmente um arquivo PDF
  2. Carregue o arquivo PDF de destino no objeto de classe Document para assiná-lo
  3. Inicialize o objeto de classe PKCS7 para carregar o arquivo de certificado de entrada
  4. Especifique as coordenadas do retângulo e defina a imagem de aparência para a assinatura
  5. Assine o documento com o método de certificação e salve o arquivo de saída

Estas etapas resumem como adicionar uma assinatura digital em PDF usando Java. Você pode controlar o número da página, bem como as coordenadas retangulares para colocar as assinaturas digitais. Da mesma forma, você pode controlar a aparência da assinatura, como imagem, motivo, detalhes de contato, etc. ao assinar um documento PDF.

Código para adicionar assinatura digital a PDF em Java

import com.aspose.pdf.Document;
import com.aspose.pdf.License;
public class AddDigitalSignatureToPDFInJava {
public static void main(String[] args) throws Exception { // main function to add digital signature to PDF in Java
// Instantiate the license to avoid watermark in the output signed PDF
License licSignPdf = new License();
licSignPdf.setLicense("Aspose.Pdf.lic");
// Load the input PDF document to be signed
Document doc = new Document("input.pdf");
// Create signature class object for the loaded document
com.aspose.pdf.facades.PdfFileSignature signature = new com.aspose.pdf.facades.PdfFileSignature(doc);
// Load the certificate along with the password
com.aspose.pdf.PKCS7 pkcs = new com.aspose.pdf.PKCS7("certificate1.pfx", "123456789");
com.aspose.pdf.DocMDPSignature docMdpSignature = new com.aspose.pdf.DocMDPSignature(pkcs, com.aspose.pdf.DocMDPAccessPermissions.FillingInForms);
// Define the rectangle for the signature on the PDF
java.awt.Rectangle rect = new java.awt.Rectangle(150, 650, 450, 150);
// Set signature appearance by loading an image
signature.setSignatureAppearance("aspose-logo.png");
// Sign the PDF file with the certify method
signature.certify(1, "Reason for the signature", "Contact Info", "Location where it is signed", true, rect, docMdpSignature);
// Save digitally signed PDF file
signature.save("Digitally Signed PDF.pdf");
System.out.println("Done");
}
}

Este exemplo de código em Java assina PDF com certificado onde precisamos especificar a senha para o arquivo de certificado PFX. Além disso, este código pode ser improvisado conforme suas necessidades. Por exemplo, você pode decidir carregar um arquivo PDF de entrada para adicionar uma assinatura digital a ele ou inicializar um documento em branco para trabalhar com ele e assiná-lo usando a classe PdfFileSignature.

Neste artigo, exploramos a adição de assinaturas digitais a PDF em Java. Considerando que, se você quiser entender o processo de proteção de PDF com uma senha, acesse o artigo em como proteger PDF com senha em Java.

 Português