Saltar al contenido principal

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.

Entradas de blog relacionadas
Aún no hay ninguna entrada de blog sobre esta función; estará disponible próximamente.
Mientras tanto, echa un vistazo al blog de PDF4me para encontrar tutoriales y flujos de trabajo para todas las plataformas.
Visita el blog

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

La contraseña y los permisos se aplican conjuntamente.
El sencillo 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.
Las banderas de permisos son listas de permitidos, no listas de denegación.
Todo lo que no incluyas en 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.
La fuente PDF nunca se modifica
El API devuelve el cifrado PDF como bytes binarios sin procesar en el cuerpo de la respuesta (Content-Type application/pdf). Su archivo original permanece intacto. Escriba los bytes de la respuesta directamente en un nuevo archivo .pdf. Útil para auditorías de cumplimiento donde el código fuente no protegido debe permanecer intacto.

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ónValor
MethodPOST
URLhttps://api.pdf4me.com/api/v2/Protect
HeadersContent-Type: application/json
AuthorizationBasic Auth with your API key, or header Authorization: Basic YOUR_API_KEY
Bodyraw 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ámetroRequeridoTipoLo que haceEjemplo
docContentRequiredBase64 StringThe source PDF file encoded as Base64 (no data: prefix). Read the file as bytes and run it through your language's Base64 encoder.JVBERi0xLjQK...
docNameRequiredStringFilename of the source PDF including the .pdf extension. Used for tracking and the output filename.invoice.pdf
passwordRequiredStringThe password applied to the encrypted PDF. Users must enter this to open the document.Str0ng-P@ss!
pdfPermissionRequiredEnumWhat 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
asyncOptionalBooleanDefaults 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. permisospassword campopdfPermission campo
Protege contraApertura no autorizadaAcciones no deseadas después de la apertura
A quién afectaTodos los que no tengan la contraseñaTodos los que abrieron el documento
Uso típicoEntrega confidencialContratos de solo lectura, copias de prueba
Valor más restrictivoUna contraseña segura y únicaNone (Solo abierto)
TodoTodo está permitido
Abrir, imprimir, copiar, editar, anotar y rellenar formularios. Úselo para protección mediante contraseña sin restricciones adicionales.
NingunoSolo apertura
Bloquea la impresión, la copia, la edición, la anotación y el llenado de formularios. La opción más restrictiva.
CopiarAbrir y copiar texto o imágenes
Bloques de impresión, edición y anotación.
AnotarAbrir y anotar
Se permiten notas adhesivas y subrayados. Bloquea la copia, la impresión y la edición.
Rellenar formulariosAbra y complete los campos del formulario.
Bloquea la impresión, la copia y la edición. Común para formularios de admisión confidenciales.
Apoyo a las personas con discapacidadAbrir con herramientas de accesibilidad
Acceso mediante lector de pantalla y herramientas de asistencia. Requerido para archivos PDF accesibles por defecto.
ArmarSe permiten cambios a nivel de página.
Insertar, eliminar o rotar páginas. Se utiliza cuando las herramientas posteriores deben reestructurar el PDF.
Impresión digitalSolo impresión de baja resolución
Bloquea la impresión y copia de alta resolución. Útil para pruebas de impresión.

Ejemplos 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.

CampoTipoLo que contiene
Response body (HTTP 200)BinaryThe 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)BinaryThe finished encrypted PDF, returned once the async job completes.
Poll response (HTTP 202)EmptyJob 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.
Encriptar facturas masivas para su entrega
  1. Lea cada factura PDF desde una carpeta, S3 cubo o cola de base de datos.
  2. Base64-codificar los bytes y POST para proteger con pdfPermiso establecido a Rellenar formularios.
  3. 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.
  4. Recorre todos los archivos. El punto final no tiene estado y es seguro para llamadas paralelas dentro de tu límite de velocidad.
Cifrar y luego firmar para flujos de trabajo legales.
  1. POST la fuente PDF a /api/v2/Protect con la contraseña del destinatario y el permiso seleccionado.
  2. Tomar los bytes de respuesta binaria, volver a codificar a Base64y alimentarlos como docContent hacia Letrero digital punto final.
  3. 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.
GDPR o HIPAA cifrado por destinatario
  1. Generar una contraseña única por destinatario (UUID o derivado de secreto compartido).
  2. POST para proteger con esa contraseña y pdfPermiso establecido a Ninguno bloquear toda copia e impresión.
  3. Correo electrónico cifrado PDF y la contraseña a través de un canal separado para el seguimiento de auditorías de cumplimiento.

Preguntas frecuentes

What encryption strength does the Protect endpoint apply?+
PDF4me applies AES encryption per the PDF specification (ISO 32000). Modern PDF readers use 128-bit or 256-bit AES depending on the PDF version of the source. Both meet GDPR and HIPAA encryption requirements for documents in transit and at rest.
Can I set an owner password and a user password separately?+
The password field is applied as the user password (required to open). The pdfPermission enum is the owner-level signal controlling what is allowed once the document is open. Together they behave like a combined owner-and-user setup. The endpoint does not currently accept two distinct passwords in one call.
How do I disable printing or copying on the encrypted PDF?+
Pick a pdfPermission value that does NOT include the action you want to block. Set it to None to block everything except opening. Set it to Copy to allow text or image copy only. Set it to Fill Forms to allow form filling only. The flag is allow-list: anything not explicitly listed is blocked.
Is the original PDF modified, or is a new copy returned?+
The original file is never touched. The API returns the encrypted PDF as raw binary bytes in the response body (Content-Type application/pdf). Write the response bytes directly to a new .pdf file. Useful when the unprotected source must remain intact for audit trails.
Can I encrypt PDFs in bulk?+
Each call protects one PDF and the endpoint is stateless. For bulk encryption, loop over files in your script (Python for loop, C# foreach, Node async map) or use a Make, Zapier, Power Automate, or n8n scenario that fires the Protect action per file picked up by a folder watcher.
Does this work as an alternative to SmallPDF, iLovePDF, or Adobe Acrobat password protection?+
Yes. The Protect endpoint provides the same outcome (password-encrypted PDF with permission control) through a REST API. No per-user license, no manual upload, and full automation. The same call from a script handles one document or one thousand.
Is the response binary or Base64?+
The response body is the raw binary PDF (Content-Type application/pdf), not JSON. Write the response bytes straight to a .pdf file: response.content in Python requests, response.body in fetch, await Content.ReadAsByteArrayAsync in C#. The Base64 envelope is only used for input (the docContent field you send in the request), not for the output.
How do I test the API without writing code?+
Open the Protect Document API Tester, paste your API key, upload a PDF, type a password, and pick a pdfPermission flag. The tester shows the request and lets you download the encrypted PDF directly.

Acciones relacionadas

La misma tarea en otras plataformas.

Obtén ayuda