Поля «Создано» и «Изменено» в свойствах документа (PDF) не отображались.
В настоящее время я объединил несколько PDF-файлов вместе, чтобы создать один PDF-файл. Я добавил информацию о метаданных, которая включает два поля «Создано» и «Изменено», но в результате эти поля по-прежнему не отображают информацию. Вот мой исходный код:
import re
import os
import fitz
from datetime import datetime
def importMetaData(path):
regex = r"^r20ut(\d+)ej(\d+)$"
r_UM = re.compile(regex)
extension = [".pdf"]
now = datetime.now() # current date and time
date_time = now.strftime("%m/%d/%Y %H:%M:%S %p")
print("date and time:",date_time)
Number = ""
for root, dirs, files in os.walk(path):
for file in files:
ext = os.path.splitext(file)[-1].lower()
f_name = os.path.splitext(file)[0]
if ext in extension:
if r_UM.search(f_name) is not None:
if root.endswith("thuan1"):
Number = dictRNumber["code1"]
elif root.endswith("thuan2"):
Number = dictRNumber["code2"]
else:
continue
inforPDF=fitz.open(os.path.join(root, file))
inforPDF.set_metadata({})
inforPDF.set_metadata(
{
"producer": "Microsoft® Word for Office 365",
"author": "Thuan",
"modDate": date_time,
"title": "Data Analysis",
"creationDate": date_time,
"creator": "Microsoft® Word for Office 365",
"subject": Number
})
inforPDF.save(os.path.join(root, f_name+".pdf"))
Образ
Не могли бы вы дать мне совет?
1 ответ
Решение
Я сопровождаю PyMuPDF.
На самом деле нет необходимости сначала очищать метаданные до того, как они будут заполнены желаемыми значениями.
Что еще более важно, существует специальный формат даты и времени для PDF, который необходимо использовать, чтобы все средства просмотра PDF его понимали:
D:20210207070439-03'00'
Кроме того, в PyMuPDF есть функция, которая предоставляет правильное значение для текущей отметки времени:
fitz.getPDFnow()