2017-10-20 133 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()