Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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基于特定文本拆分图像/pdf_Python_Opencv_Pdf_Ocr_Pypdf2 - Fatal编程技术网

使用Python基于特定文本拆分图像/pdf

使用Python基于特定文本拆分图像/pdf,python,opencv,pdf,ocr,pypdf2,Python,Opencv,Pdf,Ocr,Pypdf2,我想根据其中的文本拆分pdf(或图像,如果需要)。我想将其拆分,以在pdf/图像中获得每个问题及其选项,就像该问题及其选项的屏幕截图一样 PDF链接示例: 有可能吗?如果是,则需要什么代码来完成此操作。我是python的新手,所以一些解释可能会有所帮助。我有将近100个这样的PDF,只是想自动获取单个问题及其选项。步骤1:只需安装.exe并将其放在同一工作目录中。 步骤2:复制下面的代码并粘贴到同一目录中。 步骤3:还要记住,pdf文件也应位于同一目录中 步骤4:运行.py文件 对我有用的完整

我想根据其中的文本拆分
pdf
(或图像,如果需要)。我想将其拆分,以在pdf/图像中获得每个问题及其选项,就像该问题及其选项的屏幕截图一样

PDF链接示例:


有可能吗?如果是,则需要什么代码来完成此操作。我是python的新手,所以一些解释可能会有所帮助。我有将近100个这样的PDF,只是想自动获取单个问题及其选项。

步骤1:只需安装.exe并将其放在同一工作目录中。
步骤2:复制下面的代码并粘贴到同一目录中。
步骤3:还要记住,pdf文件也应位于同一目录中
步骤4:运行.py文件

对我有用的完整代码:

import os 
import glob 
import subprocess 
files=[]
#remember to put your pdftotxt.exe to the folder with your pdf files  
for filename in glob.glob(os.getcwd() + '\\*.pdf'):
    files.append(filename[0:-4]+".txt")
    subprocess.call([os.getcwd() + '\\pdftotext', filename, filename[0:-4]+".txt"]) 
all_files=[]
for i in range(len(files)):
    with open(files[i],'r') as f:
        text=f.read()
        text=text.split('carry one mark each')[1].split('WWW.UNITOPERATION.COM')[0]
        text_ls=text.splitlines()
        ques=[]
        counter=1
        for i in range(len(text_ls)):
            if text_ls[i].startswith(str(counter)+'.'):
                ques.append(''.join(text_ls[i:]).split('\n'[0]))
                counter+=1
    all_files.append(ques)

# Now you have list of all_files in which ques list is added
# You simply need take one by one element out from all_files and write it in a .txt file
# and that will be your task

还可以共享示例pdflink@YashMakan我知道你已经知道pypdf2了。我会选择阅读/解析PDF,而不是图像处理和OCR。这只会破坏您已经拥有的信息。每个文件是否都有20个问题?@ChristophRackwitz您所说的读取/解析是什么意思?信不信由你,但所有其他pdf阅读器库都不像pdftotext.exe那样完美地工作。谢谢您的帮助。我实际上已经尝试过这种方法(尽管我使用了在线API)。但是,许多选项是图像而不是文本。还有一些表格和矩阵在文本格式中没有很好的格式。因此,我认为将pdf本身拆分或将其转换为图像,然后使用类似opencv的东西拆分会更容易。只是我不知道如何做到这一点。我现在还没有一个关于图片选项的答案。如果它真的有帮助,那么请对评论进行投票,因为它“让我有动力去解决问题”