如何使用Python从两列pdf中提取文本?
我有:如何使用Python从两列pdf中提取文本?,python,nlp,Python,Nlp,我有: 我有一个两列格式的PDF。有没有一种方法可以根据两列格式读取每个PDF,而不必单独裁剪每个PDF?这是我用于常规PDF解析的代码,在该图像上似乎可以正常工作(我下载了一张图像,因此它使用光学字符识别,因此与常规OCR一样精确)。请注意,这将标记文本。还要注意的是,您需要安装tesseract才能使其工作(Pyteseract只是让tesseract从python工作)。Tesseract是免费和开源的 from PIL import Image import pytesseract i
我有一个两列格式的PDF。有没有一种方法可以根据两列格式读取每个PDF,而不必单独裁剪每个PDF?这是我用于常规PDF解析的代码,在该图像上似乎可以正常工作(我下载了一张图像,因此它使用光学字符识别,因此与常规OCR一样精确)。请注意,这将标记文本。还要注意的是,您需要安装tesseract才能使其工作(Pyteseract只是让tesseract从python工作)。Tesseract是免费和开源的
from PIL import Image
import pytesseract
import cv2
import os
def parse(image_path, threshold=False, blur=False):
image = cv2.imread(image_path)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
if threshold:
gray = cv2.threshold(gray, 0, 255, \
cv2.THRESH_BINARY | cv2.THRESH_OTSU)[1]
if blur: #useful if salt-and-pepper background.
gray = cv2.medianBlur(gray, 3)
filename = "{}.png".format(os.getpid())
cv2.imwrite(filename, gray) #Create a temp file
text = pytesseract.image_to_string(Image.open(filename))
os.remove(filename) #Remove the temp file
text = text.split() #PROCESS HERE.
print(text)
a = parse(image_path, True, False)
到目前为止你的结果是什么?显然,pdf是文本格式(NLP),而不是图像(OCR)。而且我可能在不久前从其他人那里借用了该代码,我实际上不记得那个特定的snippit是我的还是其他人的。没有“如果”对我来说效果更好。