Saltar al contenido

Convertir pdf escaneado a texto python

Solución:

Eche un vistazo a mi código, me funcionó.

import os
import io
from PIL import Image
import pytesseract
from wand.image import Image as wi
import gc



pdf=wi(filename=pdf_path,resolution=300)
pdfImg=pdf.convert('jpeg')

imgBlobs=[]
extracted_text=[]

def Get_text_from_image(pdf_path):
    pdf=wi(filename=pdf_path,resolution=300)
    pdfImg=pdf.convert('jpeg')
    imgBlobs=[]
    extracted_text=[]
    for img in pdfImg.sequence:
        page=wi(image=img)
        imgBlobs.append(page.make_blob('jpeg'))

    for imgBlob in imgBlobs:
        im=Image.open(io.BytesIO(imgBlob))
        text=pytesseract.image_to_string(im,lang='eng')
        extracted_text.append(text)

    return (extracted_text)

Lo arreglé para mí editando el /etc/ImageMagick-6/policy.xml y cambié los derechos de la línea pdf a “leer | escribir”:

Abre la terminal y cambia la ruta

cd /etc/ImageMagick-6
nano policy.xml
<policy domain="coder" rights="read" pattern="PDF" /> 
change to
<policy domain="coder" rights="read|write" pattern="PDF" />
exit

Cuando estaba extrayendo las imágenes pdf en texto, enfrenté algunos problemas, vaya al siguiente enlace

https://stackoverflow.com/questions/52699608/wand-policy-error- 
error-constitute-c-readimage-412

https://stackoverflow.com/questions/52861946/imagemagick-not- 
authorized-to-convert-pdf-to-an-image

Increasing the memory limit  please go through the below link
enter code here
https://github.com/phw/peek/issues/112
https://github.com/ImageMagick/ImageMagick/issues/396

Eche un vistazo a esta biblioteca: https://pypi.python.org/pypi/pypdfocr pero un archivo PDF también puede tener imágenes. Es posible que pueda analizar los flujos de contenido de la página. Algunos escáneres dividen la página escaneada en imágenes, por lo que no obtendrá el texto con ghostscript.

Convierta archivos PDF, utilizando pytesseract para hacer el OCR, y exporte cada página de los archivos PDF a un archivo de texto.

Instale estos ….

conda install -c conda-forge pytesseract

conda install -c conda-forge tesseract

pip instalar pdf2image

import pytesseract
from pdf2image import convert_from_path
import glob

pdfs = glob.glob(r"yourPath*.pdf")

for pdf_path in pdfs:
    pages = convert_from_path(pdf_path, 500)

    for pageNum,imgBlob in enumerate(pages):
        text = pytesseract.image_to_string(imgBlob,lang='eng')

        with open(f'{pdf_path[:-4]}_page{pageNum}.txt', 'w') as the_file:
            the_file.write(text)
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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