2017-10-16 1 views
0

https://programtalk.com/python-examples/PyPDF2.PdfFileWriter/ (예 2)을 기반으로하여 첨부 파일을 PDF 파일에 추가하려고합니다. 이 코드를 실행하면PyPDF2.PdfFileWriter addAttachment가 작동하지 않습니다.

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) 

, 내가 얻을 : "형식 오류하십시오 바이트와 같은 객체가, 'STR'하지 필요"

는 여기에 실행하려고 내 코드입니다.

I에 의해

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

교체하는 경우 :이 오류가

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

: " '바이트'개체가 어떤 속성 '쓰기'가 없습니다".

그리고 만약

나는 시도 :
with open(doc, 'w') as fp: 
    meta.write(fp) 

내가이 오류 : "쓰기() 인수 str에해야하지 바이트"

이 사람이 나를 도울 수

?

답변

0

addAttachment의 두 번째 인수는 바이트와 같은 객체 여야합니다. 다음과 같이 문자열을 인코딩하면됩니다.

meta.addAttachment("The filename to display", "The data in the file".encode()) 
관련 문제