2017-10-20 132 views

回答

3

你可以做,使用pdfrw

pip install pdfrw 

然后运行

from pdfrw import PdfReader, PdfWriter 
trailer = PdfReader("myfile.pdf")  
trailer.Info.WhoAmI = "Tarun Lalwani"  
PdfWriter("edited.pdf", trailer=trailer).write() 

再检查PDF自定义属性

EditedProperties

+0

是的,它的工作。在我的情况下,我需要添加一个不是有效python名称的密钥,但它的工作方式如下:'setattr(reader.Info,'original-files',value)'。谢谢 – guettli

2

我很惊讶地看到有没有当问题被显式化时,PyPDF2的代码示例y要求PyPDF2,所以这里是:

from PyPDF2 import PdfFileReader, PdfFileWriter 

fin = open('source.pdf', 'rb') 
reader = PdfFileReader(fin) 

writer.appendPagesFromReader(reader) 
metadata = reader.getDocumentInfo() 
writer.addMetadata(metadata) 

# Write your custom metadata here: 
writer.addMetadata({ 
    '/Some': 'Example' 
}) 

fout = open('result.pdf', 'wb') 
writer.write(fout) 

fin.close() 
fout.close()