Définir les autorisations PDF : impression, copie et édition
Le validateur d’autorisations PDF transforme une liste d’options d’accès en un ensemble prévisible.
Lancer gratuitement
Tout se passe dans votre navigateur : gratuit, sans envoi de vos données.
Indiquez une référence PDF et toute combinaison de print, copy, edit et annotate. Le résultat emploie les noms canoniques en minuscules, supprime les doublons et respecte un ordre stable. Si la liste contient un nom non pris en charge, la requête échoue clairement au lieu de transmettre une politique ambiguë à l’étape suivante de votre traitement documentaire. Vos configurations automatisées restent ainsi cohérentes et faciles à contrôler.
Définissez la politique avant de modifier le document
Les traitements de sécurité PDF commencent souvent par un petit objet de configuration, bien avant qu’une bibliothèque de chiffrement ou un service documentaire ne touche au fichier. Cette configuration mérite une validation aussi rigoureuse que le document. Une option mal orthographiée comme « printing » pourrait sinon être ignorée, comprise différemment selon les bibliothèques ou enregistrée comme si elle était valide. Cette capacité fournit un contrat précis à cette frontière. Envoyez la référence PDF avec les autorisations que vous souhaitez accorder. Le validateur vérifie que la référence est présente et que permissions est un tableau composé uniquement de print, copy, edit et annotate. Il renvoie ensuite les noms acceptés dans l’ordre canonique. Il ne télécharge, n’examine, ne chiffre et ne réécrit pas le PDF. En séparant la validation, vous obtenez une entrée sûre pour une protection ultérieure, une base de politiques, un écran d’approbation ou un journal d’audit. Une application peut aussi refuser immédiatement un mauvais choix avant de lancer une opération documentaire plus lente ou plus coûteuse.
Comment la normalisation garantit un résultat stable
Les listes d’autorisations proviennent fréquemment de cases à cocher, d’arguments de commande, de réglages importés ou de plusieurs règles combinées. Ces sources peuvent introduire des majuscules variables, des espaces, des répétitions et un ordre incohérent. Le normaliseur retire les espaces autour de chaque chaîne et la passe en minuscules avant de la comparer au vocabulaire accepté. Les doublons deviennent une seule entrée, car les autorisations constituent un ensemble et non une suite d’instructions. La sortie suit toujours l’ordre print, copy, edit, puis annotate, quel que soit l’ordre reçu. Un tableau vide est valide et décrit une politique qui n’accorde aucune de ces quatre autorisations. Toute valeur non textuelle ou tout nom inconnu fait échouer la requête entière avec une erreur d’entrée non valide ; l’outil n’écarte jamais discrètement une option inconnue. Ce comportement indivisible protège l’intention du demandeur. La sortie déterministe est également facile à comparer, conserver, signer, examiner et tester.
Intégrez l’ensemble normalisé à un traitement PDF complet
Le tableau renvoyé décrit une politique validée, pas un document modifié. Transmettez-le au composant qui applique réellement le chiffrement ou les restrictions du propriétaire, puis consultez sa documentation pour connaître le comportement exact des lecteurs et systèmes d’exploitation. Les autorisations PDF sont généralement des contrôles indicatifs respectés par les logiciels compatibles ; elles ne remplacent ni le contrôle d’accès, ni une diffusion prudente, ni un chiffrement protégé par un mot de passe adapté. La séparation entre validation et application reste très utile. Un formulaire web peut afficher un résumé net avant l’envoi, une API peut conserver une représentation unique plutôt que plusieurs tableaux équivalents, et un traitement par lot peut s’arrêter au premier nom inconnu. Cette capacité n’utilise aucun service réseau et ne décode pas le PDF fourni : elle fonctionne donc dans le navigateur avec le même résultat déterministe que l’API. L’usage dans le navigateur est gratuit ; les requêtes API automatisées appliquent le tarif de base publié de $0.002. Aucun contenu du document n’est renvoyé ni conservé.
Cas d’usage
Contrôler un formulaire d’autorisations
Normalisez les valeurs des cases avant une demande de protection PDF et affichez précisément la politique acceptée.
Uniformiser les politiques documentaires conservées
Supprimez doublons et différences d’ordre avant d’enregistrer les autorisations dans une base ou un journal d’audit.
Refuser les erreurs de configuration risquées
Arrêtez un traitement par lot lorsqu’une intégration envoie un nom inconnu au lieu de l’ignorer silencieusement.
Questions fréquentes
Cette capacité modifie-t-elle ou chiffre-t-elle le PDF ?
Non. Elle valide la référence PDF et les noms des autorisations, puis renvoie un ensemble normalisé à appliquer avec un outil de protection distinct.
Quelles autorisations sont prises en charge ?
Les noms canoniques acceptés sont print, copy, edit et annotate.
Que se passe-t-il si un nom est inconnu ?
La requête échoue avec une erreur d’entrée non valide qui désigne la valeur inconnue et indique les options acceptées.
Les doublons et les majuscules sont-ils acceptés ?
Oui. Les espaces externes sont retirés, les noms passent en minuscules et les autorisations répétées sont fusionnées.
Puis-je fournir une liste d’autorisations vide ?
Oui. Un tableau vide reste vide et signifie qu’aucune des quatre autorisations prises en charge n’est accordée.
Quel est le tarif ?
L’exécution dans le navigateur sur cette page est gratuite. L’automatisation par API coûte $0.002 par requête.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/pdf/permissions-set \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pdf":"kit://upl_example_pdf","permissions":["print","copy"]}'const res = await fetch("https://api.kit.forhosting.com/pdf/permissions-set", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pdf": "kit://upl_example_pdf",
"permissions": [
"print",
"copy"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/permissions-set",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pdf": "kit://upl_example_pdf",
"permissions": [
"print",
"copy"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/permissions-set", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pdf":"kit://upl_example_pdf","permissions":["print","copy"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pdf":"kit://upl_example_pdf","permissions":["print","copy"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/permissions-set", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"pdf": "kit://upl_example_pdf",
"permissions": [
"print",
"copy"
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.permissions_set",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_mb | 25 |
max_pages | 200 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |