Proteja sus documentos: Implemente firmas de código QR en Java con GroupDocs.Signature

En el panorama digital actual, garantizar la seguridad de documentos como contratos, facturas o información personal confidencial es crucial. Un enfoque innovador para mejorar la seguridad de los documentos y simplificar los procesos de verificación es el uso de firmas de código QR. Este tutorial le guiará en la implementación y verificación de firmas de código QR para sus documentos en Java con GroupDocs.Signature.

Lo que aprenderás

  • Cómo firmar documentos usando códigos QR
  • Verificación de documentos firmados con códigos QR
  • Búsqueda de firmas de código QR existentes dentro de un documento
  • Actualización y eliminación de firmas de código QR de sus documentos

¡Configuremos tu entorno y comencemos!

Prerrequisitos

Antes de comenzar, asegúrese de tener los siguientes requisitos previos:

Bibliotecas y dependencias requeridas

Necesitarás GroupDocs.Signature para Java. Puedes incluirlo mediante Maven o Gradle, o descargarlo directamente.

Experto

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-signature</artifactId>
    <version>23.12</version>
</dependency>

Gradle

implementation 'com.groupdocs:groupdocs-signature:23.12'

Descarga directa Descargue la última versión desde Versiones de GroupDocs.Signature para Java.

Requisitos de configuración del entorno

  • Asegúrese de tener instalado Java Development Kit (JDK) 8 o superior.
  • Utilice un IDE como IntelliJ IDEA, Eclipse o NetBeans.

Requisitos previos de conocimiento

Es beneficioso tener conocimientos básicos de programación Java y procesamiento de documentos.

Configuración de GroupDocs.Signature para Java

Para utilizar GroupDocs.Signature en su proyecto, siga estos pasos:

  1. Instalación:Elija entre Maven, Gradle o descarga directa según su configuración.

  2. Adquisición de licencias:

    • Comience con una prueba gratuita disponible en Sitio web de GroupDocs.
    • Considere obtener una licencia temporal para realizar pruebas y desarrollos extendidos de aquí.
  3. Inicialización básica: A continuación se explica cómo inicializar GroupDocs.Signature:

    Signature signature = new Signature("YOUR_DOCUMENT_PATH");
    

Esto lo prepara para implementar firmas de código QR.

Guía de implementación

Firmar documento con firma de código QR

Descripción general

Firmar un documento con un código QR implica insertar un código único que representa su firma digital. Este proceso protege el documento y facilita la verificación posterior de su autenticidad.

Paso 1: Configure sus opciones de firma
import com.groupdocs.signature.Signature;
import com.groupdocs.signature.domain.enums.HorizontalAlignment;
import com.groupdocs.signature.domain.enums.VerticalAlignment;
import com.groupdocs.signature.options.sign.QrCodeSignOptions;

Signature signature = new Signature("YOUR_DOCUMENT_PATH");
QrCodeSignOptions signOptions = new QrCodeSignOptions("John Smith", com.groupdocs.signature.domain.qrcodes.QrCodeTypes.QR);

signOptions.setVerticalAlignment(VerticalAlignment.Top);
signOptions.setHorizontalAlignment(HorizontalAlignment.Center);
signOptions.setWidth(100);
signOptions.setHeight(40);

Explicación: QrCodeSignOptions Está configurado para crear un código QR con texto y alineación específicos. Ajuste el ancho y la altura según sea necesario.

Paso 2: Personalizar la apariencia de la firma
import java.awt.Color;

signOptions.setForeColor(Color.RED); // Establecer el color del código QR
com.groupdocs.signature.domain.SignatureFont signatureFont = new com.groupdocs.signature.domain.SignatureFont();
signatureFont.setSize(12);
signatureFont.setFamilyName("Comic Sans MS");
signOptions.setFont(signatureFont);

Explicación:Personalizar la fuente y el color mejora la identificación visual.

Paso 3: Firmar el documento
import java.util.ArrayList;
import java.util.List;

List<String> signatureIds = new ArrayList<>();
List<com.groupdocs.signature.domain.BaseSignature> signedSignatures = signature.sign("YOUR_OUTPUT_PATH", signOptions).getSucceeded();

for (com.groupdocs.signature.domain.BaseSignature temp : signedSignatures) {
    signatureIds.add(temp.getSignatureId());
}

