Cifrar documento PDF API
PDF4me Proteger documento es un endpoint REST que protege con contraseña un PDF y restringe lo que los destinatarios pueden hacer con él. POST el archivo como Base64 a /api/v2/Protect Con una contraseña y un indicador de permisos, la respuesta es un nuevo PDF cifrado con AES. Imprimir, copiar, editar y rellenar formularios solo están permitidos si usted lo autoriza.
Lo que hace este punto final
PDF4me Proteja el documento cifra un PDF con una contraseña y establece indicadores de permisos en un solo REST llamar. Enviar el PDF como Base64, elige la contraseña y qué acciones están permitidas (imprimir, copiar, anotar, rellenar formularios) y recibe una nueva AES-encriptado PDF en la respuesta. El cifrado aplicado es AES-128 o AES-256 por el PDF especificación, adecuada para GDPR, HIPAAy otros flujos de trabajo orientados al cumplimiento normativo.
Autenticando su API Pedido
Cada PDF4me REST API La llamada debe incluir su API clave en el Authorization Encabezado. Cree o seleccione una clave desde el panel de desarrolladores y manténgala en el servidor. Nunca la exponga en el código del navegador.
Datos importantes que no debes perderte
contraseña Las puertas del campo documentan la apertura. El pdfPermiso enum controla lo que los usuarios pueden hacer una vez que el documento está abierto. Use ambos juntos para enviar un PDF que requiere una contraseña Y desactiva la impresión o la copia.pdfPermiso está bloqueado. Configúralo en Ninguno para bloquear cualquier acción excepto la apertura, o a una bandera específica como Rellenar formularios Permitir únicamente rellenar formularios y nada más.REST API punto final
Método: CORREO
URL: https://api.pdf4me.com/api/v2/Protect
Enviar Tipo de contenido: aplicación/json y un Autorización encabezado con su API llave. Conjunto asíncrono a FALSO para una respuesta síncrona (HTTP 200 con el cifrado PDF como bytes binarios sin procesar), o verdadero recibir HTTP 202 más un Ubicación encabezado que se consulta hasta que devuelve 200 con el binario PDF.
Configuración de la solicitud de Postman
| Configuración | Valor |
|---|---|
| Method | POST |
| URL | https://api.pdf4me.com/api/v2/Protect |
| Headers | Content-Type: application/json |
| Authorization | Basic Auth with your API key, or header Authorization: Basic YOUR_API_KEY |
| Body | raw JSON with docContent, docName, password, pdfPermission, and async fields |
| Response (sync) | When async is false: HTTP 200 with the encrypted PDF as raw binary bytes. Save the response body directly to a .pdf file. |
| Response (async) | When async is true: HTTP 202 with a Location header. GET that URL until you receive 200 plus the binary PDF. Useful for large files or slow networks. |
Parámetros
Siempre requerido: docContent, Nombre del documento, contraseña, pdfPermiso. El asíncrono El indicador es opcional (por defecto es FALSO) y controla si la respuesta se devuelve inmediatamente o a través de una URL de sondeo.
| Parámetro | Requerido | Tipo | Lo que hace | Ejemplo |
|---|---|---|---|---|
docContent | Required | Base64 String | The source PDF file encoded as Base64 (no data: prefix). Read the file as bytes and run it through your language's Base64 encoder. | JVBERi0xLjQK... |
docName | Required | String | Filename of the source PDF including the .pdf extension. Used for tracking and the output filename. | invoice.pdf |
password | Required | String | The password applied to the encrypted PDF. Users must enter this to open the document. | Str0ng-P@ss! |
pdfPermission | Required | Enum | What the user can do once the PDF is unlocked. One of: All, None, Copy, Annotate, Fill Forms, Support Disabilities, Assemble, Digital Print. See the flag reference card grid below. | Fill Forms |
async | Optional | Boolean | Defaults to false. When false the API returns the encrypted PDF immediately as binary bytes (HTTP 200). When true the API returns HTTP 202 with a Location header; poll that URL with GET until you receive 200 with the binary PDF. Use true for large PDFs or batch processing. | false |
¿Qué indicador de permisos de PDF debo elegir?
La contraseña y el indicador de permisos protegen contra cosas diferentes. La contraseña controla el acceso; el indicador de permisos controla lo que sucede después de abrir el dispositivo.
| Contraseña vs. permisos | password campo | pdfPermission campo |
|---|---|---|
| Protege contra | Apertura no autorizada | Acciones no deseadas después de la apertura |
| A quién afecta | Todos los que no tengan la contraseña | Todos los que abrieron el documento |
| Uso típico | Entrega confidencial | Contratos de solo lectura, copias de prueba |
| Valor más restrictivo | Una contraseña segura y única | None (Solo abierto) |
TodoTodo está permitidoNingunoSolo aperturaCopiarAbrir y copiar texto o imágenesAnotarAbrir y anotarRellenar formulariosAbra y complete los campos del formulario.Apoyo a las personas con discapacidadAbrir con herramientas de accesibilidadArmarSe permiten cambios a nivel de página.Impresión digitalSolo impresión de baja resoluciónEjemplos de solicitud
Ejemplo A: Cifrar solo con contraseña (All permisos)
{
"docContent": "JVBERi0xLjQK...",
"docName": "invoice.pdf",
"password": "Str0ng-P@ss!",
"pdfPermission": "All",
"async": false
}
Ejemplo B: Cifrar con restricciones máximas (None)
Bloques para impresión, copia, edición, anotación y llenado de formularios.
{
"docContent": "JVBERi0xLjQK...",
"docName": "confidential.pdf",
"password": "Str0ng-P@ss!",
"pdfPermission": "None",
"async": false
}
Ejemplo C: Cifrar y permitir solo el llenado del formulario
Útil para formularios de admisión confidenciales que el destinatario debe completar pero no redistribuir.
{
"docContent": "JVBERi0xLjQK...",
"docName": "intake-form.pdf",
"password": "Form-2026",
"pdfPermission": "Fill Forms",
"async": true
}
Respuesta exitosa (sincronizar, async: false)
HTTP 200 con el cifrado PDF como cuerpo de respuesta sin procesar (binario) application/pdf). No JSON Envoltura. Guarda los bytes de respuesta directamente en un archivo.
HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Disposition: attachment; filename="protected.pdf"
<binary PDF bytes>
Respuesta exitosa (asíncrona, async: true)
HTTP 202 con un Location encabezado. Encuesta eso URL con GET (mismo Authorization encabezado) hasta que reciba HTTP 200 con el binario PDF.
HTTP/1.1 202 Accepted
Location: https://api.pdf4me.com/api/v2/JobStatus/<job-id>
ejemplos de curl
Modo de sincronización (guarda el cuerpo de la respuesta directamente en un archivo):
curl -X POST https://api.pdf4me.com/api/v2/Protect \
-H "Content-Type: application/json" \
-H "Authorization: Basic YOUR_API_KEY" \
-o protected.pdf \
-d '{"docContent":"JVBERi0xLjQK...","docName":"invoice.pdf","password":"Str0ng-P@ss!","pdfPermission":"Fill Forms","async":false}'
Modo asíncrono (nota -D headers.txt capturar el Location encabezado para sondeo):
curl -X POST https://api.pdf4me.com/api/v2/Protect \
-H "Content-Type: application/json" \
-H "Authorization: Basic YOUR_API_KEY" \
-D headers.txt \
-d '{"docContent":"...","docName":"invoice.pdf","password":"Str0ng-P@ss!","pdfPermission":"Fill Forms","async":true}'
¿Qué devuelve la API?
El propio documento cifrado. La protección se aplica con cifrado AES según lo define el Especificación PDFPor lo tanto, cualquier lector que cumpla con los estándares solicita la contraseña y aplica el indicador de permisos.
| Campo | Tipo | Lo que contiene |
|---|---|---|
| Response body (HTTP 200) | Binary | The encrypted PDF bytes (Content-Type application/pdf). Write them straight to a new .pdf file; the source file is never modified. |
| Location header (HTTP 202) | String (URL) | Returned when async is true and processing continues in the background. GET this URL with the same Authorization header. |
| Poll response (HTTP 200) | Binary | The finished encrypted PDF, returned once the async job completes. |
| Poll response (HTTP 202) | Empty | Job still processing. Wait and poll the same Location URL again. |
Ejemplos de código
Ejemplos de integración
Patrones comunes de integración RESTTypical ways developers call Protect Document.
- Lea cada factura PDF desde una carpeta, S3 cubo o cola de base de datos.
- Base64-codificar los bytes y POST para proteger con
pdfPermisoestablecido aRellenar formularios. - Escriba los bytes de respuesta directamente en un archivo .pdf (binario sin procesar) y, a continuación, cargue el archivo cifrado por correo electrónico o en un sistema de almacenamiento de objetos.
- Recorre todos los archivos. El punto final no tiene estado y es seguro para llamadas paralelas dentro de tu límite de velocidad.
- POST la fuente PDF a
/api/v2/Protectcon la contraseña del destinatario y el permiso seleccionado. - Tomar los bytes de respuesta binaria, volver a codificar a Base64y alimentarlos como
docContenthacia Letrero digital punto final. - Reciba un único PDF eso es ambos AES-Cifrado y firmado criptográficamente. A prueba de manipulaciones para casos de uso legales y de cumplimiento normativo.
- Generar una contraseña única por destinatario (UUID o derivado de secreto compartido).
- POST para proteger con esa contraseña y
pdfPermisoestablecido aNingunobloquear toda copia e impresión. - Correo electrónico cifrado PDF y la contraseña a través de un canal separado para el seguimiento de auditorías de cumplimiento.