我有一些 pdf,其中每一页都是模糊图像,我想从其页面中提取表格并将每个表格保存为单独的 csv,因此我问了这个问题:
之后,我能够将 pdf 的每一页转换为 .jpeg 图像并使用 TesseractOCR 从图像中提取信息,它能够选择信息但它似乎跳过了一些字段并且没有保持格式图片:
如您所见,车用汽油下面有两个副标题,但跳过了百分比变化。
如果有一种方法可以保持与机动汽油相同的格式,则应该是 2 列的标题,而不仅仅是第一列(如果需要,可以通过循环手动修复)。
到目前为止,这是我的代码(除了将 pdf 页面转换为图像的代码):
def extract_data_from_table_ocr():
from img2table.ocr import TesseractOCR
from img2table.document import Image
# Instantiation of OCR
ocr = TesseractOCR(n_threads=1, lang="eng")
# Instantiation of document, either an image or a PDF
doc = Image('out3.jpg', dpi=200)
# Table extraction
extracted_tables_all = doc.extract_tables(ocr=ocr,
implicit_rows=True,
borderless_tables=True,
min_confidence=50)
print("length : " , len(extracted_tables_all))
extracted_tables = extracted_tables_all[0]
frames = []
for table in extracted_tables_all:
try:
frames.append(table.df)
except:
frames.append(table)
result = pd.concat(frames)
result.to_csv('tableConverted2.csv', index=False, header = False)