Masquez du texte dans un PDF
Saisissez « falcon » une seule fois et les trois formes d'une phrase, Falcon, FALCON et falcon, deviennent ████, avec un décompte de 3 pour le confirmer. Utilisez-le sur le texte extrait d'un PDF avant de le partager, l'indexer ou l'archiver. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Termes
- falcon
- Nombre d'occurrences masquées
- 3
L’outil de masquage de texte PDF supprime toutes les occurrences, sans distinction entre majuscules et minuscules, des termes que vous indiquez dans le texte extrait d’un PDF. Chaque occurrence détectée est remplacée par un repère noir visible et la réponse fournit également le nombre exact de remplacements. Cet outil convient lorsqu’un processus dispose déjà d’un texte sélectionnable ou extrait et nécessite une étape d’assainissement prévisible avant révision, indexation, partage ou stockage. La recherche est littérale et déterministe : la ponctuation d’un terme reste donc de la ponctuation et ne devient jamais une instruction de motif.
Préparez le texte du PDF et la liste de masquage
Commencez par le texte extrait d’un PDF en conservant la formulation et les sauts de ligne utiles à l’étape suivante de votre processus. Placez ce contenu dans le champ text, puis ajoutez une ou plusieurs chaînes littérales à la liste terms. Un terme peut être un nom, une référence de compte, un libellé de projet, un fragment d’adresse ou toute autre séquence exacte qui ne doit plus apparaître.
La recherche ne tient pas compte de la casse : une seule entrée telle que « Falcon » trouve également « FALCON » et « falcon ». Les termes ne sont pas des expressions régulières. Les points, crochets, signes plus et points d’interrogation sont recherchés comme des caractères ordinaires, ce qui empêche un terme anodin de devenir un motif imprévu.
Une liste vide est refusée, car le renvoi silencieux d’un texte inchangé pourrait laisser croire qu’un masquage a eu lieu. Les chaînes vides sont également refusées. Ce contrat explicite permet à un traitement automatisé de s’arrêter si une règle manque au lieu de transmettre des données sensibles.
Comprenez la recherche et le remplacement des occurrences
L’outil parcourt le texte d’origine du début à la fin et remplace chaque occurrence non chevauchante par le repère fixe « ████ ». Les termes en double qui ne diffèrent que par la casse constituent une seule recherche, ce qui évite de compter deux fois le même passage. Si plusieurs termes peuvent commencer au même caractère, le plus long est examiné en premier.
Par exemple, si vous indiquez « North » et « North Harbor », la locution complète est masquée lorsqu’elle apparaît à cet endroit. Les remplacements ne se propagent jamais : les repères insérés appartiennent à la sortie et ne font pas l’objet d’une nouvelle recherche. Le décompte peut être égal à zéro lorsque la liste est valide mais qu’aucun terme n’apparaît.
Ce résultat confirme l’exécution correcte, tandis qu’une liste vide ou incorrecte produit une erreur. La recherche étant littérale, elle ne déduit pas les limites des mots ; un terme court peut donc apparaître dans un mot plus long. Indiquez précisément la locution à retirer.
Intégrez le résultat en toute sécurité à votre processus
Cette capacité agit sur le texte PDF fourni par l’appelant ; elle ne modifie ni les éléments graphiques des pages, ni les annotations, ni les calques cachés, ni les métadonnées, ni le fichier binaire original. Utilisez-la lorsque le texte extrait constitue lui-même le résultat qui sera affiché, indexé, résumé, journalisé ou transmis à un autre système. Si vous devez publier un PDF visuellement expurgé, appliquez une méthode de caviardage propre au PDF source et vérifiez que le contenu sous-jacent reste irrécupérable.
Vous pouvez archiver le décompte et la version de la politique dans une piste d’audit sans garder l’original sensible. Vérifiez soigneusement les termes : la recherche littérale est prévisible, mais elle ne découvre pas les variantes absentes de votre liste. La logique déterministe fonctionne sans accès réseau et produit donc un résultat stable pour des entrées identiques.
Cas d’usage
Assainir le texte avant indexation
Supprimez les noms de clients, libellés internes ou numéros de référence avant d’intégrer le texte PDF à un index de recherche.
Préparer une copie de révision
Créez une version textuelle clairement signalée pour les personnes qui doivent lire le document sans voir certains termes confidentiels.
Appliquer une politique de termes connus
Utilisez une liste approuvée d’expressions sensibles dans un processus automatisé et consignez le nombre de remplacements à des fins d’audit.
Questions fréquentes
La recherche distingue-t-elle majuscules et minuscules ?
Non. Un seul terme couvre les occurrences en majuscules, en minuscules et en casse mixte.
Les termes sont-ils interprétés comme des expressions régulières ?
Non. Chaque terme est traité littéralement, y compris la ponctuation et les caractères spéciaux des expressions régulières.
Cet outil modifie-t-il le fichier PDF original ?
Non. Il masque un texte déjà extrait sans modifier le binaire PDF, les éléments graphiques, les métadonnées ou le contenu caché.
Un terme court peut-il masquer une partie d'un mot plus long ?
Oui. La recherche ne tient pas compte des limites de mots : un terme court est aussi trouvé à l'intérieur d'un autre mot. Indiquez l'expression exacte à retirer pour ne pas masquer plus que prévu.
Pourquoi le décompte peut-il afficher zéro ?
Zéro signifie que la liste était valable mais qu'aucun de ses termes n'apparaît dans le texte : l'étape a bien eu lieu. Une liste vide, elle, est refusée, pour que personne ne croie à un masquage inexistant.
Outils associés
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/redact-text \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Project Falcon belongs to FALCON Holdings.","terms":["falcon"]}'const res = await fetch("https://api.kit.forhosting.com/pdf/redact-text", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Project Falcon belongs to FALCON Holdings.",
"terms": [
"falcon"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/redact-text",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Project Falcon belongs to FALCON Holdings.",
"terms": [
"falcon"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/redact-text", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Project Falcon belongs to FALCON Holdings.","terms":["falcon"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Project Falcon belongs to FALCON Holdings.","terms":["falcon"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/redact-text", 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
{
"text": "Project Falcon belongs to FALCON Holdings.",
"terms": [
"falcon"
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.redact_text",
"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. |
Notes techniques
Comprenez la recherche et le remplacement des occurrences
La réponse contient redacted_text et redacted_count : vous pouvez ainsi exploiter le texte assaini tout en vérifiant séparément l’ampleur des modifications.
Intégrez le résultat en toute sécurité à votre processus
Un processus automatisé pertinent extrait le texte, envoie celui-ci avec une liste de termes approuvée, compare redacted_count à un minimum attendu, puis ne conserve que redacted_text dans les systèmes de recherche ou de révision en aval. Le tarif de l’API est de $0.002 par requête.
Questions techniques
Que se passe-t-il si aucun terme n’est trouvé ?
Le texte d’origine est renvoyé sans modification et redacted_count vaut zéro.
Que se passe-t-il si la liste de termes est vide ?
La requête échoue avec une erreur invalid_input, car au moins un terme non vide est requis.