使用 pypdf2 和电子邮件合并多个 PDf
Posted
技术标签:
【中文标题】使用 pypdf2 和电子邮件合并多个 PDf【英文标题】:Merge multiple PDfs using pypdf2 and Email 【发布时间】:2020-12-29 11:05:37 【问题描述】:我正在使用 PyPDF2 合并多个 pdf 文件,然后使用 python shutil 方法将输出复制到最终目的地,并使用 smtplib 将副本(作为附件)通过电子邮件发送给用户。
最终目的地中的合并文件显示正确,但通过电子邮件发送的副本(附件)不正确。只有数组中的第一项出现,但其余页面为空白,总页数正确。
这是我的工作流程
合并文件并保存合并到本地文件夹 --- 按预期工作 将合并的文件复制到最终目的地 --- 按预期工作 - 将合并文件的副本通过电子邮件发送到用户电子邮件地址 -- 数组中的第一个文件,之后为空页。总页数与总页数相匹配。我正在使用以下代码来合并文件
pdf_list=['pdf_source.pdf','second_file.pdf','third_file.pdf']
for pdf in pdf_list:
merger.append(PdfFileReader(pdf),'rb')
with open(merge_file_name, 'wb') as new_file:
merger.write(new_file)
请推荐
【问题讨论】:
所以当文件保存在您的系统上时,所有页面数据都在那里,但是如果您以编程方式通过电子邮件发送文件,内容是否会被截断?如果您手动通过电子邮件发送文件,会发生什么情况?附件是否太大而被切断? 合并后的文件大小不是很大。所以,我可以手动发送电子邮件 【参考方案1】:经过研究,我发现问题不是 pypdf2,而是文件附加到电子邮件的方式。
以下 *** 解决方案修复了该问题。
How to attach a pdf file to a MIME email in Python?
【讨论】:
以上是关于使用 pypdf2 和电子邮件合并多个 PDf的主要内容,如果未能解决你的问题,请参考以下文章