Passa al contenuto principale

Crittografare un documento PDF API

PDF4me Proteggi il documento è un endpoint REST che protegge con password un PDF e limita ciò che i destinatari possono fare con esso. Invia il file come Base64 a /api/v2/Protect con una password e un flag di autorizzazione, e la risposta è un nuovo PDF crittografato con AES. Stampa, copia, modifica e compilazione del modulo sono consentite solo se lo si autorizza.

Cosa fa questo endpoint

PDF4me Proteggi il documento crittografa un PDF con una password e imposta i flag di autorizzazione in un singolo REST chiamata. Invia il PDF COME Base64, scegli la password e quali azioni sono consentite (stampa, copia, annotazione, compilazione moduli) e ricevi un nuovo AES-crittografato PDF nella risposta. La crittografia applicata è AES-128 o AES-256 secondo il PDF specifica, adatta per GDPR, HIPAAe altri flussi di lavoro orientati alla conformità.

Articoli correlati del blog
Non ci sono ancora post sul blog dedicati a questa funzionalità — in arrivo a breve.
Nel frattempo, dai un'occhiata al blog di PDF4me per trovare tutorial e procedure operative su tutte le piattaforme.
Visita il blog

Autenticazione del tuo API Richiesta

Ogni PDF4me REST API la chiamata deve includere il tuo API chiave nel Authorization Intestazione. Crea o seleziona una chiave dalla dashboard per sviluppatori e mantienila lato server. Non esporla mai nel codice del browser.

Informazioni importanti da non perdere

La password e le autorizzazioni vengono applicate insieme
Il singolo password apertura del documento dei cancelli del campo. Il pdfPermesso enum controlla cosa possono fare gli utenti una volta aperto il documento. Usali entrambi insieme per distribuire un PDF che richiede una password E disabilita la stampa o la copia.
I flag di autorizzazione sono liste consentite, non liste negate.
Qualunque cosa tu non includa in pdfPermesso è bloccato. Impostalo su Nessuno per bloccare ogni azione tranne l'apertura, o a un flag specifico come Compila i moduli consentire solo la compilazione dei moduli e nient'altro.
La fonte PDF non viene mai modificato
IL API restituisce il crittografato PDF come byte binari grezzi nel corpo della risposta (Content-Type application/pdf). Il file originale rimane inalterato. Scrivi i byte della risposta direttamente in un nuovo file .pdf. Utile per le tracce di controllo di conformità in cui il codice sorgente non protetto deve rimanere intatto.

REST API endpoint

Metodo: INVIARE
URL: https://api.pdf4me.com/api/v2/Protect

Inviare Content-Type: application/json e un Autorizzazione intestazione con il tuo API chiave. Imposta asincrono A falso per una risposta sincrona (HTTP 200 con il crittografato PDF come byte binari grezzi), oppure VERO ricevere HTTP 202 più un Posizione intestazione che viene interrogata finché non restituisce 200 con il binario PDF.

configurazione della richiesta Postman

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

Parametri

Sempre richiesto: docContent, docName, password, pdfPermesso. IL asincrono il flag è facoltativo (predefinito a falso) e controlla se la risposta viene restituita immediatamente o tramite un URL di polling.

ParametroNecessarioTipoCosa faEsempio
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

Quale flag pdfPermission devo scegliere?

La password e il flag di autorizzazione proteggono da cose diverse. La password impedisce l'apertura; il flag di autorizzazione controlla ciò che accade dopo l'apertura.

Password vs. autorizzazionipassword campopdfPermission campo
Protegge daApertura non autorizzataAzioni indesiderate dopo l'apertura
Chi ne è interessatoChiunque senza la passwordChiunque abbia aperto il documento
Uso tipicoConsegna riservataContratti di sola lettura, bozze
Valore più restrittivoUna password forte e univocaNone (solo aperto)
TuttoTutto è permesso
Apri, stampa, copia, modifica, annota, compila moduli. Utilizzabile solo con protezione tramite password, senza ulteriori restrizioni.
NessunoSolo apertura
Blocca la stampa, la copia, la modifica, l'annotazione e la compilazione dei moduli. L'opzione più restrittiva.
CopiaApri e copia testo o immagini
Blocchi per la stampa, la modifica e l'annotazione.
AnnotareApri e annota
Sono consentiti post-it ed evidenziazioni. Sono bloccati copia, stampa e modifica.
Compila i moduliApri e compila i campi del modulo
Blocchi per la stampa, la copia e la modifica. Comunemente utilizzati per i moduli di ammissione riservati.
Sostegno alle persone con disabilitàApri con gli strumenti di accessibilità
Accesso tramite screen reader e strumenti di assistenza. Necessario per i PDF accessibili per impostazione predefinita.
AssemblareModifiche a livello di pagina consentite
Inserire, eliminare o ruotare le pagine. Utilizzato quando gli strumenti successivi devono ristrutturare il PDF.
Stampa digitaleStampa a bassa risoluzione soltanto
Blocca la stampa e la copia ad alta risoluzione. Utile per le bozze di stampa.

