From e08cf9ec0bdcdbf6efb521a6d59bc3eb04c6cf92 Mon Sep 17 00:00:00 2001 From: Christoph Klaffl Date: Thu, 5 Mar 2026 19:53:37 +0100 Subject: [PATCH] Enable ZIP_DEFLATED compression for office files docx/xlsx/pptx by default use the DEFLATE compression. After removing the metadata dmeta saves the output as a zip file without any compression applied resulting in a bigger file than before (in my case a ~100 kb file increased to ~500kb after using dmeta). So let dmeta also use the DEFLATE compression for saving. --- dmeta/functions.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dmeta/functions.py b/dmeta/functions.py index d690ca9..3636b68 100644 --- a/dmeta/functions.py +++ b/dmeta/functions.py @@ -87,7 +87,7 @@ def is_metadata_cleared(xml_path, is_core=True): modified = microsoft_file_name if not in_place: modified = microsoft_file_name[:microsoft_file_name.rfind('.')] + "_cleared" + "." + microsoft_format - with zipfile.ZipFile(modified, "w") as file: + with zipfile.ZipFile(modified, "w", compression=zipfile.ZIP_DEFLATED) as file: for file_name in source_file.namelist(): file.write(os.path.join(unzipped_dir, file_name), file_name) file.close() @@ -191,7 +191,7 @@ def is_metadata_up_to_date(xml_path, metadata, is_core=True): modified = microsoft_file_name if not in_place: modified = microsoft_file_name[:microsoft_file_name.rfind('.')] + "_updated" + "." + microsoft_format - with zipfile.ZipFile(modified, "w") as file: + with zipfile.ZipFile(modified, "w", compression=zipfile.ZIP_DEFLATED) as file: for file_name in source_file.namelist(): file.write(os.path.join(unzipped_dir, file_name), file_name) file.close()