Home > front end >  PIL.UnidentifiedImageError PIL.UnidentifiedImageError: cannot identify image file 'd:\\a/imag
PIL.UnidentifiedImageError PIL.UnidentifiedImageError: cannot identify image file 'd:\\a/imag

Time:04-09

from PIL import Image
import PyPDF2
tess.pytesseract.tesseract_cmd = r'C:\Users\szaid\AppData\Local\Programs\Tesseract-OCR\tesseract'
translator=Translator()

project_dir = os.path.dirname(os.path.abspath(__file__))

app = Flask(__name__,
            static_url_path='',
            static_folder='static',
            template_folder='template')
photos = UploadSet('photos', IMAGES)
pdf = UploadSet('pdf', DOCUMENTS)
app.config['DEBUG'] = True
app.config['UPLOAD_FOLDER']= 'images'

class Get(object):
        def __init__(self, file): enter code here
                if render_template('image.html'):
                        self.file = tess.image_to_string(Image.open(project_dir   '/images/'  file))
                elif render_template('pdf.html'):
                        self.file = PyPDF2.PdfFileReader(project_dir '/pdff/'  file)

And below, this is backend code to save the file in 'images' folder but its giving me an error. I mean there is two different html pages and in both pages, there is an option to upload file and image. but dont know how to manage in flask...

@app.route('/pdf', methods=["GET","POST"])
def pdf():
        if request.method == 'POST':
                
                if 'pdf' not in request.files:
                        return 'there is no photo'
                name1 = request.form['pdf-name']   '.pdf'
                pdf = request.files['pdf']
                path = os.path.join(app.config['UPLOAD_FOLDER'], name1)
                pdf.save(path)
                TextObject = Get(name1)
                return TextObject.file

        return render_template('pdf.html')

error

CodePudding user response:

You're getting this error because your path to the PDF file is wrong. You've added the file extension but the path is missing the file name. You also have a problem with your slashes in the path. A correct path would be like:

"D:\images\yourFileName.pdf"
  • Related