Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
En este artículo, aprenderá a añadir una firma digital a un PDF utilizando IronPDF en un programa Java.
Descripción general de la biblioteca Java PDF de IronPDF es una biblioteca Java que permite a los desarrolladores crear nuevos documentos PDF desde cero medianteConversión de cadenas HTML a PDF, Conversión de archivos HTML a PDF, Conversión de Word a PDFo URL. Ayuda a manipular PDFs fácilmente añadiendo o eliminando contenido de ellos. ProporcionaOpciones de seguridad y firma digital para el documento PDF junto con la firma digital.
IronPDF no requiere ninguna otra biblioteca de terceros para realizar ninguna de sus tareas relacionadas con PDF. También ofrece la posibilidad de convertir entre distintos formatos de archivo. Proporciona soporte multiplataforma y está diseñado específicamente para Java, Scala y Kotlin.
Para firmar digitalmente documentos PDF, se requieren los siguientes requisitos previos:
Biblioteca IronPDF descargada e instalada - Para descargar e instalar IronPDF, incluya su artefacto de dependencia de Maven. Puede añadir el siguiente fragmento de código en la etiqueta de dependencias del archivo pom.xml
:
``xml-mvn-install-ao
pom.xml
: <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.5</version>
</dependency>
archivo pom.xml
Se requieren las siguientes importaciones en el archivo principal. Permite utilizar las funciones de IronPDF para añadir una firma digital a un documento PDF:
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.signature.Signature;
import com.ironsoftware.ironpdf.signature.SignatureManager;
import java.io.IOException;
import java.nio.file.Paths;
Ahora, todo lo necesario está hecho y listo para añadir una firma digital a los documentos PDF en Java utilizando IronPDF.
AAprenda a firmar digitalmente archivos PDFpara realizar la traducción, es necesario crear un documento PDF desde cero o abrir un documento PDF existente. En este artículo se creará un nuevo documento PDF para la firma de PDF utilizando la funciónmétodo "renderHtmlAsPdf de laclase `PdfDocument. El código es el siguiente:
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>");
El documento PDF se ha creado pero aún no se ha guardado. Por lo tanto, el siguiente paso es crear una firma digital y luego añadirla a este documento PDF y finalmente guardarlo.
Tendrá que crear un certificado de firma digital utilizando Adobe Reader, que se utilizará en código Java para firmar digitalmente documentos PDF con esos datos. Puede echar un vistazo aCómo crear una firma digital en Adobe Reader.
Abra Adobe Reader y haga clic en Editar > Preferencias. A continuación, haga clic en Firmas y como más en Identidades y Certificados de confianza.
Las preferencias del proyecto
Añada el siguiente campo Firma para que el archivo .pfx o .p12 sea doc.
Add Digital ID dialog
El siguiente ejemplo de código creará una nueva firma en código Java utilizando el archivo de certificado .pfx para Windows y .p12 para Mac junto con su clave privada(contraseña):
Signature signature = new Signature("Iron.pfx", "123456");
IronPDF ayuda a añadir el certificado de firma utilizando la clase SignatureManager
. [método "getSignature](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#getSignature()) ayuda a obtener la firma anterior del documento PDF y, a continuación, se puede añadir una nueva firma utilizando la funciónmétodo "SignPdfWithSignature con el archivo de firma como argumento. El código es el siguiente:
SignatureManager signatureManager = pdf.getSignature();
signatureManager.SignPdfWithSignature(signature);
Por último, guardemos el archivo PDF; de lo contrario, el PDF no se firmará utilizando la funciónmétodo "saveAs de la clase PdfDocument
. El código es sencillo y es el siguiente
pdf.saveAs("signed.pdf");
Una vez compilado y ejecutado correctamente el código, el resultado es un PDF firmado digitalmente.
El archivo PDF de salida
IronPDF también proporciona otras opciones de firma, que son opcionales y también pueden utilizarse para firmas digitales. Incluye imágenes de firmas manuscritas, imágenes de texto generadas por ordenador o imágenes digitalizadas. El siguiente ejemplo de código le ayuda a añadir algunas opciones de seguridad adicionales para la firma digital:
signature.setSigningContact("support@ironsoftware.com");
signature.setSigningLocation("Chicago, USA");
signature.setSigningReason("To show how to sign a PDF");
BufferedImage signatureImage = ImageIO.read(new File("handwriting.png"));
WritableRaster raster = signatureImage.getRaster();
DataBufferByte data = (DataBufferByte) raster.getDataBuffer();
signature.setSignatureImage(data.getData());
El código completo es el siguiente:
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.signature.Signature;
import com.ironsoftware.ironpdf.signature.SignatureManager;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.awt.image.DataBufferByte;
import java.awt.image.WritableRaster;
import java.io.File;
import java.io.IOException;
public static void main(String[] args) throws IOException {
// Step 1. Create a PDF File Doc
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>");
// Step 2. Create a Signature.
Signature signature = new Signature("Iron.pfx", "123456");
// Step 3. Sign the PDF with the PdfSignature.
SignatureManager signatureManager = pdf.getSignature();
signatureManager.SignPdfWithSignature(signature);
// Step 4. The PDF is not signed until saved to file, stream, or byte array.
pdf.saveAs("signed.pdf");
}
Puede consultar más información sobre la firma digital en la páginaEjemplo de código de firmas PDF. Si desea añadir más seguridad e incluso editar metadatos, marque la casillaEjemplo de código de seguridad y metadatos.
Este artículo explica paso a paso cómo añadir firmas digitales a documentos PDF utilizando IronPDF for Java.
En primer lugar, el artículo cubría los componentes necesarios para trabajar con PDFs en Java utilizando IronPDF. A continuación, cree un documento PDF sencillo utilizando una cadena HTML. Se creó un archivo de certificado de Adobe Reader, que se utilizó para firmar el documento PDF original. IronPDF proporciona las funciones Signature
ygestor de firmas que ayuda a los usuarios a añadir un certificado y firmar PDF con un campo de firma.
IronPDF facilita a los desarrolladores la realización de tareas relacionadas con PDF con facilidad y rapidez. Proporciona resultados precisos con PDF de píxeles perfectos. Para un lenguaje de programación versátil y ampliamente utilizado como Java, IronPDF es muy adecuado para trabajar con documentos PDF, ya que también es versátil y admite casi todas las operaciones con PDF. Además, se basa en las ya exitosas capacidades de .NET.
IronPDF también facilita la conversión desde distintos formatos de archivo, utilizando el rápido IronPDFEngine
diseñado específicamente para Java. Puede utilizar la biblioteca IronPDF paraExtraer o añadir texto, Cargar y extraer imágenes, Añadir encabezados y pies de página a los PDFanotaciones,Renderizar tablas y gráficos a PDFtrabajar conFormularios PDFy muchos más.
Puede obtener información detallada sobre cómo utilizar IronPDF en la páginaEjemplos de código Java en PDF páginas.
IronPDF es gratuito para el desarrollo individual y proporcionauna prueba gratuita sin marca de agua para generar documentos PDF. Puede obtenerse una licencia para uso comercial, y sus usuarios pueden obtener más información sobre la licencia en esta direcciónPágina de información detallada sobre licencias.
9 productos API .NET para sus documentos de oficina