Trevor PaughSystems engineer
Trevor PaughProject Chronicles

Chronicles / Eboda Gymnast

Batch, over a folder

Milestone

The last item on the roadmap is merged: Batch runs Compress, Protect, Export, Header and Footer, Watermark, or Recognize text over every PDF in a folder, writing results to a separate output folder and never into the source. Bates numbers continue across files. Four review rounds each found a way the output could leak back into the source folder, from a junction to a long-path prefix to one folder reached by two names, and every one was fixed. Built under the owner's standing authorization to keep improving without their input.

The end of a Compress batch: signed, locked, and non-PDF files skipped with their reasons, the rest done with sizes before and after, a file from a subfolder last.
The end of a Compress batch: signed, locked, and non-PDF files skipped with their reasons, the rest done with sizes before and after, a file from a subfolder last.

With the Acrobat list delivered, one roadmap item remained, and the owner’s standing authorization covered it: anything else that can be improved or completed, for as long as the manager can work without input.

What it does

Batch runs one action over every PDF in a folder, without opening a document. The actions are the ones already built one file at a time: Compress, Protect, Export, Header and Footer with Bates numbers that carry on from one file to the next, Watermark, and Recognize text. Results go to a separate output folder under the same names, and subfolders are kept. Files that cannot be processed are skipped with a reason: a signed document that compressing would break, a password-protected file, a file that is not a PDF at all. The one promise above all others is that nothing is ever written into the source folder.

Four ways to break the promise

Each review round found one. A junction placed inside the output folder could lead results back into the source. Two saves at once could pick the same temporary file name. A long-path prefix slipped past the folder checks. And the same folder, named once by drive letter and once by network share, looked like two folders. All four were fixed rather than written down as limits, the same line that held through redaction, and the reviewer’s checks stayed in the branch.

With this merge the roadmap written at the project’s start is complete.