Firmar PDF Firma digital API
PDF4me Firmar PDF te permite agregar imágenes de firma a PDF documentos con control sobre posición, tamaño y apariencia. API procesos de servicio PDF archivos y agrega imágenes de firma usando Base64 codificación para transmisión segura. El API recibe PDF datos de imágenes de contenido y firma a través de REST API llamadas. Esta solución es ideal para la autenticación de documentos, el cumplimiento legal, los flujos de trabajo empresariales y la adición de firmas visuales a los documentos.
Autenticando su API Pedido
Para acceder al PDF4me REST APICada solicitud debe incluir las credenciales de autenticación adecuadas. La autenticación garantiza una comunicación segura y valida su identidad como usuario autorizado del sistema. REST API.
Características principales
- Compatibilidad con firmas de imágenes: Agregue imágenes de firma personalizadas a PDF documentos con control total sobre el posicionamiento y el tamaño
- Posicionamiento flexibleControla la alineación horizontal y vertical con precisión milimétrica.
- Tallas personalizadas: Ajuste las dimensiones de la firma utilizando medidas en milímetros y píxeles.
- Formato avanzado: Configure la opacidad, los márgenes y las opciones de fondo para una apariencia profesional.
- Segmentación de páginas: Aplicar firmas a páginas específicas o a documentos completos
- Control de impresiónConfigure las firmas para que aparezcan solo en la versión impresa o en la pantalla.
- Resultados profesionales: Crea firmas que mejoren la autenticación y la seguridad de los documentos.
- Procesamiento asíncrono: Compatibilidad con el procesamiento asíncrono mediante sondeo para operaciones de larga duración.
REST API Punto final
El PDF4me REST API utiliza estándar HTTP métodos para interactuar con los recursos. Todos PDF Las operaciones de firma se realizan a través de un único punto final:
- Método: POST
- Punto final:
/api/v2/SignPdf
Compatible PDF Características de firma
El API proporciona soporte integral para diversos PDF Capacidades de firma:
Soporte de imágenes de firma
- Formatos comunes: Soporte para JPG, PNGy otros formatos de imagen estándar
- Base64 Codificación: Transmisión segura de firmas mediante Base64 codificación
- Tallas flexiblesOpciones de tamaño basadas tanto en milímetros (10-200 mm) como en píxeles (20-600 px).
- Preservación de la calidad: Mantiene la calidad de imagen característica en PDF producción
Posicionamiento y diseño
- Alineación horizontalOpciones de posicionamiento: izquierda, centro y derecha.
- Alineación verticalControl de posicionamiento superior, medio e inferior
- Control de márgenesPosicionamiento preciso con mediciones basadas tanto en milímetros (0-100 mm) como en píxeles (0-300 px).
- Colocación flexible: Compatibilidad con cualquier posición de página con medidas exactas
- Segmentación de páginasAplicar a páginas específicas o a documentos completos (opcional)
Características avanzadas
- Control de opacidad: Transparencia ajustable (0-100) para firmas sutiles o prominentes
- Modo de segundo planoOpción para colocar firmas detrás o delante del contenido.
- Control de impresiónConfigure las firmas para que aparezcan en la vista y se impriman o solo se impriman.
- Apariencia profesional: Representación de firma de alta calidad con visibilidad clara
REST API Parámetros
Lista completa de parámetros para el signo PDF REST APILos parámetros están organizados por categoría para una mejor comprensión e implementación.
Importante: Los parámetros marcados con un asterisco (*) son obligatorios y deben proporcionarse para la API para que funcione correctamente.
Parámetros requeridos
| Parámetro | Tipo | Descripción | Ejemplo |
|---|---|---|---|
| Nombre del documento* | String | Producción PDF Nombre del archivo con extensión .pdf | output.pdf |
| docContent* | Base64 | PDF contenido del archivo codificado en Base64 | JVBERi... |
| archivo de imagen* | Base64 | Contenido del archivo de imagen de firma codificado en Base64 | iVBORw0KGgoAAAANSUhEUgAA... |
| imageName* | String | Nombre del archivo de imagen de la firma con su extensión (por ejemplo, .jpg, .png) | signature.jpg |
| alinearX* | String | Alineación horizontal: Izquierda, Centro, o Bien | Right |
| alinearY* | String | Alineación vertical: Arriba, Medio, o Abajo | Bottom |
Parámetros opcionales
| Parámetro | Tipo | Descripción | Ejemplo |
|---|---|---|---|
| páginas | String | Opciones de página: "1", "1,3,5", "2-5", "1,3,7-10", "2-". Si no se especifica, se aplica a todas las páginas. | 1-3 |
| ancho en mm | String | Ancho de la firma en milímetros (10-200) | 50 |
| altura en mm | String | Altura de la firma en milímetros (10-200) | 25 |
| anchoEnPx | String | Ancho de la firma en píxeles (20-600) | 142 |
| alturaEnPx | String | Altura de la firma en píxeles (20-600) | 71 |
| margenXEnMM | String | Margen horizontal en milímetros (0-100) | 20 |
| margenYEnMM | String | Margen vertical en milímetros (0-100) | 20 |
| margenXEnPx | String | Margen horizontal en píxeles (0-300) | 57 |
| margenYEnPx | String | Margen vertical en píxeles (0-300) | 57 |
| opacidad | String | Opacidad (0-100): 0=invisible, 100=totalmente opaco | 100 |
| Mostrar solo en formato impreso | Boolean | Mostrar firma en vista e imprimir (verdadero) o solo imprimir (falso) | true |
| es Antecedentes | Boolean | Colocar la firma en segundo plano (verdadero) o en primer plano (falso) | false |
| asíncrono | Boolean | Habilitar el procesamiento asíncrono. Cuando true, el API devuelve un estado 202 y proporciona una encuesta URL en el Location encabezado | true |
Producción
El PDF4me Firmar PDF REST API devuelve diferentes respuestas según el modo de procesamiento. API devuelve el PDF como un Base64cadena codificada en JSON formato, no como datos binarios.
- Success Response
- Asynchronous Processing
- Error Responses
- Response Format Details
Procesamiento síncrono (predeterminado)
Cuando async no está configurado o está configurado false, el API procesa la solicitud inmediatamente:
Código de estado: 200 OK
Content-Type: application/json
Cuerpo de la respuesta:
{
"docName": "output.pdf",
"docContent": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFszIDAgUl0KL0NvdW50IDEKPD4KZW5kb2JqCjMgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQovUmVzb3VyY2VzIDw8Ci9Gb250IDw8Ci9GMSA0IDAgUgo+Pgo+PgovQ29udGVudHMgNSAwIFIKPj4KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvSGVsdmV0aWNhCj4+CmVuZG9iago1IDAgb2JqCjw8Ci9MZW5ndGggNDQKPj4Kc3RyZWFtCkJUCi9GMSAxMiBUZgoxMDAgNzAwIFRkCihIZWxsbyBXb3JsZCkgVGoKRVQKZW5kc3RyZWFtCmVuZG9iagp4cmVmCjAgNgowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMDkgMDAwMDAgbiAKMDAwMDAwMDA1NCAwMDAwMCBuIAowMDAwMDAwMTAxIDAwMDAwIG4gCjAwMDAwMDAxNzAgMDAwMDAgbiAKMDAwMDAwMDI0NCAwMDAwMCBuIAp0cmFpbGVyCjw8Ci9TaXplIDYKL1Jvb3QgMSAwIFIKPj4Kc3RhcnR4cmVmCjM0MQolJUVPRg=="
}
Campos de respuesta:
- Nombre del documento (cadena): La salida PDF Nombre del archivo
- docContent (cadena): El PDF archivo con firma añadida, codificado como Base64 cadena
Cómo usarlo:
- Extraer el
docContentcampo del JSON respuesta - Decodifica el Base64 cadena para obtener el binario PDF datos
- Guardar o procesar el PDF Archivo según sea necesario
Ejemplo (JavaScript):
const response = await fetch(url, options);
const data = await response.json();
const pdfBytes = atob(data.docContent); // Decode Base64
// Save or process pdfBytes
Procesamiento asíncrono
Cuando async: true está establecido, el API procesa la solicitud de forma asíncrona:
Código de estado: 202 Accepted
Encabezados de respuesta:
Location: https://api.pdf4me.com/api/v2/SignPdf/poll/12345-abcde-67890
Proceso de votación:
- Extraer el
Locationencabezado de la respuesta 202 - Encuesta la URL usando GET solicitudes
- Continúe realizando encuestas hasta que reciba una 200 OK estado
- La respuesta final contiene lo mismo JSON formato con
docNameydocContent(Base64)
Ejemplo de encuesta:
// Initial request returns 202 with Location header
const response = await fetch(url, options);
const location = response.headers.get('Location');
// Poll until complete
while (true) {
const pollResponse = await fetch(location, { headers: { 'Authorization': 'Basic ' + apiKey } });
if (pollResponse.status === 200) {
const data = await pollResponse.json();
// Process data.docContent (Base64 PDF)
break;
}
await new Promise(resolve => setTimeout(resolve, 2000)); // Wait 2 seconds
}
Respuestas de error
El API devuelve estándar HTTP Códigos de error con detalles del error:
- Parámetros de solicitud no válidos
- Faltan campos obligatorios (
docContent,Nombre del documento,archivo de imagen,imageName,alinearX,alinearY) - Inválido Base64 codificación en
docContentoarchivo de imagen - Valores de alineación no válidos (debe ser "Izquierda", "Centro", "Derecha" para alignX; "Arriba", "Medio", "Abajo" para alignY)
- Valores de tamaño no válidos (el ancho/alto deben estar dentro de los rangos especificados).
- Valor de opacidad no válido (debe estar entre 0 y 100).
- Inválido o faltante API llave
- API La llave no funciona correctamente. Base64 codificado en Authorization encabezado
- Desaparecido
Autorización: Básicaencabezado
- Error de procesamiento del servidor
- PDF fallo de procesamiento
- Fallo en la adición de la firma
Formato de respuesta de error:
{
"error": "Error message describing what went wrong"
}
Detalles del formato de respuesta
Importante: El API siempre regresa JSON, nunca binario PDF datos directamente.
Estructura de respuesta:
{
"docName": "string", // Output PDF filename
"docContent": "string" // Base64-encoded PDF content
}
Content-Type Encabezado:
- Éxito:
application/json - El PDF está incrustado como un Base64 cadena dentro de la JSON respuesta
Por qué Base64¿
- JSON-Codificación segura para datos binarios
- Fácil de transmitir HTTP
- Compatible con todos los lenguajes de programación.
- Se puede integrar directamente en JSON sin escapar de los problemas
Decodificación Base64 a PDF:
JavaScript/Node.js:
const base64 = response.docContent;
const binary = atob(base64); // Browser
// OR
const binary = Buffer.from(base64, 'base64').toString('binary'); // Node.js
Python:
import base64
pdf_bytes = base64.b64decode(response['docContent'])
with open('output.pdf', 'wb') as f:
f.write(pdf_bytes)
C#:
byte[] pdfBytes = Convert.FromBase64String(response.docContent);
File.WriteAllBytes("output.pdf", pdfBytes);
Ejemplo de solicitud
Encabezamiento
Content-Type: application/json
Authorization: Basic YOUR_BASE64_ENCODED_API_KEY
Nota:
- Consigue tu API clave del PDF4me Panel
- El API La clave debe ser Base64 codificado y prefijado con "Basic" en el Authorization encabezado
- Ejemplo: Si su API La clave es
abc123, codificarlo a Base64 y usarAuthorization: Basic YWJjMTIz
Carga útil
Ejemplo básico (solo campos obligatorios):
{
"docName": "output.pdf",
"docContent": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFszIDAgUl0KL0NvdW50IDEKPD4KZW5kb2JqCjMgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQovUmVzb3VyY2VzIDw8Ci9Gb250IDw8Ci9GMSA0IDAgUgo+Pgo+PgovQ29udGVudHMgNSAwIFIKPj4KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvSGVsdmV0aWNhCj4+CmVuZG9iago1IDAgb2JqCjw8Ci9MZW5ndGggNDQKPj4Kc3RyZWFtCkJUCi9GMSAxMiBUZgoxMDAgNzAwIFRkCihIZWxsbyBXb3JsZCkgVGoKRVQKZW5kc3RyZWFtCmVuZG9iagp4cmVmCjAgNgowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMDkgMDAwMDAgbiAKMDAwMDAwMDA1NCAwMDAwMCBuIAowMDAwMDAwMTAxIDAwMDAwIG4gCjAwMDAwMDAxNzAgMDAwMDAgbiAKMDAwMDAwMDI0NCAwMDAwMCBuIAp0cmFpbGVyCjw8Ci9TaXplIDYKL1Jvb3QgMSAwIFIKPj4Kc3RhcnR4cmVmCjM0MQolJUVPRg==",
"imageFile": "iVBORw0KGgoAAAANSUhEUgAA...",
"imageName": "signature.jpg",
"alignX": "Right",
"alignY": "Bottom"
}
Ejemplo avanzado (con todos los campos opcionales):
{
"docName": "output.pdf",
"docContent": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFszIDAgUl0KL0NvdW50IDEKPD4KZW5kb2JqCjMgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQovUmVzb3VyY2VzIDw8Ci9Gb250IDw8Ci9GMSA0IDAgUgo+Pgo+PgovQ29udGVudHMgNSAwIFIKPj4KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvSGVsdmV0aWNhCj4+CmVuZG9iago1IDAgb2JqCjw8Ci9MZW5ndGggNDQKPj4Kc3RyZWFtCkJUCi9GMSAxMiBUZgoxMDAgNzAwIFRkCihIZWxsbyBXb3JsZCkgVGoKRVQKZW5kc3RyZWFtCmVuZG9iagp4cmVmCjAgNgowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMDkgMDAwMDAgbiAKMDAwMDAwMDA1NCAwMDAwMCBuIAowMDAwMDAwMTAxIDAwMDAwIG4gCjAwMDAwMDAxNzAgMDAwMDAgbiAKMDAwMDAwMDI0NCAwMDAwMCBuIAp0cmFpbGVyCjw8Ci9TaXplIDYKL1Jvb3QgMSAwIFIKPj4Kc3RhcnR4cmVmCjM0MQolJUVPRg==",
"imageFile": "iVBORw0KGgoAAAANSUhEUgAA...",
"imageName": "signature.jpg",
"pages": "1-3",
"alignX": "Right",
"alignY": "Bottom",
"widthInMM": "50",
"heightInMM": "25",
"widthInPx": "142",
"heightInPx": "71",
"marginXInMM": "20",
"marginYInMM": "20",
"marginXInPx": "57",
"marginYInPx": "57",
"opacity": "100",
"showOnlyInPrint": true,
"isBackground": false,
"async": true
}
Ejemplos de código
El PDF4me Firmar PDF REST API Proporciona ejemplos de código en varios lenguajes de programación. Elija el lenguaje que mejor se adapte a su entorno de desarrollo:
- C#
- Java
- JavaScript
- Python
- Salesforce
- n8n
- Google Script
- AWS Lambda
Java Muestra
Java Implementación con manejo completo de errores y procesamiento de respuestas:
JavaScript Muestra
Node.js y compatible con navegadores JavaScript implementación:
Google Script Muestra
Google Apps Script implementación para Google Workspace integración:
PDF Características de firma
Control de imagen de firma
- Compatibilidad con formatos: JPG, PNGGIF y otros formatos de imagen estándar
- Preservación de la calidad: Mantiene la calidad y resolución de imagen características en PDF producción
- Base64 Codificación: Transmisión segura de firmas mediante Base64 codificación
- Tallas flexiblesOpciones de tamaño basadas tanto en milímetros como en píxeles.
- Apariencia profesional: Representación de firma de alta calidad con visibilidad clara
Posicionamiento y diseño
- Control de alineaciónOpciones de alineación horizontal y vertical precisas.
- Configuración de márgenesPosicionamiento basado tanto en milímetros como en píxeles.
- Colocación flexible: Compatibilidad con cualquier posición y orientación de página.
- Segmentación de páginasAplicar a páginas específicas o a documentos completos.
- Control de tamañoDimensiones personalizables para una colocación óptima.
Características avanzadas
- Control de opacidadTransparencia ajustable para firmas sutiles o prominentes.
- Modo de segundo planoOpción para colocar firmas detrás o delante del contenido.
- Control de impresiónConfigure las firmas para que aparezcan solo en la versión impresa o en la pantalla.
- Resultados profesionales: Crea firmas que mejoren la autenticación y la seguridad de los documentos.
- Posicionamiento flexibleControla la alineación horizontal y vertical con precisión milimétrica.
Casos de uso y aplicaciones en la industria
- Legal & Professional Services
- Finance & Banking
- Business & Enterprise
- Government & Compliance
Casos de uso de servicios legales y profesionales
- Documentación legal: Aplicar firmas a contratos legales, acuerdos y documentos oficiales.
- Firma de contratoFirmar contratos y acuerdos digitalmente para que tengan validez legal.
- Documentos judicialesAplicar firmas digitales a documentos judiciales y legales.
- Requisitos de cumplimiento: Cumplir con los requisitos reglamentarios para la firma y autenticación de documentos.
Casos de uso en finanzas y banca
- Firma de facturasFirmar facturas y órdenes de compra digitalmente
- Documentos financieros: Aplicar firmas a los informes y estados financieros.
- Documentos del préstamoFirma digitalmente los contratos de préstamo y los documentos financieros.
- Cumplimiento normativo: Cumplir con los requisitos reglamentarios para la firma de documentos financieros.
Casos de uso para empresas y negocios
- Flujos de trabajo empresarialesFirma digitalmente facturas, órdenes de compra y documentos comerciales.
- Autenticación de documentos: Añadir firmas digitales a documentos PDF para su autenticación y verificación.
- Generación de informes: Agregar firmas a los informes generados y documentos oficiales.
- Documentación corporativaFirmar documentos corporativos y comunicaciones oficiales.
Casos de uso en materia de gobierno y cumplimiento normativo
- Requisitos de cumplimiento: Cumplir con los requisitos reglamentarios para la firma y autenticación de documentos.
- Documentos gubernamentalesAplicar firmas digitales a documentos y formularios gubernamentales.
- Documentación reglamentariaFirmar digitalmente documentos regulatorios y de cumplimiento.
- Registros públicos: Aplicar firmas a registros públicos y documentos oficiales