/dmeta

Remove Metadata from Microsoft Office Files

Primary LanguagePythonMIT LicenseMIT



Codecov PyPI version built with Python3 Discord Channel

Overview

DMeta is an open source Python package that removes metadata of Microsoft Office files.

PyPI Counter
Github Stars
Branch main dev
CI

Installation

PyPI

Source code

Usage

In Python

⚠️ Use in_place to apply the changes directly to the original file.

⚠️in_place flag is False by default.

Clear metadata for a .docx file in place

import os
from dmeta.functions import clear

DOCX_FILE_PATH = os.path.join(os.getcwd(), "sample.docx")
clear(DOCX_FILE_PATH, in_place=True)

Clear metadata for all existing microsoft files (.docx|.pptx|.xlsx) in the current directory

from dmeta.functions import clear_all
clear_all()

Update metadata for a .pptx file in place

import os
from dmeta.functions import update

CONFIG_FILE_PATH = os.path.join(os.getcwd(), "config.json") 
DOCX_FILE_PATH = os.path.join(os.getcwd(), "sample.pptx")
update(CONFIG_FILE_PATH, DOCX_FILE_PATH, in_place=True)

Update metadata for all existing microsoft files (.docx|.pptx|.xlsx) in the current directory

import os
from dmeta.functions import update_all

CONFIG_FILE_PATH = os.path.join(os.getcwd(), "config.json") 
update_all(CONFIG_FILE_PATH)

CLI

⚠️ You can use dmeta or python -m dmeta to run this program

⚠️ Use --inplace to apply the changes directly to the original file.

Version

dmeta -v
dmeta --version

Clear metadata for a .docx file in place

dmeta --clear "./test_a.docx" --inplace

Clear metadata for all existing microsoft files (.docx|.pptx|.xlsx) in the current directory

dmeta --clear-all

Update metadata for a .xlsx file in place

dmeta --update "./test_a.xlsx" --config "./config.json" --inplace

Update metadata for all existing microsoft files (.docx|.pptx|.xlsx) files in the current directory

dmeta --update-all --config "./config.json"

Supported files

File format support
Microsoft Word (.docx)
Microsoft PowerPoint (.pptx)
Microsoft Excel (.xlsx)

Issues & bug reports

Just fill an issue and describe it. We'll check it ASAP! or send an email to dmeta@openscilab.com.

  • Please complete the issue template

You can also join our discord server

Discord Channel

Show your support

Star this repo

Give a ⭐️ if this project helped you!

Donate to our project

If you do like our project and we hope that you do, can you please support us? Our project is not and is never going to be working for profit. We need the money just so we can continue doing what we do ;-) .

DMeta Donation