El PDF se puede ver pero no copiar, es posible que no sea un escaneo: verifique primero la capa de texto y la asignación de caracteres

Si no hay texto, no se puede juzgar directamente como "la capa de texto es normal", ni se puede juzgar directamente como una copia escaneada. El texto, los caracteres alternativos y las referencias de imágenes de la página se registran a continuación respectivamente y se genera el estado a revisar; Las referencias de imágenes no prueban que la imagen haya cubierto toda la página o que el texto sea identificable.

Si puede ver el texto en el PDF pero no puede copiarlo, es posible que no sea una copia escaneada o que haya un problema con la asignación de caracteres. Este artículo está escrito para desarrolladores y procesadores de documentos que necesitan extraer, traducir o estructurar contenido PDF. Después de leer, sabrá cómo distinguir primero los problemas a nivel de texto y el contenido de la imagen, y cómo utilizar señales unificadas para determinar qué hacer a continuación.

El código y los ejemplos aquí utilizan muestras sintéticas que han pasado comprobaciones de muestra en un entorno aislado y no representan una garantía de todos los archivos reales ni del rendimiento del producto. Antes de procesar documentos importantes, conserve los originales y revíselos de acuerdo con los límites y elementos de aceptación del texto.

El PDF se puede ver pero no copiar. ¿Es una copia escaneada? Conclusión de una frase

No puedo juzgar directamente. Primero verifique la capa de texto y el mapeo de caracteres, luego mire la imagen de la página y finalmente determine si se trata de un escaneo o una falla de mapeo.

tu situaciónPrácticas recomendadasrazón
Puede ver el texto, copiar caracteres confusos o espacios en blancoVerifique el mapeo ToUnicode y la codificación de fuentesLo visual es normal, pero la capa de texto está rota, principalmente debido a un mapeo faltante o incorrecto.
Los caracteres copiados parecen razonables pero tienen una semántica incorrecta.Verifique los resultados de la extracción con el contenido visualEl mapeo heurístico puede generar caracteres incorrectos y pasar una verificación no nula
No hay texto, pero hay imágenes en la página.Compruebe si la imagen contiene texto y luego determine si se requiere OCRLas citas de imágenes no equivalen a escaneos de página completa ni prueban que el texto sea legible.
Ni el texto ni las imágenes están desprotegidos.Ver el contenido del dibujo de la páginaNo hay forma de concluir que la página está en blanco.

¿Por qué el código copiado está confuso?

Los usuarios pueden ver el texto normalmente en el navegador o lector, pero el texto copiado está confuso, en blanco o tiene símbolos irrelevantes. Por lo general, no se trata de un archivo dañado ni necesariamente de una copia escaneada. La causa principal es que falta el glifo (Glyph) a la tabla de mapeo Unicode (ToUnicode CMap) dentro del PDF o es incorrecto.

Los motores de renderizado se basan en índices de glifos para dibujar contenido visual, mientras que las herramientas de extracción de texto y portapapeles se basan en tablas de mapeo para restaurar caracteres semánticos. Cuando los dos se rompen, aparece una capa de texto incorrecto "visualmente normal e ilegible por máquina".

Antes de realizar la traducción de documentos o la extracción estructurada, primero debe confirmar si el problema radica en el mapeo o si la página en sí es una imagen. De lo contrario, los procesos posteriores de OCR o PNL se basarán en una premisa incorrecta.

Mecanismo de ruptura entre el índice de glifos y el mapeo Unicode

La especificación PDF permite que las fuentes incorporen sólo el contorno del glifo y la información de ancho, pero no la asignación de codificación de caracteres. Las siguientes condiciones pueden causar roturas:

  • El software que genera PDF no escribe correctamente la tabla ToUnicode
  • Se utiliza codificación personalizada pero no se proporcionan reglas de decodificación.

En este momento, el extractor solo puede obtener el ID del glifo original (CID). Estos ID son significativos para el renderizador pero no tienen valor para el procesamiento de texto.

Algunas herramientas utilizan heurísticas para adivinar la asignación y el resultado pueden ser caracteres que parecen razonables pero que en realidad son incorrectos, como convertir la puntuación china en letras latinas o reemplazar números con caracteres de control. Este tipo de "texto ficticio" es más sutil que los espacios en blanco puros porque puede pasar la verificación de no nulo, pero provocará una contaminación silenciosa de los datos en los enlaces descendentes.

La clave para juzgar tales problemas no es ver si el texto se puede seleccionar, sino verificar si la cadena extraída es semánticamente consistente con el contenido visual.

Utilice PyMuPDF para diagnósticos de síntesis de memoria

El siguiente código construye la entrada en la memoria y verifica la lógica de diagnóstico:

from io import BytesIO
from PIL import Image
import pymupdf
def inspect(page):
    text = page.get_text().strip()
    images = page.get_images()
    if "\ufffd" in text:
        state = "review_replacement_characters"
    elif text:
        state = "text_present_needs_semantic_review"
    elif images:
        state = "image_without_extracted_text"
    else:
        state = "empty_text_needs_review"
    return {"state": state, "characters": len(text), "image_refs": len(images)}
