PyPDF2.PdfFileWriter addAttachment无效

时间:2017-10-16 14:55:32

标签: python pypdf2

基于https://programtalk.com/python-examples/PyPDF2.PdfFileWriter/,示例2,我尝试将附件添加到PDF文件中。

这是我试图运行的代码:

import os
import PyPDF2
from django.conf import settings

...

doc = os.path.join(settings.BASE_DIR, "../media/SC/myPDF.pdf")

unmeta = PyPDF2.PdfFileReader(doc, "rb")

meta = PyPDF2.PdfFileWriter()
meta.appendPagesFromReader(unmeta)

meta.addAttachment("The filename to display", "The data in the file")

with open(doc, 'wb') as fp:
    meta.write(fp)

当我运行此代码时,我得到:“TypeError:需要类似字节的对象,而不是'str'”。

如果我更换

with open(doc, 'wb') as fp:
    meta.write(fp)

由:

with open(doc, 'wb') as fp:
    meta.write(b'fp')

我收到此错误:“'bytes'对象没有属性'write'”。

如果我尝试:

with open(doc, 'w') as fp:
    meta.write(fp)

我得到这个错误:“write()参数必须是str,而不是字节”

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

addAttachment中的第二个参数必须是类似字节的对象。你可以通过编码字符串来做到这一点:

timestamp