Agregar archivo adjunto a PDF - Incrustaciones de archivos API
PDF4me Agregar archivo adjunto a PDF te permite agregar archivos adjuntos a PDF documentos, creando paquetes de documentos completos con archivos incrustados. Esto API procesos de servicio PDF documentos y varios tipos de archivos adjuntos, incrustándolos directamente en PDFs. El API recibe fuente PDF archivos y archivos adjuntos a través de REST API llamadas, utilizando Base64 Codificación para la transmisión segura de archivos. Con soporte para múltiples tipos de archivos y procesamiento de archivos adjuntos por lotes, esta solución es ideal para sistemas de gestión documental, flujos de trabajo empresariales y aplicaciones comerciales que requieren fiabilidad. PDF funcionalidad de adjunto.
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
- Varios tipos de archivos: Compatibilidad con varios formatos de archivos adjuntos, incluidos texto, imágenes y documentos.
- Archivos adjuntos por lotes: Agregar varios archivos adjuntos a uno solo PDF documento
- Base64 Codificación: Transmisión segura del contenido de los archivos mediante Base64 codificación
- Conservación de documentos: Mantiene el original PDF estructura al agregar archivos adjuntos
- Nombres flexiblesPersonaliza los nombres de los archivos adjuntos para una mejor organización.
- Embalaje profesional: Crea paquetes de documentos completos con recursos integrados
REST API Punto final
El PDF4me REST API utiliza estándar HTTP métodos para interactuar con los recursos. Todas las operaciones de adición de adjuntos se realizan a través de un único punto final:
- Método: POST
- Punto final:
/api/v2/AddAttachmentToPdf
REST API Parámetros
Lista completa de parámetros para Agregar archivo adjunto a 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 | El contenido de la entrada PDF archivo codificado en Base64 | JVBERi... |
| archivos adjuntos* | Array | Matriz de objetos adjuntos para incrustar en el PDFCada objeto debe contener docName (cadena) y docContent (cadena base64) | Vea el ejemplo a continuación. |
Estructura del objeto adjunto
Cada artículo en el attachments El array debe ser un objeto con la siguiente estructura:
| Parámetro | Tipo | Descripción | Ejemplo |
|---|---|---|---|
| Nombre del documento | String | Nombre del archivo adjunto con su extensión (por ejemplo, .txt, .pdf, .jpg, etc.) | attachment.txt |
| docContent | Base64 | El contenido del archivo adjunto codificado en Base64 | RXhhbXBsZSBvZiBhdHRhY2htZW50IGZpbGUuIA== |
Parámetros opcionales
| Parámetro | Tipo | Descripción | Ejemplo |
|---|---|---|---|
| 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 Agregar archivo adjunto a 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
Tipo de contenido: 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 archivos adjuntos incrustados, 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 Aceptado
Encabezados de respuesta:
Location: https://api.pdf4me.com/api/v2/AddAttachmentToPdf/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 (
Nombre del documento,docContent,archivos adjuntos) - Inválido Base64 codificación en
docContento adjuntodocContent - Estructura de objeto adjunto no válida
- 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 inserción del archivo adjunto
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
}
Encabezado de tipo de contenido:
- É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
Archivo adjunto único:
{
"docName": "output.pdf",
"docContent": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFszIDAgUl0KL0NvdW50IDEKPD4KZW5kb2JqCjMgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQovUmVzb3VyY2VzIDw8Ci9Gb250IDw8Ci9GMSA0IDAgUgo+Pgo+PgovQ29udGVudHMgNSAwIFIKPj4KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvSGVsdmV0aWNhCj4+CmVuZG9iago1IDAgb2JqCjw8Ci9MZW5ndGggNDQKPj4Kc3RyZWFtCkJUCi9GMSAxMiBUZgoxMDAgNzAwIFRkCihIZWxsbyBXb3JsZCkgVGoKRVQKZW5kc3RyZWFtCmVuZG9iagp4cmVmCjAgNgowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMDkgMDAwMDAgbiAKMDAwMDAwMDA1NCAwMDAwMCBuIAowMDAwMDAwMTAxIDAwMDAwIG4gCjAwMDAwMDAxNzAgMDAwMDAgbiAKMDAwMDAwMDI0NCAwMDAwMCBuIAp0cmFpbGVyCjw8Ci9TaXplIDYKL1Jvb3QgMSAwIFIKPj4Kc3RhcnR4cmVmCjM0MQolJUVPRg==",
"attachments": [
{
"docName": "output.txt",
"docContent": "RXhhbXBsZSBvZiBhdHRhY2htZW50IGZpbGUuIA=="
}
]
}
Múltiples archivos adjuntos:
{
"docName": "output.pdf",
"docContent": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFszIDAgUl0KL0NvdW50IDEKPD4KZW5kb2JqCjMgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQovUmVzb3VyY2VzIDw8Ci9Gb250IDw8Ci9GMSA0IDAgUgo+Pgo+PgovQ29udGVudHMgNSAwIFIKPj4KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvSGVsdmV0aWNhCj4+CmVuZG9iago1IDAgb2JqCjw8Ci9MZW5ndGggNDQKPj4Kc3RyZWFtCkJUCi9GMSAxMiBUZgoxMDAgNzAwIFRkCihIZWxsbyBXb3JsZCkgVGoKRVQKZW5kc3RyZWFtCmVuZG9iagp4cmVmCjAgNgowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMDkgMDAwMDAgbiAKMDAwMDAwMDA1NCAwMDAwMCBuIAowMDAwMDAwMTAxIDAwMDAwIG4gCjAwMDAwMDAxNzAgMDAwMDAgbiAKMDAwMDAwMDI0NCAwMDAwMCBuIAp0cmFpbGVyCjw8Ci9TaXplIDYKL1Jvb3QgMSAwIFIKPj4Kc3RhcnR4cmVmCjM0MQolJUVPRg==",
"attachments": [
{
"docName": "file1.txt",
"docContent": "RXhhbXBsZSBvZiBhdHRhY2htZW50IGZpbGUuIA=="
},
{
"docName": "file2.pdf",
"docContent": "JVBERi0xLjQKJeLjz9MK..."
}
],
"async": true
}
Ejemplos de código
El PDF4me Agregar archivo adjunto a 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:
AWS Lambda Muestra
AWS Lambda implementación con Node.js y API Puerta de enlace:
PDF Características del accesorio
Procesamiento de archivos adjuntos
- Varios tipos de archivos: Compatibilidad con varios formatos de archivos adjuntos, incluidos archivos de texto (.txt, .csv, .log), documentos (.pdf, .doc, .docx, .xls, .xlsx), imágenes (.jpg, .jpeg, .png, .gif), archivos comprimidos (.zip, .rar) y otros tipos de archivos.
- Procesamiento por lotes: Agregar varios archivos adjuntos a uno solo PDF documentar en una sola operación proporcionando una matriz de objetos adjuntos
- Base64 Codificación: Transmisión segura del contenido del archivo mediante Base64 codificación
- Nomenclatura de archivos: Cada archivo adjunto debe incluir un
docNamecon la extensión de archivo apropiada
Mejora de documentos
- PDF Preservación: Mantiene el original PDF estructura y contenido al agregar archivos adjuntos
- Organización de archivos: Nomenclatura y organización personalizadas de archivos adjuntos integrados a través de la
docNamecampo - Portabilidad de documentos: Crear paquetes de documentos autocontenidos con todos los archivos relacionados incrustados en el PDF
- Embalaje profesionalGenerar paquetes de documentos completos para su distribución.
Gestión de respuestas
- Procesamiento síncrono: Por defecto, el API procesa las solicitudes de forma síncrona y devuelve el PDF con archivos adjuntos (estado 200)
- Procesamiento asíncrono: Colocar
async: truepara habilitar el procesamiento asíncrono. El API devuelve un estado 202 con una encuesta URL en el Location encabezado - Respuesta binaria: El API devuelve el PDF Cuando se complete con éxito, el archivo se guardará como contenido binario (application/pdf).
Casos de uso y aplicaciones en la industria
- Legal & Professional Services
- Education & Research
- Business & Enterprise
- Technology & Development
Casos de uso de servicios legales y profesionales
- Documentación legalIncluir archivos de evidencia, contratos y documentos de respaldo.
- Documentos presentados ante el tribunal: Adjunte los documentos justificativos a los escritos judiciales y alegatos legales.
- Documentación del cliente: Empaquetar los documentos del cliente con los materiales de apoyo.
- Documentación de cumplimientoIncluir certificados, licencias y documentos reglamentarios.
Casos de uso en educación e investigación
- Artículos académicosIncluir conjuntos de datos, materiales de investigación e información complementaria.
- Documentación de investigaciónAdjunte los datos de la investigación y los materiales complementarios.
- Presentación de tesis: Empaquetar las tesis con los documentos y conjuntos de datos de apoyo.
- Materiales de capacitación: Incluir recursos, ejercicios y guías de referencia
Casos de uso para empresas y negocios
- Informes empresarialesAdjunte hojas de cálculo, gráficos y archivos de análisis detallados.
- Entregables del proyecto: Empaquetar todos los archivos del proyecto en un único documento PDF.
- Paquetes de documentos: Crear paquetes de documentos completos con materiales de apoyo.
- Documentación corporativaIncluir materiales de apoyo con los documentos corporativos.
Casos de uso de tecnología y desarrollo
- Documentación técnica: Incluir ejemplos de código, archivos de configuración y materiales de referencia.
- Documentación del softwareAdjunte los archivos de código y las especificaciones técnicas.
- Documentación de la API: Incluir ejemplos de código y archivos de configuración
- Recursos para desarrolladores: Recursos y materiales de referencia para desarrolladores de paquetes