Метаданные изменения файла PDF с pypdf

Я хотел бы создать/изменить заголовок документа PDF с помощью pypdf. Кажется, что заголовок только для чтения. Существует ли способ получить доступ к этим метаданным r/w?

Если бы положительный ответ, часть кода ценилась бы.

Спасибо

10
задан MPelletier 22 June 2012 в 02:18
поделиться

1 ответ

Вы можете управлять заголовком с помощью pyPDF (вроде как). Я наткнулся на этот пост в списке пользователей reportlab:

http://two.pairlist.net/pipermail/reportlab-users/2009-November/009033.html

Вы также можете использовать pypdf. http://pybrary.net/pyPdf/

Это не позволит вам редактировать метаданные. как таковой, но позволит вам прочитать один или больше файлов в формате 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()
9
ответ дан 4 December 2019 в 01:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: