使用pdfmin解析pdf元数据日期

2024-04-29 02:31:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试获取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"])

输出

^{pr2}$

如何将这些数据解析为python日期?在


Tags: 文件数据fromimportinfoparserdocpdf
1条回答
网友
1楼 · 发布于 2024-04-29 02:31:03

做了一个小函数来转换它:

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文件本身是如何创建的。在

无论如何,上面的代码应该涵盖这两种情况。在

相关问题 更多 >