[英]How to extract text (PyPDF2) from specific location/span on PDF
我已經將 PDF 頁面中的文本提取到 Text 變量。 我想提取字符串 'your number is' 之后的數字(14 長度的字符串在 span (982,996) 上匹配:
object=PyPDF2.PdfFileReader(filename)
Text = PageObj.extractText()
PageObj = object.getPage(0)
ResSearch = re.search(String, Text)
我得到一個結果:span = (982, 996) match = '你的號碼是'。 現在我所需要的就是刮掉后面的三位數文本('你的號碼是105 '),因為文件每天都在變化,而且提取應該是動態的。
謝謝大家 !!
問題是關於正則表達式而不是 pdf 本身。 在假設每頁最多一個匹配項的情況下,您可以使用search
,否則使用findall
。 查看有關如何使用 group 和(...)
部分的文檔。
import PyPDF2, re
filename = '' #
pdf_r = PyPDF2.PdfFileReader(filename)
text = pdf_r.getPage(0).extractText() # from 1st page or make a loop
if p := re.match(r'your number is (\d{3})'):
my_number = int(p.search(text).groups()[0]) # as int
使用 PyPDF4,語法是一樣的,它不“有”這樣的問題:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.