我有一个PDF,其中包含表格,文本和一些图像.我想在PDF中的表格中提取表格.
现在我正在手动从页面中查找表格.从那里我捕获该页面并保存到另一个PDF.
import PyPDF2
PDFfilename = "Sammamish.pdf" #filename of your PDF/directory where your PDF is stored
pfr = PyPDF2.PdfFileReader(open(PDFfilename, "rb")) #PdfFileReader object
pg4 = pfr.getPage(126) #extract pg 127
writer = PyPDF2.PdfFileWriter() #create PdfFileWriter object
#add pages
writer.addPage(pg4)
NewPDFfilename = "allTables.pdf" #filename of your PDF/directory where you want your new PDF to be
with open(NewPDFfilename, "wb") as outputStream:
writer.write(outputStream) #write pages to new PDF
Run Code Online (Sandbox Code Playgroud)
我的目标是从整个PDF文档中提取表格.
我有一个图像,我想从图像中提取键和值对的详细信息。
例如,我想提取“MASTER-AIRWAYBILL NO:”的值
我已经写了使用 python opencv 和 OCR 从图像中提取整个文本,但我不知道如何从图像的整个结果文本中仅提取“MASTER-AIRWAYBILL NO:”的值。
请找到代码:
import cv2
import numpy as np
import pytesseract
from PIL import Image
print ("Hello")
src_path = "C:\\Users\Venkatraman.R\Desktop\\alpha_bill.jpg"
pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files (x86)\Tesseract-OCR\tesseract.exe"
print (src_path)
# Read image with opencv
img = cv2.imread(src_path)
# Convert to gray
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# Apply dilation and erosion to remove some noise
kernel = np.ones((1, 1), np.uint8)
img = cv2.dilate(img, kernel, iterations=1)
img = cv2.erode(img, kernel, iterations=1)
# Write image after removed …Run Code Online (Sandbox Code Playgroud) 这是我的元组列表:
[('Abbott', 'Texas'), ('Abernathy', 'Texas'), ('Abilene', 'Texas'), ('Ace', 'Texas'), ('Ackerly', 'Texas'), ('Alba', 'Texas'),('Addison', 'Texas'), ('Adkins', 'Texas'), ('Adrian', 'Texas'), ('Afton', 'Texas'), ('Agua Dulce', 'Texas'), ('Aiken', 'Texas'), ('Alamo', 'Texas'), ('Alanreed', 'Texas'), ('Albany', 'Texas')]
Run Code Online (Sandbox Code Playgroud)
从上面的元组列表中我想删除 ('Alba', 'Texas')
我尝试了很多方法,但没有给我预期的结果。
我试过了
[x for x in listobj if any(y is not Alba for y in x)]
Run Code Online (Sandbox Code Playgroud)