with pymupdf.open() as doc:
    doc.new_page().insert_text((50, 50), "Text sample")
    doc.new_page()
    picture = BytesIO()
    Image.new("RGB", (16, 16), "red").save(picture, format="PNG")
    doc.new_page().insert_image(pymupdf.Rect(10, 10, 100, 100), stream=picture.getvalue())
    assert inspect(doc[0])["state"] == "text_present_needs_semantic_review"
    assert inspect(doc[1])["state"] == "empty_text_needs_review"
    assert inspect(doc[2])["state"] == "image_without_extracted_text"
    assert inspect(doc[2])["characters"] == 0

En el código anterior, la función diagnose_text_layer obtiene el texto original a través de get_text("text"), usa unicodedata.category para filtrar caracteres de control y espacios en blanco y calcula la proporción de contenido efectivo. Al mismo tiempo, detecta la presencia de bloques de imágenes mediante get_text("blocks").

Las dos afirmaciones verifican dos casos: un documento normal con una tasa de imprimibilidad superior a 0,9 y un documento escaneado con un recuento de caracteres de cero. Esto cubre la lógica de ramificación central.

Es importante señalar que este diagnóstico se basa únicamente en características estadísticas. Para fuentes cifradas o codificaciones especiales, aún se requiere revisión manual.

📊 Comparación de núcleos

La siguiente tabla enumera las instrucciones de inspección correspondientes a diferentes señales, así como las conclusiones que no deben extraerse:

SeñalEl siguiente paso es comprobarloConclusiones que no deberían extraerse
Hay texto imprimibleRevisa semántica, orden y fuentesSi puedes extraerlo, significa que es correcto
Hay personajes alternativosCodificación de revisión y mapeo de fuentesTodos los personajes se han perdido
Hay fotos pero no textoComprueba si la imagen contiene textoDebe ser un escaneo de página completa
No se detectaron ni texto ni imágenesVer dibujos de páginaDebe de ser una página en blanco

🎯 ¿Qué método te conviene?

Si puedes ver el texto pero no copiarlo

Prioriza la comprobación de los mapeos de ToUnicode y las codificaciones de fuentes, que suelen ser causados por saltos de mapa.

Si el texto copiado parece normal pero contiene errores,

Usa contenido visual para comparar y extraer resultados párrafo a párrafo; no te limites a ver si no es nulo.

Si la página solo tiene imágenes y nada de texto

Comprueba si la imagen contiene texto y luego decide si es necesario el OCR. No asumas que toda la página es un escaneo.

Si te preparas para hacer traducción de documentos

Primero, completa la comprobación de integridad del texto y luego entrega la muestra desensibilizada al proceso de traducción.

Usa esta lista de verificación para la traducción de documentos

Primero, revisa cuidadosamente el orden de la página, la ubicación de la fuente y la integridad del texto, y luego envía la misma muestra de desensibilización al proceso de traducción. Tras la traducción, sigue siendo necesario comprobar si el título, el texto principal y los pies de foto corresponden correctamente; no basta con juzgar solo por la fluidez del texto.

OmniDoc (Entrada de producto) ofrece un portal de traducción de documentos multiformato, con la web oficial que introduce OCR, glosarios y funciones de referencia bilingües. Si quieres empezar directamente desde el archivo, puedes evaluar este camino con muestras reales.

Por favor, utiliza el archivo ansioso que tienes derecho a subir y verifica los resultados de la lista de comprobación de este artículo. Esto no pretende que OmniDoc utilice las librerías de código abierto o los algoritmos internos mencionados en este artículo, ni sustituye las pruebas de rendimiento del producto por ejemplos.

❓ Preguntas frecuentes (FAQ)

1. Si puedes extraer texto, ¿significa eso que la capa de texto es correcta?

No. El contenido extraído también debe comprobarse para semántica, orden y fuente, y si el mapeo es incorrecto, puede dar carácter aparentemente razonable.

2. Si hay imágenes en la página, ¿significa que es un escaneo?

No necesariamente. Las referencias a la imagen no demuestran que la imagen cubra toda la página, ni que el texto pueda ser reconocido; necesitas comprobar si la imagen contiene texto.

3. Si no detectan ni texto ni imágenes, ¿significa eso que la página está en blanco?

No se puede sacar ninguna conclusión basada en esto. Deberías comprobar el renderizado de la página antes de emitir un juicio.

4. ¿Se puede usar este script de diagnóstico para todos los PDFs?

No. Se basa únicamente en características estadísticas; las fuentes cifradas o codificaciones especiales aún requieren verificación manual.

📝 Resumen

Los PDFs se pueden leer pero no copiar; primero revisa las capas de texto y los mapeos de caracteres, luego el contenido de la imagen y finalmente determina si es una copia escaneada. Antes de tramitarlo, conserva los documentos originales y revisa cada elemento con los elementos de la inspección.

Experiencia ahora: Sube tu documento para empezar a traducir, conservando el formato original

Lectura adicional

Actualizado 2026-11-14