簡體   English   中英

文檔屬性 (PDF) 中的“已創建”和“已修改”字段未顯示

[英]Fields “Created” and “Modified” in Document Properties (PDF) were not displayed

目前我已將許多 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"))

圖片

圖片

你能給我一些建議嗎?

我是 PyMuPDF 的維護者。

在填充最終所需的值之前,確實沒有必要先清除元數據。

更重要的是,必須使用PDF 特定的日期時間格式,以確保所有 PDF 觀眾都能理解它: D:20210207070439-03'00'

此外,PyMuPDF 中有一個 function 為當前時間戳提供正確的值: fitz.getPDFnow()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM