Blog · PDF tips

Best practices for AI-assisted PDF workflows

I do not have a “best practice framework.” I have a sequence I follow when the file is boring and I abandon it when the file is a scan of a thumb. The sequence is short because the failures are repetitive. People skip the highlight test, send pictures to a text model, and then edit the model’s prose as if it were the file. The notes below are the gates, in the order I resent skipping.

Gate 0 — can a cursor select a word?

Open the PDF. Drag. If the word highlights, you have text, and you may extract, chat, summarize, or translate after you have cut the file down. If the cursor draws a rectangle over a picture, you have a scan. OCR is the next gate, not summarize. Summarizing a scan without OCR is a creative writing exercise.

If the page is sideways, rotate before OCR. If the pages are shuffled, organize before you ask a model to “follow the argument.” The model will follow the page order you gave it, including the cover sheet that landed in the middle.

Gate 1 — how much of the file does this question need?

Split to that range. Name the file with the range. A 12-page extract answers better than a 200-page dump and discloses less when the next step is a model. Merge is for the human packet you will send, later, from masters, not from model output. I merge sources that have already passed the highlight test. I do not merge a compressed JPEG rebuild back into the archive.

Next actionLocal or sent to a modelI stop if
Merge, split, rotate, organize, signLocalThe file is encrypted and I am not allowed to unlock it
Compress, lockLocal, but the result is a JPEG stackSomeone still needs to select text in that copy
OCR, chat, summarize, translate, rewriteSentThe text is not allowed to leave the machine
ATS check, CV writer, cover letterSentI am about to paste an ID number or someone else’s private letter

Gate 2 — the model output is a scratch file

I save it under scratch-. I verify three claims against the PDF. I copy the corrected sentences into the document I will actually send, in my words or in the source’s words, not in a paraphrase that flipped “not required” into “replaces where appropriate.” That example is from a rewrite, and it generalizes. Chat does it. Translation does it. Summaries do it with percents.

I do not paste scratch into Slack as the answer. Slack becomes the record. The record should be the sentence I checked. If I am tired enough to skip the check, I am tired enough to wait until morning. The file will still be there. A wrong percent in a director’s inbox will also still be there.

Gate 3 — derivatives get filenames that tell the truth

-master is the page-copy or the original export. -email is compressed. -locked is the password JPEG stack. -ocr is a transcript, not a PDF/A. -draft-translation is not the operative contract. final.pdf is a name I stopped using, because every folder had three of them. The sequence above is useless if the survivor is the worst derivative renamed to final.

When a workflow “feels slow,” it is usually gate 0 and gate 2, which are looking. The buttons are fast. Looking is the practice. I have not found a way to automate the moment where 18% should have been 8%. I have found that the moment happens more often when the input was the whole report and the output was pretty. Small input, ugly scratch file, three checks. Then send.

Shared drives: put masters in a folder the whole team can open, and put locked delivery copies in a folder that says delivery. People will grab whatever sorts to the top. Help them grab the right one without a meeting. A README of four lines beats a policy doc nobody opens. Mine says: highlight test, which file is master, which tools rasterize, which tools transmit. If a new person only reads that, they will still avoid the worst afternoon.

I rerun the sequence when the source changes. I do not “update the summary” by rewriting the old summary. The old summary is about the old pages. A changed table needs a new extract and a new scratch file. Editing last month’s bullets to match a memory of the change is how the 18% returns wearing a new adjective.

An afternoon that skipped gate 0

A colleague dropped a 60-page vendor PDF into chat and asked for the cancellation terms. The file was a scan. The reply was a tidy clause with a 14-day notice. The actual notice, once we OCR’d page 22 and read it, was 30 days and it had to go to a specific postal address, not to the account manager. Fourteen days would have been a breach we drafted ourselves. The tidy clause took 20 seconds. The correction took an hour because the tidy clause had already been pasted into a reply draft and someone had started editing the tone.

We rewound. Rotate was unnecessary. OCR on pages 20–24 only. Human read of the notice sentence. Then a five-line note in our own words with the address copied from the image, not from the OCR, because the suite number had lost a digit. Chat never got a second turn. It had spent its usefulness by being fluent too early.

The other skip I see is compressing the master because the email bounced, then running every later step on the email file. Search is dead, so people OCR the JPEG, which misreads the fee table that was sharp in the master. The master was still in the folder, named correctly, ignored because final sorted first. Rename the compressed file so it cannot sort as the obvious choice. z-email- is a silly prefix and it works.

If you only adopt one gate, adopt the highlight test and write the result in the filename or the note: text or scan. Everything downstream is a consequence of that word. I have watched a careful privacy decision — “don’t send this to a model” — applied to a file that was already a local merge of public specs, and I have watched a casual summarize run on a personnel scan. The buttons do not know which file is which. The note does. Four lines in a README, updated when a tool’s behavior changes, beat a workshop. If lock starts repainting at different JPEG settings someday, the README changes one line. The sequence does not need a new name.

When two people share the folder, the sequence dies if only one of them knows it. I put the four lines at the top of the directory, not in a chat message that scrolls away. The new person will still ask. The file answers at midnight when I am not there. That is the whole policy I am willing to maintain. Anything longer becomes a document we do not update when the compressor’s scale factors change, and then the policy is a lie. Short and current beats complete and stale.