разобрать дату метаданных pdf используя pdfminer - PullRequest
0 голосов
/ 13 марта 2019

Я пытаюсь получить метаданные для файла pdf

from pdfminer3.pdfparser import PDFParser
from pdfminer3.pdfdocument import PDFDocument
fp = open('C:/Users/asus/Desktop/storage/jdghosh_sap@rediffmail.com.pdf', 'rb')
parser = PDFParser(fp)
doc = PDFDocument(parser)
print(doc.info[0]["CreationDate"])
print(doc.info[0]["ModDate"])

ВЫХОД

b"D:20140706114446+05'30'"
b"D:20140706114446+05'30'"

Как я могу преобразовать эти данные в дату Python?

1 Ответ

0 голосов
/ 13 марта 2019

Сделана небольшая функция, которая преобразует его:

from pdfminer3.pdfparser import PDFParser
from pdfminer3.pdfdocument import PDFDocument

def convertPdfDatetime(pd):
    from datetime import datetime
    dtformat = "%Y%m%d%H%M%S"
    clean = pd.decode("utf-8").replace("D:","").split('+')[0]
    return datetime.strptime(clean,dtformat)

fp = open('/home/prtjohanson/test.pdf', 'rb')
parser = PDFParser(fp)
doc = PDFDocument(parser)
pdf_creation_date = doc.info[0]["CreationDate"]
print(pdf_creation_date)
print(convertPdfDatetime(pdf_creation_date))

По какой-то причине на моем Linux-компьютере у меня нет суффикса, начинающегося с + в конце строки datetime, я подозреваю, что это как-то связано с часовым поясом, или это может зависеть от того, как сам файл pdf был создано.

В любом случае приведенный выше код должен охватывать оба случая.

...