Logotipo archivo PDF

Convertir documentos PDF a OCR-PDF/A editables

 
 

En este artículo veremos como convertir documentos PDF a OCR y más concretamente a OCRPDF/A editables.

 
Índice General

     

  • Introducción (Volver al índice General)
    En ocasiones, tenemos que manipular documentos PDF en los que no podemos seleccionar texto, por que no fueron creados con alguna herramienta de OCR. Con la herramienta que vamos a utilizar, no solo documentos PDF a OCR de forma que el texto sea seleccionable, además, tendremos la posibilidad de convertirlo a formato PDF/A. Este formato asegura que estos documentos puedan ser reproducidos con exactitud en el futuro.
     
    Para hacer todo esto utilizaremos una única herramienta, OCRmyPDF. La probaremos en Debian, pero la sintaxis de uso será igual para todas las distribuciones.
  •  

  • Instalación (Volver al índice General)
    A continuación, veremos la forma de instalarlo en algunos sistemas operativos y en las distribuciones más utilizadas.

  •  

  • Instalación de paquetes de idioma adicionales (Volver al índice General)
    OCRmyPDF usa Tesseract para OCR y se basa en sus paquetes de idioma. En la mayoría de las plataformas, el inglés se instala con Tesseract de forma predeterminada, pero no siempre.

    Tesseract es compatible con la mayoría de los idiomas. Los idiomas se identifican mediante códigos estandarizados de tres letras llamados ISO 639-2 Alpha-3. Algunos están anglicanizados, por ejemplo, español es spa en lugar de esp, mientras que otros no lo están, como por ejemplo, alemán es deu y el francés es fra.

    Para instalar los archivos de idiomas que vayamos a utilizar, instalaremos los paquetes tesseract-ocr y tesseract-ocr-*** donde *** indica el idioma que queremos o vamos a usar en nuestros documentos, por ejemplo:

       

    • En distribuciones basadas en Debian (Volver al índice General)
      Si no conocemos los paquetes de idiomas de Tesseract soportados por nuestra distribución, podemos listarlos con el siguiente comando:

      $ apt-cache search tesseract-ocr

      Una vez localizado el nombre de nuestro paquete, lo instalamos:

      • Español (spa):
        $ sudo apt install tesseract-ocr tesseract-ocr-spa
      • Inglés (eng):
        $ sudo apt install tesseract-ocr tesseract-ocr-eng

    •  
       
       

    • En distribuciones basadas en Red Hat (Volver al índice General)
      Si no conocemos los paquetes de idiomas de Tesseract soportados por nuestra distribución, podemos listarlos con el siguiente comando:

      $ dnf search tesseract

      Una vez localizado el nombre de nuestro paquete, lo instalamos:

      • Español (spa):
        $ sudo dnf install tesseract-ocr tesseract-ocr-spa
      • Inglés (eng):
        $ sudo dnf install tesseract-ocr tesseract-ocr-eng

     
    Después de instalar el/los paquete/s de idioma/s, para usarlo añadiremos al comando la opción -l <language>:

    En el caso de estar convirtiendo un documento en español, indicamos el idioma con el siguiente comando:

    $ ocrmypdf -l spa documento.pdf documento-ocr.pdf

    En el caso de estar convirtiendo un documento multilingüe, podemos hacer uso de varios idiomas a la vez, por ejemplo español y francés:

    $ ocrmypdf -l spa+fra documento.pdf documento-ocr.pdf

    o lo que es lo mismo:

    $ ocrmypdf -l spa -l fra documento.pdf documento-ocr.pdf

    El inglés se asume de forma predeterminada a menos que se especifiquen otros idiomas.

  •  

  • Uso básico de la herramienta (Volver al índice General)
    La forma más básica de convertir documentos PDF a OCRPDF/A, es la siguiente:

    $ ocrmypdf documento.pdf documento-ocr.pdf

    y si queremos sobrescribir el documento a convertir, simplemente le damos el mismo nombre de salida que de entrada. Solo lo sobrescribirá si la conversión tuvo éxito.

    $ ocrmypdf documento.pdf documento.pdf
    • Deshabilitar PDF/A
      Si queremos deshabilitar PDF/A y obtener en la conversión documentos PDF a OCRregulares, lo podemos hacer añadiendo al comando la opción --output-type pdf. Por ejemplo:

      $ ocrmypdf --output-type pdf documento.pdf documento-ocr.pdf
    • Rotación de página correcta
      La opción --rotate-pages intentará corregir automáticamente la rotación de cada página. Esto puede ayudar a corregir un trabajo de escaneo que contiene una combinación de páginas horizontales y verticales.

      $ ocrmypdf --rotate-pages documento.pdf documento-ocr.pdf
    • Enderezar página
      Si la página está solo un poco desviada de la horizontal, como una imagen torcida, entonces utilizaremos la opción --deskew.

      $ ocrmypdf --deskew documento.pdf documento-ocr.pdf
    • Convertir una imagen a PDF
      OCRmyPDF también puede convertir imágenes individuales a PDF por sí solo. Si la resolución de una imagen (puntos por pulgada, ppp o DPI) no está configurada o es incorrecta, se puede anular con la opción --image-dpi. (Como 1 pulgada son 2,54 cm, 1 dpi = 0,39 dpcm, o lo que es lo mismo 1 ppp = 0,39 ppcm).

      $ ocrmypdf --image-dpi 300 image.png documento-ocr.pdf
    • Eliminar fondo ruidoso de imágenes
      La opción --remove-background intenta detectar y eliminar un fondo ruidoso de imágenes en escala de grises o en color. Las imágenes monocromáticas se ignoran. Esto no debe usarse en documentos que contengan fotos en color, ya que puede eliminarlas.

      $ ocrmypdf --remove-background documento.pdf documento-ocr.pdf
    • Limpiar las páginas antes de pasar el OCR
      La opción --clean utiliza unpaper para limpiar las páginas antes del OCR, pero no altera el resultado final. Esto hace que sea menos probable que OCR intente encontrar texto en el ruido de fondo.

      $ ocrmypdf --clear documento.pdf documento-ocr.pdf
    • Crear un PDF/A con todas las imágenes en color y en escala de grises convertidas a JPEG
      $ ocrmypdf --output-type pdfa --pdfa-image-compression jpeg documento.pdf documento-ocr.pdf
    • Optimizar imágenes
      OCRmyPDF incluye un optimizador de PDF orientado a imágenes. De forma predeterminada, el optimizador se ejecuta con configuraciones seguras con el objetivo de mejorar la compresión sin pérdida de calidad. En niveles de optimización más altos, se pueden aplicar y ajustar optimizaciones con pérdida. La optimización ocurre después de OCR, y solo si OCR se realizó correctamente. La optimización varía desde --optimize 0 a --optimize 3, donde 0 desactiva la optimización y 3 implementa todas las opciones. --optimize 1 es el valor predeterminado y solo realiza optimizaciones seguras y sin pérdidas.

      Veamos algunos ejemplos:

      • Deshabilitar la optimización:
        $ ocrmypdf --optimize 0 documento.pdf documento-ocr.pdf

        o también en su forma abreviada:

        $ ocrmypdf --O0 documento.pdf documento-ocr.pdf
      • Optimización sin pérdidas:
        $ ocrmypdf --optimize 1 documento.pdf documento-ocr.pdf

        o también en su forma abreviada:

        $ ocrmypdf --O1 documento.pdf documento-ocr.pdf
      • Optimización con pérdidas:
        En los niveles de optimización -O2 y -O3, OCRmyPDF intentará optimizar la imagen con pérdida. Si pngquant está instalado, OCRmyPDF lo usará para reducir el tamaño de las imágenes. OCRmyPDF proporciona el modo con pérdida JBIG2 como una característica avanzada que requiere adicionalmente el argumento --jbig2-lossy. Por ejemplo:

        $ ocrmypdf --optimize 2 --jbig2-lossy documento.pdf documento-ocr.pdf

        o también en su forma abreviada:

        $ ocrmypdf -O2 --jbig2-lossy documento.pdf documento-ocr.pdf

        Para la mayoría de distribuciones Linux, para poder hacer uso de la codificación JBIG2, tendremos que compilar un codificador JBIG2 dese la fuente. En este enlace, se indica como hacerlo.

     
    Para conocer funciones avanzadas de OCRmyPDF o instalaciones en plataformas especiales como Docker, visitar el siguiente enlace.


Documentos pdf a ocr
 

Espero que este artículo os haya sido de utilidad. Si pensáis que podéis colaborar para mejorar este artículo, que hay algo erróneo en él o simplemente deseáis comentarlo, por favor, dejad vuestra opinión más abajo.
 
Seguir J. Carlos:

Técnico Informático - Desarrollo Web - Administración de Redes

Técnico Informático. Desarrollo Web. Administración de redes.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.