Traducteur de PDF
Cet outil traduit un PDF d’une langue vers une autre en gardant l’allure du document : colonnes, titres et tableaux restent à leur place. Il s’adresse à qui reçoit un contrat, une notice ou un rapport en langue étrangère et veut le lire en français sans en perdre la structure. La fonction est en bêta.
Exécuter en ligne
Exécutez cette tâche sur nos serveurs, avec votre compte. Les outils gratuits tournent dans votre navigateur ; celui-ci est facturé sur votre solde KIT au prix affiché ci-dessus.
La mise en page reconstituée
Chaque page est analysée pour repérer le texte, les colonnes et les tableaux, puis reconstruite avec la traduction à la place de l’original. On retrouve l’organisation du document : un titre reste un titre, une cellule de tableau reste dans sa case. C’est ce qui distingue cette traduction d’un simple copier-coller du texte, où toute la structure serait perdue et le document illisible.
Une fonction encore en bêta
La traduction de PDF est marquée en bêta : elle fonctionne bien sur les documents nets et bien structurés, moins sur les scans très dégradés ou les mises en page très denses. Nous préférons le dire clairement plutôt que de promettre un rendu parfait sur tout. Pour un document juridique important, faites relire la version traduite avant de vous en servir.
Prix à la page
Facturation à l’usage, sans abonnement ni compte : $0.011 par requête, puis $0.0705 par page traduite. Un document de quelques pages coûte quelques dizaines de centimes. Le montant dépend du nombre de pages et s’affiche avant de lancer, pour que vous décidiez en connaissance de cause. Le paiement se fait en une fois par PayPal, et une facture reste possible pour vos frais.
Cas d’usage
Lire un contrat reçu de l’étranger
Nadia Benali reçoit un contrat de dix pages en allemand. Elle le traduit en français en gardant la numérotation des articles, puis décide en connaissance de cause si elle consulte un avocat.
Comprendre une notice technique
Un manuel d’installation n’existe qu’en anglais. Menuiserie Rousseau & Fils le traduit : les schémas restent en place et les étapes numérotées gardent leur ordre.
Traduire un rapport pour l’équipe
Un rapport d’un partenaire espagnol doit circuler en interne. La version française conserve les titres et les tableaux, ce qui rend la lecture immédiate sans reformater.
Questions fréquentes
La mise en page du PDF est-elle conservée ?
C’est l’objectif : colonnes, titres et tableaux sont reconstruits avec le texte traduit à leur place. Le rendu est fidèle sur les documents nets ; il peut varier sur les scans très dégradés.
Pourquoi la fonction est-elle en bêta ?
Parce que la reconstruction d’une page est difficile sur les documents très denses ou de mauvaise qualité. Elle donne de bons résultats sur des PDF propres, mais nous préférons annoncer ses limites plutôt que survendre.
Un PDF scanné fonctionne-t-il ?
Un scan lisible peut être traité, le texte étant d’abord reconnu puis traduit. Plus le scan est net, meilleur est le résultat ; un document flou ou tordu donnera une sortie moins fiable.
Comment le prix est-il calculé ?
À la page, en dollars : $0.011 par requête et $0.0705 par page traduite. Le total dépend du nombre de pages et s’affiche avant que vous lanciez la traduction.
Mon document est-il supprimé après ?
Oui. Le PDF est traité puis effacé, le transfert étant chiffré. Rien n’est conservé après la traduction, ni réutilisé.
Est-ce conforme au RGPD ?
Le traitement se limite à produire la traduction : le document est utilisé le temps du calcul, puis supprimé, et n’est ni revendu ni exploité pour autre chose. Nous décrivons ces faits sans revendiquer un label que nous n’avons pas.
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/translate/pdf \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/translate/pdf", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/translate/pdf",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/translate/pdf", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/translate/pdf", 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
{
"input": "…"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "translate.pdf",
"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_tokens | 20000 |
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. |
413 | input_too_large | Entrée trop volumineuse : consultez la limite de taille de cette capacité. |
422 | task_failed | La tâche a échoué : elle ne vous est pas facturée. |