Utilidades

CosSignPdf

CosSignPdfLa dll CosSignPdf (cossignpdf.dll) permite firmar documentos PDF desde Cosmos utilizando un certificado digital. Dicho certificado deberá estar instalado en el sistema, ya sea en el almacén de certificados de Windows o en un almacén de certificados (fichero).

CosSignPdf utiliza el software JSignPDF, que es un software de libre distribución desarrollado en Java. Por esta razón, es necesario que en el sistema esté instalada una máquina virtual de Java de 32 bits, y que en el path de búsqueda se incluya el directorio donde se encuentre el fichero JVM.DLL.

Esta utilidad está disponible a partir de la versión 7.0 de Cosmos.

Funciones de la dll CosSignPdfIr al principio de la página

Los pasos a seguir para firmar un documento PDF desde Cosmos son los siguientes:

  1. Ejecutar la función CosSignPDFCreateSigner para obtener un manejador que nos permita la ejecución de las funciones necesarias para realizar el proceso de firma.
  2. Asignación de propiedades (nombre del fichero PDF a firmar, extensión del fichero PDF de salida firmado, certificado que se va a utilizar, visibilidad de la firma, etc.). Esta asignación se efectuará realizando llamadas a la función CosSignPDFSetProperty (una llamada por cada propiedad a asignar).
  3. Ejecución del proceso de firma con la llamada a la función CosSignPDFDoSign.
  4. Liberación de los recursos utilizados durante el proceso de firma con la ejecución de la función CosSignPDFFreeSigner.

CosSignPDFCreateSigner

Esta función retorna un identificador numérico único que será necesario para la ejecución de las funciones de asignación de propiedades de firma y para el proceso de firma en sí.

CosSignPDFSetProperty

Esta función asigna un valor a una propiedad de la firma.

CosSignPDFDoSign

Esta función permite efectuar la firma del documento PDF.

CosSignPDFSetTraceFile

Esta función permite definir el nombre del fichero donde se almacenarán los mensajes de error en el caso de que se desee que dichos mensajes no se muestran en una ventana (opción por defecto, MessageBox).

CosSignPDFFreeSigner

En esta función se indicará que se liberen los recursos del manejador de firma pasado como parámetro.

Después de ejecutar esta función, el identificador pasado como parámetro no podrá volver a utilizarse para firmar un documento. Se deberá crear un nuevo identificador ejecutando la función CosSignPDFCreateSigner.

Lista de propiedades de firma en CosSignPDFSetPropertyIr al principio de la página

a) Propiedades relacionadas con la definición del almacén de certificados, certificado y contraseñas:

Propiedad Descripción
CERTTYPE Indica el tipo de almacén de certificados.
KEYSTOREFILE Si el almacén de certificados es un fichero, con este parámetro indicaremos su ruta absoluta.
KEYSTOREPASSWD Contraseña del almacén de certificados.
KEYALIAS Nombre del certificado del almacén de certificados que se desea utilizar. Si no se indica ningún certificado se utilizará el primero del almacén de certificados.
KEYPASSWD Contraseña del certificado que se desea utilizar.
KEYINDEX Si no es posible indicar el nombre del certificado que se desea utilizar, con este parámetro podremos elegirlo señalando su posición dentro del almacén. Así, el primer certificado será el número 0, el segundo el número 1, etc.

b) Propiedades relacionadas con el nombre del PDF origen, nombre del PDF destino y carpeta donde se almacenará el PDF firmado:

Propiedad Descripción
OUTFILESUFFIX Sufijo del nombre del fichero PDF firmado. Si no se indica este parámetro, el fichero PDF firmado tendrá el sufijo “_signed”.
PDFFILENAME Ruta absoluta del fichero PDF que se desea firmar. Es posible indicar más de un fichero utilizando comodines, por ejemplo: “C: \documentos\*.pdf” indica que se firmen todos los ficheros con extensión PDF que se encuentran en la carpeta “c:\documentos”.
OUTPUTFOLDER Ruta absoluta del directorio donde se desea guardar el PDF firmado.

c) Propiedades referentes a la visibilidad/invisibilidad de la firma, página donde se posiciona y coordenadas de posicionamiento. Estas propiedades tendrán efecto solamente si la propiedad VISIBLESIGNATURE tiene valor TRUE.

Propiedad Descripción
VISIBLESIGNATURE TRUE si se desea que la firma sea visible en el documento PDF.
SIGNATURETEXT Texto que se desea mostrar en la firma. Si no se asigna valor a esta propiedad, se mostrará el nombre del propietario de la firma.
IMAGEPATH Si se desea que en el fichero PDF aparezca una imagen (firma digitalizada, logotipo, etc.) en el lugar donde se va a incrustar la firma se deberá indicar su ruta absoluta asignando valor a esta propiedad.
UPPERRIGHTX Coordenada X del vértice superior derecho del rectángulo donde se posicionará la firma.
UPPERRIGHTY Coordenada Y del vértice superior derecho del rectángulo donde se posicionará la firma.
LOWERLEFTX Coordenada X del vértice inferior izquierdo del rectángulo donde se posicionará la firma.
LOWERLEFTY Coordenada Y del vértice inferior izquierdo del rectángulo donde se posicionará la firma.
PAGENUMBER Número de página donde se desea incrustar la firma. Si no se indica valor, se incrustará en la última página del documento.

Sistema de coordenadas en documentos PDFIr al principio de la página

A la hora de indicar las coordenadas del rectángulo donde se desea posicionar la firma en un documento PDF, hay que tener en cuenta lo siguiente:

EjemplosIr al principio de la página

En el documento PDF puede consultar los siguientes ejemplos de firma: