Поля «Создано» и «Изменено» в свойствах документа (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()

.
Другие вопросы по тегам