【问题标题】:How to upload and read PDF files in Django如何在 Django 中上传和阅读 PDF 文件
【发布时间】:2018-07-21 02:08:12
【问题描述】:

我正在尝试创建一个简单的django 应用程序,它从用户那里获取一些PDF 文件,然后读取其内容。到目前为止,我已经编写了如下所述的代码,但它似乎不起作用。它在这一行产生错误PyPDF2.PdfFileReader(open(filename))

TypeError:预期的 str、字节或 os.PathLike 对象,而不是 TemporaryUploadedFile

index.html

<input type="file" name="fupload" multiple>

view.py

if request.method == 'POST':
        files = request.FILES.getlist('fupload')

        pdf_data = []
        for filename in files:
            read_pdf = PyPDF2.PdfFileReader(open(filename))
            page = read_pdf.getPage(0)
            page_content = page.extractText()
            pdf_data.append(page_content)

任何人都可以告诉我我做错了什么。提前致谢

【问题讨论】:

  • 您可能需要使用open(filename.temporary_file_path())See docs

标签: python django python-3.x file-upload pypdf2


【解决方案1】:

你需要将你的views.py修改成这样:

if request.method == 'POST' and request.FILES['myfile']:

        pdfFileObj = request.FILES['myfile'].read() 
        pdfReader = PyPDF2.PdfFileReader(io.BytesIO(pdfFileObj))
        NumPages = pdfReader.numPages
        i = 0
        content = []
        while (i<NumPages):
            text = pdfReader.getPage(i)
            content.append(text.extractText())
            i +=1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-10
    • 1970-01-01
    • 2018-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-25
    相关资源
    最近更新 更多