The folder was named scan-final-FINAL. Inside it: 40 camera photos, three of them blurry, one of a thumb, and a PDF someone had already built by dropping the photos in alphabetical order. Alphabetical order was not page order because the camera had restarted its counter. Page “IMG_1024” was the last page of the letter. I threw the PDF away and kept the photos. That is the whole method. Do not polish a random sequence.
Capture, before any tool
I reshot the blurry three on a table, phone parallel to the page, shadow off the center, edges in frame. Ten extra minutes. No tool replaces a thumb in the lens. I named the keepers 01 through 37 after I looked at them, not before. The thumb shot did not get a number.
JPG from the camera, not a screenshot of the camera roll. Screenshots of screenshots are how you get moiré and a second compression. If the only copy is a WhatsApp image, it is already harmed. I still number it and I do not pretend a later PDF step will recover detail WhatsApp discarded.
| Defect | Fix at capture | Fix in PDFSwift | Leave it |
|---|---|---|---|
| Thumb, motion blur, missed corner | Reshoot | You cannot | Only if the page does not matter |
| Sideways but sharp | Optional | Rotate after the PDF exists | No |
| Order wrong | Rename with numbers | Organize if you already built the PDF | No |
| File huge | Don’t shoot 12 megapixels you will only read on a phone | Compress a copy after the page order is right | The master, yes |
| Need the words as text | Shoot straight | OCR after upright | If you only need to read it yourself |
Build the PDF in the order you named
JPG to PDF embeds JPEGs with pdf-lib when the file is actually a JPEG, and it rasterizes other types through a canvas to PNG before embedding. One image, one page. The list order is the page order. I add them after the rename, so I am not dragging thirty rows by hand. EXIF rotation is unreliable across browsers. If a photo lands sideways, I rotate the PDF page, or I rotate the image and rebuild. I do not argue with EXIF.
The first PDF was 37 pages and 48 MB. Readable, sharp enough, ridiculous as an email. I duplicated it to letters-master.pdf and compressed a copy for the sender who had a 10 MB limit. The compressed copy is pictures of pictures. The master is the camera JPEGs inside a PDF, which is as close to the capture as this pipeline gets. I did not delete the numbered JPGs until the master opened and page 37 was the signature, not the thumb.
The page I refused to “enhance”
Page 19 was a pale carbon copy. Someone suggested a contrast filter. The filter would have punched the background and also punched a smudge into something that looked like a digit. The amount on that page was disputed. I left the pixels alone and typed, in the email, the figure as I read it, with the sentence “confirm against page 19.” A prettier scan that changes a 6 into an 8 is not a polished scan. It is a new document you invented.
OCR on that page, run later out of curiosity, returned the wrong digit with confidence in its tone. I kept the OCR text for the clear pages and I marked page 19 as “human read only” in the note beside the file. The OCR write-up has the longer version of that failure mode. Here the point is smaller: polish is not the same word as contrast.
What “done” looked like
Master PDF, email PDF, numbered images still in a folder, a two-line note: “37 pages, page 19 do not OCR, compressed copy is for Maria only.” Maria replied that she could read it. That is the acceptance test. Not a histogram. A person.
If you must print the packet, print the master, not the email copy. The email copy has already been through JPEG again. Paper makes soft text worse. I learned this by printing the small file and blaming the printer.
Duplex originals photographed as single images will not become duplex in the PDF. Each photo is a page. If the back of a page matters, it needs its own photo and its own number in the sequence, or you have a record of fronts only. I have shipped fronts only and discovered the endorsement was on the back. The reshoot was the next morning, with worse light. Number the backs when you shoot, not when someone asks.
Color versus gray: the camera shot color. I did not convert to grayscale to “look archival.” Gray conversion is another place to crush a stamp that was in red. Keep color until a records policy says otherwise. A policy that says “PDF/A, 300 DPI, grayscale” is a scanner setting, not a phone pipeline. Do not claim PDF/A because you produced a PDF. This path does not write that standard. Say “phone photos in a PDF” if that is what it is. People can work with an honest file. They cannot work with a file that pretends to be a records scan and then fails a validator.
The counter that restarted at lunch
IMG_0998 through IMG_1020 were the morning. After the battery died, the camera started at IMG_0001. Alphabetical order put the afternoon first. I noticed because the signature was on page 2 of the bad PDF and the letterhead was near the end. The content told me the sort was wrong before I looked at the filenames. If you cannot tell from content, you do not know the document well enough to number it. Sit with the paper, or the photos full screen, and number from the story. The camera’s counter is not a story.
Shadows in the gutter of a book scan darken the inner margin and OCR will eat the last letters on each line. I reshoot those pages with the book flatter, or I accept that those letters are manual. Building the PDF does not lift a gutter shadow. I mention it here because “polished” is where people add a filter that lifts the shadow and also lifts the ink until the letters break. The reshoot is uglier to do and cleaner to read. I have the before-and-after from a cookbook, of all things, where a filter turned “tsp” into “top” often enough that I stopped trusting the batch. The unfiltered reshoot kept “tsp.” I kept the reshoot.
When the packet is done I print one page at actual size, the densest page, and I look at it on paper. The screen forgives gray text that a laser printer turns into a blob. If that page fails, I reshoot that page only and rebuild. I do not apply a filter to the whole PDF to compensate for one soft page. The other pages were fine, and a global filter would have made them worse in the same way the cookbook filter did. One page is allowed to be the problem.
I leave the numbered JPGs in place until that paper check passes. Rebuilding page 14 from a JPG still named 14.jpg takes a minute. Rebuilding it from a PDF that already crushed the page takes a reshoot, and the light will be different. The JPGs are the real master. The PDF is a container I can remake.