Convertir PDF à modifier PDF En utilisant OCR
PDF4me Convertir PDF à modifier PDF en utilisant OCR est un REST point de terminaison qui effectue la numérisation PDFs consultable et modifiable. POST un Base64 PDF à /api/v2/ConvertOcrPdf, choisissez Brouillon ou Haute qualité, et le OCR Le moteur écrit une véritable couche de texte dans le document. La réponse renvoie le document final. PDF comme Base64 JSON, prêt à décoder et à sauvegarder.
Prend une image ou une image numérisée PDF et renvoie le même document avec un texte reconnu et sélectionnable. qualityType alterne entre un passage unique rapide (Brouillon, 1 API appel par fichier) et reconnaissance par page (Haut, 2 API appels par page), tandis que ocrWhenNeeded sauts pages qui sont déjà consultables. Le résultat arrive sous forme de Base64 docContent champ dans un JSON réponse, ou via une Location sondage URL le 202.
Authentification de votre API Demande
Chaque PDF4me REST L'appel doit inclure votre API clé dans le Authorization En-tête : Authentification de base. Récupérez ou renouvelez votre clé depuis le tableau de bord développeur.
Point de terminaison
/api/v2/ConvertOcrPdfhttps://api.pdf4me.com/api/v2/ConvertOcrPdfInformations importantes à ne pas manquer
ocrWhenNeeded et outputFormat sont les CORDES "vrai" / "FAUX", alors que isAsync et mergeAllSheets sont JSON booléens. Ceci est conforme aux exemples de code officiels ; les confondre est une cause fréquente d’erreurs 400.docName plus docContent, le fini PDF comme un Base64 chaîne. Décoder docContent avant l'enregistrement. Ne pas écrire le corps de la réponse tel quel sur le disque.ocrWhenNeeded: "vrai" donc déjà consultable pages sont ignorées au lieu d'être retraitées.HTTP installation
Méthode: POST
URL: https://api.pdf4me.com/api/v2/ConvertOcrPdf
Type de contenu : application/json
Authorization: Basique <votre PDF4me API clé>
Envoyer isAsync: vrai dans le corps. 200 retours JSON avec le Base64 docContent. 202 renvoie un Location en-tête avec un sondage URL; GET que URL avec le même Authorization en-tête jusqu'à ce qu'il renvoie 200 avec le JSON résultat.
Comment réaliser un scan PDF consultable ?
Un scan PDF ce ne sont que des photos de pages; rien n'est sélectionnable et rien ne correspond à une recherche textuelle. OCR (reconnaissance optique de caractères, voir la aperçu de la façon OCR travauxLe logiciel lit l'image de chaque page et inscrit les mots reconnus dans le fichier sous forme de véritable couche de texte. Après conversion, le document se comporte comme un document numérique natif. PDFLa recherche, la copie et les lecteurs d'écran fonctionnent tous, et le système est prêt pour les étapes suivantes, comme… PDF/A archivage ou rechercher et remplacer.
| Draft vs High | Brouillon | Haut |
|---|---|---|
| Idéal pour | Normale PDFs qui possèdent pour la plupart une couche de texte | Documents numérisés ou sous forme d'images |
| Coût | 1 API appel par fichier | 2 API appels par page |
| Reconnaissance | Passage léger | Pleine page OCR |
| Associer à | ocrWhenNeeded: "true" ignorer les éléments consultables pages | language lorsque le texte est renvoyé brouillé |
API champs corporels
| Paramètre | Requis | Taper | Ce que cela fait | Exemple |
|---|---|---|---|---|
docContent | Required | string | Base64-encoded bytes of the source PDF. Strip any data:application/pdf;base64, prefix before posting. | JVBERi0xLjcK... |
docName | Required | string | Source filename including the .pdf extension. Used for the output docName. | scanned-contract.pdf |
qualityType | Required | string | Draft for normal PDFs (1 API call per file). High for scanned documents (2 API calls per page). | High |
ocrWhenNeeded | Required | string | The string "true" skips pages that already have a searchable text layer; "false" forces OCR on every page. | "true" |
outputFormat | Required | string | Output format flag, sent as the string "true" in the official samples. | "true" |
language | Conditional | string | Language of the source text (English, Spanish, French, German, and others). Set only when the recognized output is garbled; otherwise let the engine detect it. | English |
mergeAllSheets | Optional | boolean | JSON boolean carried by the official samples; relevant to sheet-based sources. | true |
isAsync | Optional | boolean | true enables the 202 + Location polling pattern, recommended for large scans. | true |
Exemples de charges utiles
Mode élevé. Document numérisé avec OCR
{
"docContent": "JVBERi0xLjcKJcfsj6IKNSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZw...",
"docName": "scanned-contract.pdf",
"qualityType": "High",
"ocrWhenNeeded": "true",
"language": "English",
"outputFormat": "true",
"isAsync": true
}
Mode brouillon. Document mixte, recherche possible sans interruption. pages
{
"docContent": "JVBERi0xLjcKJcfsj6IKNSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZw...",
"docName": "mixed-report.pdf",
"qualityType": "Draft",
"ocrWhenNeeded": "true",
"outputFormat": "true",
"isAsync": true
}
Conseils pour la collecte par le facteur
Exemple curl
curl -X POST https://api.pdf4me.com/api/v2/ConvertOcrPdf \
-H "Content-Type: application/json" \
-H "Authorization: Basic YOUR_API_KEY" \
-d '{
"docContent": "'"$(base64 -w 0 scanned-contract.pdf)"'",
"docName": "scanned-contract.pdf",
"qualityType": "High",
"ocrWhenNeeded": "true",
"outputFormat": "true",
"isAsync": true
}' | python -c "import sys, json, base64; open('searchable.pdf','wb').write(base64.b64decode(json.load(sys.stdin)['docContent']))"
Que signifie le API retour?
JSON, et non les octets bruts du fichier. Décodez le docContent champ pour obtenir le fini PDF.
| Champ | Taper | Ce qu'il contient |
|---|---|---|
| docName (HTTP 200) | String | The output PDF filename, derived from the docName you sent. |
| docContent (HTTP 200) | String (Base64) | The searchable, editable PDF encoded as Base64. Decode to bytes and save with a .pdf extension. |
| Location header (HTTP 202) | String (URL) | Poll URL for an async job that is still running. GET it with the same Authorization header; the official samples poll every 10 seconds, up to 20 retries. |
| Poll response (HTTP 200) | JSON | The same docName + docContent JSON, returned once processing completes. |
Exemples de code
Des implémentations complètes et fonctionnelles, chacune avec un exemple scanné PDF et la charge utile exacte de cette page :