From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 2 Aug 2025 13:45:46 +0000 (-0400) Subject: Save edited PDF to temp file before replacing original X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F10318%2Fhead;p=thirdparty%2Fpaperless-ngx.git Save edited PDF to temp file before replacing original --- diff --git a/src/documents/bulk_edit.py b/src/documents/bulk_edit.py index 8ef807da8..13c95ce6c 100644 --- a/src/documents/bulk_edit.py +++ b/src/documents/bulk_edit.py @@ -542,9 +542,13 @@ def edit_pdf( dst.pages[-1].rotate(op["rotate"], relative=True) if update_document: + temp_path = doc.source_path.with_suffix(".tmp.pdf") pdf = pdf_docs[0] pdf.remove_unreferenced_resources() - pdf.save(doc.source_path) + # save the edited PDF to a temporary file in case of errors + pdf.save(temp_path) + # replace the original document with the edited one + temp_path.replace(doc.source_path) doc.checksum = hashlib.md5(doc.source_path.read_bytes()).hexdigest() doc.page_count = len(pdf.pages) doc.save()