Convertir PDF a editable PDF Usando OCR
PDF4me Convertir PDF a editable PDF usando OCR es un REST punto final que realiza el escaneo PDFs Se puede buscar y editar. POST a Base64 PDF a /api/v2/ConvertOcrPdf, elija Borrador o Alta calidad, y el OCR El motor escribe una capa de texto real en el documento. La respuesta devuelve el documento terminado. PDF como Base64 JSON, listo para decodificar y guardar.
Toma una imagen o un escaneo PDF y devuelve el mismo documento con el texto reconocido y seleccionable. qualityType cambia entre un paso único rápido (Borrador, 1 API llamada por archivo) y reconocimiento por página (Alto, 2 API llamadas por página), mientras que ocrWhenNeeded saltos pages que ya se pueden buscar. El resultado llega como un Base64 docContent campo en un JSON respuesta, o a través de una Location encuesta URL en 202.
Autenticando su API Pedido
Cada PDF4me REST La llamada debe incluir su API clave en el Authorization Encabezado como autenticación básica. Obtenga o cambie su clave desde el panel de desarrollador.
Punto final
/api/v2/ConvertirOcrPdfhttps://api.pdf4me.com/api/v2/ConvertOcrPdfDatos importantes que no debes perderte
ocrWhenNeeded y outputFormat son las CUERDAS "verdadero" / "FALSO", mientras isAsync y mergeAllSheets son JSON booleanos. Esto refleja los ejemplos de código oficiales; mezclarlos es una causa común de errores 400.docName más docContent, el terminado PDF como un Base64 cadena. Decodificar docContent Antes de guardar, no escriba el cuerpo de la respuesta en el disco tal cual.ocrWhenNeeded: "verdadero" por lo que ya se puede buscar pages se omiten en lugar de reprocesarse.HTTP configuración
Método: POST
URL: https://api.pdf4me.com/api/v2/ConvertOcrPdf
Tipo de contenido: aplicación/json
Authorization: Básico <tu PDF4me API clave>
Enviar isAsync: verdadero en el cuerpo. 200 devoluciones JSON con el Base64 docContent. 202 devuelve un Location encabezado con una encuesta URL; GET eso URL con el mismo Authorization encabezado hasta que devuelva 200 con el JSON resultado.
¿Cómo se hace un escaneo? PDF ¿Se puede buscar?
Un escaneo PDF son solo imágenes de pagesNo hay nada seleccionable y nada coincide con una búsqueda de texto. OCR (reconocimiento óptico de caracteres, véase el Descripción general de cómo OCR obrasEl programa lee la imagen de cada página y escribe las palabras reconocidas en el archivo como una capa de texto real. Tras la conversión, el documento se comporta como un documento digital nativo. PDF: la búsqueda, la copia y los lectores de pantalla funcionan correctamente, y está listo para pasos posteriores como PDF/A archivado o buscar y reemplazar.
| Draft vs High | Borrador | Alto |
|---|---|---|
| Lo mejor para | Normal PDFs que en su mayoría tienen una capa de texto | Documentos escaneados o basados en imágenes |
| Costo | 1 API llamada por archivo | 2 API llamadas por página |
| Reconocimiento | Paso de luz | Página completa OCR |
| Emparejar con | ocrWhenNeeded: "true" para omitir la búsqueda pages | language cuando el texto aparece distorsionado |
API campos corporales
| Parámetro | Requerido | Tipo | Lo que hace | Ejemplo |
|---|---|---|---|---|
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 |
Cargas útiles de ejemplo
Modo alto. Documento escaneado con OCR
{
"docContent": "JVBERi0xLjcKJcfsj6IKNSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZw...",
"docName": "scanned-contract.pdf",
"qualityType": "High",
"ocrWhenNeeded": "true",
"language": "English",
"outputFormat": "true",
"isAsync": true
}
Modo borrador. Documento mixto, omitir búsqueda. pages
{
"docContent": "JVBERi0xLjcKJcfsj6IKNSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZw...",
"docName": "mixed-report.pdf",
"qualityType": "Draft",
"ocrWhenNeeded": "true",
"outputFormat": "true",
"isAsync": true
}
Consejos para el cobro de carteros
Ejemplo de 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']))"
¿Qué significa el API ¿devolver?
JSON, no bytes de archivo sin procesar. Decodifique el docContent campo para obtener el terminado PDF.
| Campo | Tipo | Lo que contiene |
|---|---|---|
| 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. |
Ejemplos de código
Implementaciones de extremo a extremo en funcionamiento, cada una con una muestra escaneada. PDF y la carga útil exacta de esta página: