如何从python中的电子邮件中读取pdf附件

时间:2019-03-16 11:10:31

标签: python-3.x email pdf imap

我正在尝试从电子邮件中提取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滞后。

谢谢。

1 个答案:

答案 0 :(得分:0)

Python没有任何内置包可以读取PDF文件。您需要使用PDF解析库,例如https://pypi.org/project/PyPDF2/

希望这会有所帮助。