Esempi di richieste

Esempio A: Crittografare solo con password (All permessi)

{
"docContent": "JVBERi0xLjQK...",
"docName": "invoice.pdf",
"password": "Str0ng-P@ss!",
"pdfPermission": "All",
"async": false
}

Esempio B: Crittografare con restrizioni massime (None)

Consente di stampare, copiare, modificare, annotare e compilare moduli.

{
"docContent": "JVBERi0xLjQK...",
"docName": "confidential.pdf",
"password": "Str0ng-P@ss!",
"pdfPermission": "None",
"async": false
}

Esempio C: Crittografare e consentire solo la compilazione del modulo

Utile per moduli di ammissione riservati che il destinatario deve compilare ma non ridistribuire.

{
"docContent": "JVBERi0xLjQK...",
"docName": "intake-form.pdf",
"password": "Form-2026",
"pdfPermission": "Fill Forms",
"async": true
}

Risposta positiva (sincronizzazione, async: false)

HTTP 200 con il crittografato PDF come corpo della risposta grezza (binario) application/pdf). NO JSON Incapsulamento. Salva i byte della risposta direttamente in un file.

HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Disposition: attachment; filename="protected.pdf"

<binary PDF bytes>

Risposta positiva (asincrona, async: true)

HTTP 202 con un Location intestazione. Sondaggio su URL con GET (Stesso Authorization intestazione) fino a quando non ricevi HTTP 200 con il binario PDF.

HTTP/1.1 202 Accepted
Location: https://api.pdf4me.com/api/v2/JobStatus/<job-id>

esempi di ricci

Modalità di sincronizzazione (salva il corpo della risposta direttamente in un file):

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}'

Modalità asincrona (nota -D headers.txt per catturare il Location intestazione per il sondaggio):

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}'

Quali informazioni restituisce l'API?

Il documento crittografato stesso. La protezione viene applicata con Crittografia AES come definito dal Specifiche PDFPertanto, qualsiasi lettore conforme agli standard richiede la password e applica il flag di autorizzazione.

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

Esempi di codice

Esempi di integrazione

Modelli comuni di integrazione RESTTypical ways developers call Protect Document.
Crittografare in blocco le fatture per la consegna
  1. Leggere attentamente ogni fattura PDF da una cartella, S3 secchio o coda del database.
  2. Base64-codifica i byte e POST per proteggere con pdfPermesso impostato su Compila i moduli.
  3. Scrivi i byte della risposta direttamente in un file .pdf (in formato binario grezzo), quindi carica il file crittografato tramite e-mail o su un archivio di oggetti.
  4. Esegui un ciclo su ogni file. L'endpoint è stateless e sicuro per chiamate parallele entro il limite di frequenza impostato.
Crittografa e poi firma per i flussi di lavoro legali
  1. POST la fonte PDF A /api/v2/Protezione con la password del destinatario e le autorizzazioni selezionate.
  2. Prendi i byte della risposta binaria, ricodificali in Base64e nutrirli come docContent per il Segnaletica digitale punto finale.
  3. Ricevi un singolo PDF che è entrambe le cose AES-Crittografato e firmato crittograficamente. Antimanomissione per casi d'uso legali e di conformità.
GDPR O HIPAA crittografia per destinatario
  1. Genera una password univoca per ogni destinatario (UUID o derivato da un segreto condiviso).
  2. POST per proteggere con quella password e pdfPermesso impostato su Nessuno per bloccare ogni copia e stampa.
  3. Inviare via e-mail il codice crittografato PDF e la password tramite un canale separato per le tracce di controllo di conformità.

Domande frequenti

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.

Azioni correlate

Stessa attività su altre piattaforme

Richiedi assistenza