我正在尝试从电子邮件中提取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)
对不起,我无法在此处发布输出,因为它的确很长,我什至不能复制它,因为它会使我的PC滞后。
谢谢。
答案 0 :(得分:0)
Python没有任何内置包可以读取PDF文件。您需要使用PDF解析库,例如https://pypi.org/project/PyPDF2/。
希望这会有所帮助。