在 PDF 内容能被选中复制的情况下提取其中文本
需要提前安装好 pdfminer 库:pip install pdfminer
直接给出代码:
from io import StringIO
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfinterp import PDFResourceManager, process_pdf
def read_pdf(pdf):
"""
读取pdf文件,获取所有内容
"""
rsrcmgr = PDFResourceManager()
retstr = StringIO()
laparams = LAParams()
device = TextConverter(rsrcmgr, retstr, laparams=laparams)
process_pdf(rsrcmgr, device, pdf)
device.close()
content = retstr.getvalue()
retstr.close()
return str(content)
if __name__ == '__main__':
with open(r'C:\XXX.pdf', "rb") as my_pdf:
print(read_pdf(my_pdf))
对于有一定规律的固定文本段,可以考虑利用正则来进行提取。
这个必须点赞👍
搞个应用机器人撒 😜