Explicación:Este paso firma el documento y almacena los ID de firma para referencia futura.

Verificar documento con firma de código QR

Descripción general

La verificación garantiza que un documento se haya firmado legítimamente. Aquí te explicamos cómo verificar una firma con código QR en un documento.

Paso 1: Configurar las opciones de verificación
import com.groupdocs.signature.Signature;
import com.groupdocs.signature.options.verify.QrCodeVerifyOptions;

Signature signature2 = new Signature("YOUR_OUTPUT_PATH");
QrCodeVerifyOptions verifyOptions = new QrCodeVerifyOptions();

verifyOptions.setEncodeType(QrCodeTypes.QR);
verifyOptions.setText("John Smith"); // Texto para verificar
verifyOptions.setAllPages(false); 
verifyOptions.setPageNumber(1);

Explicación:Las opciones de verificación especifican qué tipo de código QR y texto buscar, garantizando que la firma coincida con sus expectativas.

Paso 2: Realizar la verificación
boolean isValid = signature2.verify(verifyOptions).isValid();
System.out.println("Is Signature Valid? " + isValid);

Explicación:Esto verifica si el documento contiene un código QR válido que coincida con sus criterios.

Buscar documento para la firma del código QR

Descripción general

A veces es necesario localizar firmas existentes en un documento. Aquí te explicamos cómo buscarlas con GroupDocs.Signature.

Paso 1: Configurar las opciones de búsqueda
import com.groupdocs.signature.domain.signatures.QrCodeSignature;
import com.groupdocs.signature.options.search.QrCodeSearchOptions;

Signature signature2 = new Signature("YOUR_OUTPUT_PATH");
QrCodeSearchOptions searchOptions = new QrCodeSearchOptions();
searchOptions.setAllPages(true);

Explicación:Esto configura la herramienta para escanear todas las páginas en busca de firmas de código QR.

Paso 2: Ejecutar búsqueda
List<QrCodeSignature> signatures = signature2.search(QrCodeSignature.class, searchOptions);

for (QrCodeSignature qrSignature : signatures) {
    System.out.println("Found Signature ID: " + qrSignature.getSignatureId());
}

Explicación:Esto recupera todas las firmas de código QR encontradas en el documento.

Actualizar la firma del código QR del documento

Descripción general

Actualizar una firma implica cambiar sus propiedades, como la posición o el tamaño. A continuación, se explica cómo hacerlo:

Paso 1: Preparar las firmas para la actualización
import com.groupdocs.signature.domain.signatures.QrCodeSignature;
import java.io.ByteArrayOutputStream;

Signature signature2 = new Signature("YOUR_OUTPUT_PATH");
List<QrCodeSignature> signaturesToUpdate = new ArrayList<>();

// Suponiendo que 'firmas' es una lista de objetos QrCodeSignature obtenidos a partir de la búsqueda
for (QrCodeSignature qrSignature : signatures) {
    qrSignature.setLeft(qrSignature.getLeft() + 100);
    qrSignature.setTop(qrSignature.getTop() + 100);
    qrSignature.setWidth(200);
    qrSignature.setHeight(50);
    signaturesToUpdate.add(qrSignature);
}

Explicación:Esto ajusta la posición y el tamaño de cada firma.

Paso 2: Actualizar el documento
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
signature2.update(outputStream, signaturesToUpdate);

Explicación:El documento se actualiza con las firmas de código QR modificadas.

Eliminar la firma del código QR del documento por ID

Descripción general

Puede ser necesario eliminar una firma si ya no es necesaria o se agregó por error. Aquí te explicamos cómo eliminarla usando su ID único.

Paso 1: Identificar las firmas que se eliminarán
import com.groupdocs.signature.domain.SignatureCollection;
import java.util.Arrays;

SignatureCollection signaturesToDelete = signature2.search(QrCodeSignature.class);
Arrays.stream(signaturesToDelete).forEach(signature -> {
    if (signature.getSignatureId().equals("YOUR_SIGNATURE_ID")) {
        signature.delete();
    }
});

Explicación:Esto busca y elimina la firma del código QR por su ID único.

Conclusión

Esta guía le ha guiado a través de la protección de documentos mediante firmas de código QR en Java con GroupDocs.Signature. Siguiendo estos pasos, podrá garantizar la firma segura de sus documentos y verificar su autenticidad fácilmente.