Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python/Django中逐行读取pdf文件?_Python_Django_Pdf_File Io_Readlines - Fatal编程技术网

如何在Python/Django中逐行读取pdf文件?

如何在Python/Django中逐行读取pdf文件?,python,django,pdf,file-io,readlines,Python,Django,Pdf,File Io,Readlines,我处理的文本和pdf文件等于或小于5KB。如果文件是文本文件,我从表单中获取一个文件,并以字符串形式获取所需的输入以进行汇总: file = file.readlines() file = ''.join(file) result = summarize(file, num_sentences) 这很容易做到,但对于pdf文件来说却不是那么容易。有没有办法像我在Python/Django中使用txt文件那样,将pdf文件中的句子转换成字符串?我认为不可能像使用txt文件那样读取pdf文件

我处理的文本和pdf文件等于或小于
5KB
。如果文件是文本文件,我从表单中获取一个文件,并以字符串形式获取所需的输入以进行汇总:

 file = file.readlines()
 file = ''.join(file)
 result = summarize(file, num_sentences)

这很容易做到,但对于pdf文件来说却不是那么容易。有没有办法像我在Python/Django中使用txt文件那样,将pdf文件中的句子转换成字符串?

我认为不可能像使用txt文件那样读取pdf文件,您需要将pdf文件转换为txt文件(请参阅),然后进行处理。
您也可以参考此文件轻松地将pdf转换为txt

我认为不可能像您使用txt文件那样读取pdf,您需要将pdf转换为txt文件(请参考),然后进行处理。
您也可以参考此文档,在Django中轻松地将pdf转换为txt。您可以执行以下操作:

views.py:

def upload_pdf():
     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
       # depends on what you want to do with the pdf parsing results
       return render(request, .....) 
def upload_pdf():
如果request.method=='POST'和request.FILES['myfile']:
pdfFileObj=request.FILES['myfile'].read()
pdfReader=PyPDF2.PdfFileReader(io.BytesIO(pdfFileObj))
NumPages=pdfReader.NumPages
i=0
内容=[]

在Django(i中),您可以执行以下操作:

views.py:

def upload_pdf():
     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
       # depends on what you want to do with the pdf parsing results
       return render(request, .....) 
def upload_pdf():
如果request.method=='POST'和request.FILES['myfile']:
pdfFileObj=request.FILES['myfile'].read()
pdfReader=PyPDF2.PdfFileReader(io.BytesIO(pdfFileObj))
NumPages=pdfReader.NumPages
i=0
内容=[]

while(这可能是这个问题的重复:是的,可能是。但我已经在那个问题中尝试了建议解决方案。它无法以字符串形式返回所有文件的内容。也许你可以在问题中这样说,并说出到底出了什么错(错误消息?错误内容?)因此,我们可以帮助您!您可以使用此应用程序:这可能是此问题的重复:是的,可能是。但我已经在该问题中尝试了“建议”解决方案。它无法以字符串形式返回所有文件的内容。也许您可以在问题中这样说,并说明到底出了什么问题(错误消息?错误内容?)因此,我们可以帮助您!您可以使用此应用程序:
fileName = "path/test.pdf"
pdfFileObj = open(fileName,'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
NumPages = pdfReader.numPages

i = 0
content = []
while (i<NumPages):
    text = pdfReader.getPage(i)
    content.append(text.extractText())
    i +=1