Pruebe en producción sin marcas de agua.
Funciona donde lo necesite.
Obtén 30 días de producto totalmente funcional.
Ténlo en funcionamiento en minutos.
Acceso completo a nuestro equipo de asistencia técnica durante la prueba del producto
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 PDF de IronPDF para Java es una biblioteca Java que permite a los desarrolladores crear nuevos documentos PDF desde cero a través de Convertir Cadenas HTML a PDF, Convertir Archivos HTML a PDF, Conversión de Word a PDF, o URL. Ayuda a manipular PDFs fácilmente añadiendo o eliminando contenido de ellos. Proporciona opciones 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 Maven. Puedes agregar el siguiente fragmento de código en la etiqueta de dependencias del archivo pom.xml
:
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>com.ironsoftware</artifactId>
<version>2025.4.4</version>
</dependency>
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.
Para aprender cómo firmar digitalmente PDFs, es necesario crear un documento PDF desde cero o abrir un documento PDF existente. Este artículo creará un nuevo documento PDF para la firma PDF utilizando el método renderHtmlAsPdf
de la clase 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. Puedes echar un vistazo a Cómo crear una firma digital en Adobe Reader.
Abre Adobe Reader y haz 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.
Agregar cuadro de diálogo de ID digital
El siguiente ejemplo de código creará una nueva firma en código Java utilizando el archivo de certificado .pfx para Windows y el archivo .p12 para Mac junto con su clave privada (contraseña):
Signature signature = new Signature("Iron.pfx", "123456");
IronPDF ayuda a agregar 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 previa del documento PDF, y luego se puede añadir una nueva firma utilizando el Método SignPdfWithSignature
con el archivo de firma como argumento. El código es el siguiente:
SignatureManager signatureManager = pdf.getSignature();
signatureManager.SignPdfWithSignature(signature);
Finalmente, guardemos el archivo PDF; de lo contrario, el PDF no está firmado usando el mé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.
Cómo añadir firmas digitales a PDFs en Java, Figura 4: El archivo PDF de salida
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");
}
Puedes consultar más información sobre la Firma Digital en el Ejemplo de Código de Firmas PDF. Si deseas agregar más seguridad e incluso editar metadatos, consulta el Ejemplo 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 una clase Signature
y SignatureManager
, que ayuda a los usuarios a añadir un certificado y firmar un 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 proporciona una conversión fácil desde diferentes formatos de archivo, utilizando el rápido IronPDFEngine
diseñado específicamente para Java. Puede usar la biblioteca IronPDF para extraer o agregar texto, cargar y extraer imágenes, agregar encabezados y pies de página a PDFs, anotaciones, renderizar gráficos y diagramas en PDFs, trabajar con formularios PDF, y mucho más.
Puedes obtener información detallada sobre cómo usar IronPDF desde las páginas de Ejemplos de Código Java PDF.
IronPDF es gratuito para el desarrollo individual y ofrece una prueba gratuita sin marca de agua para generar documentos PDF. Puede obtener una licencia para uso comercial, y sus usuarios pueden obtener más información sobre la licencia en esta Página de Información Detallada sobre Licencias.