2023年1月26日木曜日

Office 365 プロパティ変更

MS Office 製品のデータには、作成者や印刷日時などの情報が含まれます。

その多くは explorer のプロパティから削除することが可能なのですが、前回保存日等は変更できません。ツールを探してみましたが、ないですね。

では、作りましょう。ということで、Pythonで作成しました。

といっても、Word や EXCEL のファイルはただの ZIP ファイルですので、docProps/core.xml を入れ替えるだけです。ファイル操作のみですので、PowerShell でも可能かもしれません。

import os
import shutil
import glob
import zipfile

# output ディレクトリを空にする
shutil.rmtree("./output/data/")
os.mkdir("./output/data/")

# data の下にプロパティを変更したいデータを入れる。
# プロパティ変更済みの./docProps/core.xmlを別途用意。
path = 'data/*'
files = glob.glob(path)

for file in files:
    print(file)
    zin = zipfile.ZipFile (file, 'r')
    zout = zipfile.ZipFile ("./output/"+file, 'a')
    for item in zin.infolist():
        buffer = zin.read(item.filename)
        if (item.filename!= "docProps/core.xml"):
            zout.writestr(item, buffer)
    zout.write('./docProps/core.xml')
    zout.close()
    zin.close()
参考:https://stackoverflow.com/questions/513788/delete-file-from-zipfile-with-the-zipfile-module

0 件のコメント:

コメントを投稿