Skip to content

Commit

Permalink
Merge pull request #771 from sbrunner/intermediate
Browse files Browse the repository at this point in the history
Use temporary files to do the finalize
  • Loading branch information
sbrunner authored Aug 15, 2022
2 parents 53905cc + ab01c44 commit 094f93a
Showing 1 changed file with 31 additions and 28 deletions.
59 changes: 31 additions & 28 deletions scan_to_paperless/process.py
Original file line number Diff line number Diff line change
Expand Up @@ -1278,37 +1278,40 @@ def finalize(
]
)

one_pdf = os.path.join(root_folder, "intermediate.pdf")
call(["pdftk"] + pdf + ["output", one_pdf, "compress"])
if progress:
call(["cp", one_pdf, os.path.join(root_folder, "2-pdftk.pdf")])

if config["args"].setdefault("run_exiftool", False):
call(["exiftool", "-overwrite_original_in_place", one_pdf])
count = 1
with tempfile.NamedTemporaryFile(suffix=".png") as temporary_pdf:
call(["pdftk"] + pdf + ["output", temporary_pdf.name, "compress"])
if progress:
call(["cp", one_pdf, os.path.join(root_folder, "3-exiftool.pdf")])
call(["cp", temporary_pdf.name, os.path.join(root_folder, f"{count}-pdftk.pdf")])
count += 1

if config["args"].setdefault("run_ps2pdf", False):
intermediate_file = os.path.join(root_folder, "intermediate-ps2pdf.pdf")
call(["ps2pdf", one_pdf, intermediate_file])
if config["args"].setdefault("run_exiftool", False):
call(["exiftool", "-overwrite_original_in_place", temporary_pdf.name])
if progress:
call(["cp", temporary_pdf.name, os.path.join(root_folder, f"{count}-exiftool.pdf")])
count += 1

if config["args"].setdefault("run_ps2pdf", False):
with tempfile.NamedTemporaryFile(suffix=".png") as temporary_ps2pdf:
call(["ps2pdf", temporary_pdf.name, temporary_ps2pdf.name])
if progress:
call(["cp", temporary_ps2pdf.name, f"{count}-ps2pdf.pdf"])
count += 1
call(["cp", temporary_ps2pdf.name, temporary_pdf.name])

with pikepdf.open(temporary_pdf.name, allow_overwriting_input=True) as pdf_:
scan_to_paperless_meta = f"Scan to Paperless {os.environ.get('VERSION', 'undefined')}"
with pdf_.open_metadata() as meta:
meta["{http://purl.org/dc/elements/1.1/}creator"] = (
f"{scan_to_paperless_meta}, {tesseract_producer}"
if tesseract_producer
else scan_to_paperless_meta
)
pdf_.save(temporary_pdf.name)
if progress:
call(["cp", intermediate_file, os.path.join(root_folder, "4-ps2pdf.pdf")])

one_pdf = intermediate_file

call(["cp", one_pdf, destination])

with pikepdf.open(destination, allow_overwriting_input=True) as pdf_:
scan_to_paperless_meta = f"Scan to Paperless {os.environ.get('VERSION', 'undefined')}"
with pdf_.open_metadata() as meta:
meta["{http://purl.org/dc/elements/1.1/}creator"] = (
f"{scan_to_paperless_meta}, {tesseract_producer}"
if tesseract_producer
else scan_to_paperless_meta
)
pdf_.save(destination)
if progress:
call(["cp", destination, os.path.join(root_folder, "5-pikepdf.pdf")])
call(["cp", temporary_pdf.name, os.path.join(root_folder, f"{count}-pikepdf.pdf")])
count += 1
call(["cp", temporary_pdf.name, destination])


def process_code() -> None:
Expand Down

0 comments on commit 094f93a

Please sign in to comment.