Я хотел бы создать/изменить заголовок pdf-документа с помощью pypdf. Кажется, что титул только для чтения. Есть ли способ получить доступ к этим метаданным r/w?
Если ответ положительный, часть кода будет оценена.
Спасибо
Ответ 1
Вы можете манипулировать заголовком с помощью pyPDF (вроде). Я столкнулся с этим сообщением в списке пользователей reportlab:
Это не позволит вам редактировать метаданные само по себе, но позволит вам прочитать один или больше pdf файлов (файлов) и вертеть их обратно, возможно, с новыми метаданными.
Вот соответствующий код:
from pyPdf import PdfFileWriter, PdfFileReader
from pyPdf.generic import NameObject, createStringObject
OUTPUT = 'output.pdf'
INPUTS = ['test1.pdf', 'test2.pdf', 'test3.pdf']
# There is no interface through pyPDF with which to set this other then getting
# your hands dirty like so:
infoDict = output._info.getObject()
infoDict.update({
NameObject('/Title'): createStringObject(u'title'),
NameObject('/Author'): createStringObject(u'author'),
NameObject('/Subject'): createStringObject(u'subject'),
NameObject('/Creator'): createStringObject(u'a script')
})
inputs = [PdfFileReader(i) for i in INPUTS]
for input in inputs:
for page in range(input.getNumPages()):
output.addPage(input.getPage(page))
outputStream = file(OUTPUT, 'wb')
output.write(outputStream)
outputStream.close()