Cómo firmar imágenes DICOM con códigos QR y metadatos usando GroupDocs.Signature para Java
Introducción
En el cambiante panorama de la atención médica digital, la gestión segura de los datos de los pacientes es fundamental. Este tutorial le guía en la implementación de una solución robusta con GroupDocs.Signature para Java para firmar imágenes DICOM (Imagen Digital y Comunicaciones en Medicina) con códigos QR y metadatos. Estas funciones garantizan la autenticidad, mejoran la trazabilidad y mantienen el cumplimiento normativo al integrar información vital directamente en las imágenes médicas.
Lo que aprenderás:
- Cómo integrar GroupDocs.Signature para Java en su proyecto.
- El proceso de firmar imágenes DICOM con códigos QR.
- Agregar metadatos XMP para mejorar la seguridad de los documentos.
- Recuperación, verificación y búsqueda de firmas dentro de archivos DICOM.
- Generación de vistas previas de imágenes DICOM firmadas.
¡Comencemos! Antes de empezar, asegurémonos de que tengas todo lo necesario para seguir el tutorial sin problemas.
Prerrequisitos
Para implementar las funciones de GroupDocs.Signature de manera efectiva, asegúrese de cumplir los siguientes requisitos previos:
Bibliotecas y dependencias requeridas
- GroupDocs.Signature para JavaNecesitará la versión 23.12 o posterior de esta biblioteca.
Requisitos de configuración del entorno
- Kit de desarrollo de Java (JDK):Asegúrese de que JDK esté instalado en su sistema.
- IDE:Utilice un entorno de desarrollo integrado como IntelliJ IDEA o Eclipse.
Requisitos previos de conocimiento
Una comprensión básica de:
- Programación Java y principios orientados a objetos.
- Herramientas de compilación Maven o Gradle para la gestión de dependencias.
Configuración de GroupDocs.Signature para Java
Para empezar a usar GroupDocs.Signature, debes añadirlo como dependencia a tu proyecto. Puedes hacerlo con diferentes herramientas de compilación a continuación:
Experto
Añade el siguiente fragmento a tu pom.xml
archivo:
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-signature</artifactId>
<version>23.12</version>
</dependency>
Gradle
Incluye esto en tu build.gradle
archivo:
implementation 'com.groupdocs:groupdocs-signature:23.12'
Descarga directa
Alternativamente, puede descargar la última versión desde Versiones de GroupDocs.Signature para Java.
Pasos para la adquisición de la licencia
- Prueba gratuitaPruebe las funciones con una prueba gratuita por tiempo limitado.
- Licencia temporal:Obtenga una licencia temporal para explorar todas las capacidades.
- Compra:Compre una suscripción si necesita acceso a largo plazo.
Inicialización y configuración básicas
Para inicializar GroupDocs.Signature, cree una instancia de Signature
clase:
import com.groupdocs.signature.Signature;
// Inicialice el objeto de firma con la ruta a su archivo DICOM
Signature signature = new Signature(filePath);
Guía de implementación
Firmar una imagen DICOM con código QR y metadatos
Descripción general
Esta función le permite firmar imágenes DICOM con un código QR y agregar metadatos XMP, mejorando la seguridad del documento.
Paso 1: Configurar las opciones de señalización del código QR
import com.groupdocs.signature.domain.Padding;
import com.groupdocs.signature.domain.enums.HorizontalAlignment;
import com.groupdocs.signature.domain.enums.VerticalAlignment;
import com.groupdocs.signature.domain.signatures.QrCodeSignOptions;
Padding padding = new Padding();
padding.setRight(5);
padding.setLeft(5);
QrCodeSignOptions options = new QrCodeSignOptions("Patient #36363393. R: No-Issues");
options.setAllPages(true);
options.setWidth(100);
options.setHeight(100);
options.setVerticalAlignment(VerticalAlignment.Bottom);
options.setHorizontalAlignment(HorizontalAlignment.Right);
options.setMargin(padding);
Aquí, configuramos la apariencia y la posición del código QR en la imagen DICOM.
Paso 2: Agregar metadatos XMP
import com.groupdocs.signature.options.saveoptions.imagessaveoptions.DicomSaveOptions;
import com.groupdocs.signature.options.saveoptions.imagessaveoptions.DicomXmpEntry;
import com.groupdocs.signature.options.saveoptions.imagessaveoptions.DicomXmpType;
DicomSaveOptions dicomSaveOptions = new DicomSaveOptions();
List<DicomXmpEntry> xmpEntries = new ArrayList<>();
xmpEntries.add(new DicomXmpEntry(DicomXmpType.PatientName, "Patient #4"));
dicomSaveOptions.setXmpEntries(xmpEntries);
Este fragmento agrega metadatos al archivo DICOM e incorpora información adicional del paciente.
Paso 3: Firmar el documento
String outputFilePath = YOUR_OUTPUT_DIRECTORY + "/SignDicomImageAdvanced/" + fileName;
signature.sign(outputFilePath, options, dicomSaveOptions);
El sign
El método escribe el código QR y los metadatos en su archivo DICOM y lo guarda en la ubicación especificada.
Recuperación de información de imagen DICOM firmada
Descripción general
Extraiga metadatos XMP de una imagen DICOM firmada para fines de verificación o auditoría.
import com.groupdocs.signature.domain.IDocumentInfo;
import com.groupdocs.signature.domain.signatures.MetadataSignature;
IDocumentInfo documentInfo = signature.getDocumentInfo();
for (MetadataSignature item : documentInfo.getMetadataSignatures()) {
System.out.println(item.toString());
}
Este código recupera e imprime todas las firmas de metadatos asociadas con el archivo DICOM.
Verificación de DICOM firmado
Descripción general
Verifique que haya una firma de código QR en la imagen DICOM firmada para confirmar su autenticidad.
import com.groupdocs.signature.domain.VerificationResult;
import com.groupdocs.signature.options.verify.QrCodeVerifyOptions;
import com.groupdocs.signature.domain.enums.TextMatchType;
QrCodeVerifyOptions verifyOptions = new QrCodeVerifyOptions();
verifyOptions.setAllPages(true);
verifyOptions.setText("Patient #36363393");
verifyOptions.setMatchType(TextMatchType.Contains);
VerificationResult result = signature.verify(verifyOptions);
if (result.isValid()) {
System.out.println(filePath + " has successfully verified signatures!");
} else {
System.out.println(filePath + " failed verification process.");
}
Este paso de verificación garantiza que el código QR coincida con los criterios esperados, confirmando la integridad del documento.
Búsqueda de firmas en DICOM firmado
Descripción general
Localice todas las firmas de código QR dentro de una imagen DICOM firmada para revisarlas o auditarlas.
import com.groupdocs.signature.domain.signatures.QrCodeSignature;
import java.util.List;
List<QrCodeSignature> signatures = signature.search(QrCodeSignature.class);
for (QrCodeSignature qrCodeSignature : signatures) {
System.out.println("QRCode signature found at page " +
qrCodeSignature.getPageNumber() + ": " +
qrCodeSignature.getEncodeType().getTypeName() + ": " +
qrCodeSignature.getText());
}
Esta función es útil para escanear todas las firmas de código QR dentro del documento, proporcionando una visibilidad integral.
Generación de una vista previa de DICOM firmado
Descripción general
Cree vistas previas de cada página de una imagen DICOM firmada, lo que permite una inspección visual rápida sin abrir el archivo completo.
import com.groupdocs.signature.options.PreviewOptions;
import java.io.File;
import java.io.FileOutputStream;
import java.nio.file.Paths;
PreviewOptions previewOption = new PreviewOptions(pageNumber -> {
try {
String pageFilePath = YOUR_OUTPUT_DIRECTORY + "/SignDicomImageAdvanced/image-" + pageNumber + ".jpg";
return new FileOutputStream(Paths.get(pageFilePath).toFile());
} catch (Exception e) {
throw new RuntimeException(e.getMessage());
}
});
signature.generatePreview(previewOption);
Este fragmento genera vistas previas de imágenes para cada página, lo que puede resultar útil para una verificación rápida o para compartir.
Aplicaciones prácticas
GroupDocs.Signature para Java ofrece varias aplicaciones del mundo real:
- Imágenes médicas:Firme y gestione de forma segura imágenes DICOM de pacientes con códigos QR y metadatos.
- Gestión de documentos legales: Mejorar la autenticidad y el cumplimiento de los documentos en los procedimientos legales.
- Servicios financieros:Implementar firmas electrónicas seguras en documentos financieros sensibles.