python-3.x - 如何在python中从电子邮件中读取pdf附件
问题描述
我正在尝试从我的电子邮件中提取 Pdf 附件并尝试打印它,但它给我的输出非常糟糕。有什么方法可以只提取其中的文本和数字吗?这是我的代码
import imaplib
import email
import os
import io
svdir = 'P:\\'
mail = imaplib.IMAP4_SSL('imap.gmail.com',993)
mail.login("example@gmail.com", "examplepassword")
mail.select("Inbox")
typ, msgs = mail.search(None, '(SUBJECT "samplepdf")')
msgs = msgs[0].split()
print(msgs)
for emailid in msgs:
resp, data = mail.fetch(emailid, "(RFC822)")
email_body = data[0][1]
m = email.message_from_bytes(email_body)
if m.get_content_maintype() != 'multipart':
continue
for part in m.walk():
if part.get_content_maintype() == 'multipart':
continue
if part.get('Content-Disposition') is None:
continue
filename = part.get_filename()
fg=part.get_payload(decode=True)
print(fg)
对不起,我不能在这里发布输出,因为它真的很长,我什至不能复制它,因为它让我的电脑滞后。
提前致谢。
解决方案
Python 没有任何内置包来读取 PDF 文件。您需要使用 PDF 解析库,例如https://pypi.org/project/PyPDF2/。
希望这可以帮助。
推荐阅读
- unity3d - dontDestroyOnLoad 在不同场景中的问题
- python - 如果字母和数字正确,我如何打印更多的 dict 网格?
- firebase - FLUTTER:如何在流构建器中使用导航器?
- r - 如何从R字符串中提取某些单词?
- reactjs - 尝试将响应数组映射到状态对象时出现未处理的拒绝错误
- java - Vs Code java The import cannot be resolved
- netlogo - 如何让乌龟移动到最近的具有相同类别的补丁?
- html - 如何在 inline-block-div 中垂直和水平居中内容?
- python - 制作一个函数来改变一个变量
- android - 是否可以在未经授权的设备上使用 adb?