Photo → Scanned PDF
Turns phone photos of paper documents into clean, scanner-quality A4 PDFs with perspective correction, background whitening, and a mandatory whole-document check.
UtilitiesIntermediate★ 1,323⑂ 212AI score 9/10Last updated: Aug 8, 2026
What it does
- Rectifies perspective on phone photos of contracts, receipts, stamped certificates, forms, and handwritten notes (with EXIF rotation handled).
- Runs
noteshrinkpalette quantization so backgrounds go flat white, ink returns to black, and red stamps stay red — colored paper stock goes through a separate white-balance pre-pass. - Assembles a 200 dpi A4 PDF with edge cropping, then builds a contact sheet so every page is verified for order, duplicates, missing pages, and color contamination.
- Orders pages by content (date, title, page number) rather than filename, because batch-exported photos (WeChat/AirDrop) share near-identical timestamps.
- Secondary pipeline: synthesize a handwriting-style signature onto a digital document that has no signature yet, then apply the same scan look.
Who it's for
- Office and back-office staff digitizing stacks of stamped contracts, tax forms, or claim documents.
- Anyone wanting a free, local replacement for CamScanner-style apps.
- Users who need to re-shoot and swap a single page inside an existing scanned PDF.
- Comfortable with the terminal and able to install
uvandpoppler.
Examples
- 17 contract photos → one PDF: say "make these look scanned" and the skill rectifies each photo, reads dates/titles to rebuild the true order (in a real case the photos were in exact reverse order), whitens all white pages in one global-palette batch, and outputs an A4 PDF.
- A file mixing white and blue paper: colored pages are routed through the white-balance pre-pass so ink doesn't render blue-purple and white pages don't pick up tinted shadows.
- Replacing page 3 of an existing scan: process the new photo through the same steps, overwrite only that page's PNG, reassemble, and use the contact sheet to catch off-by-one slot errors that would clobber a neighboring page.
· · · Install guide · · ·
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the daymade-docs/photo-to-scanned-pdf folder from the GitHub repo daymade/claude-code-skills into my ~/.claude/skills/photo-to-scanned-pdf/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/daymade/claude-code-skills.git && mkdir -p ~/.claude/skills && cp -r claude-code-skills/daymade-docs/photo-to-scanned-pdf ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal (macOS Terminal, or WSL/Linux shell).
- Install prerequisites:
brew install popplerand install uv withcurl -LsSf https://astral.sh/uv/install.sh | sh. - Clone the skill repo:
git clone https://github.com/daymade/claude-code-skills.git - Copy the skill into your Claude Code skills folder:
mkdir -p ~/.claude/skills && cp -r claude-code-skills/daymade-docs/photo-to-scanned-pdf ~/.claude/skills/ - Warm up dependencies once with
uvx noteshrink --help(first run takes ~30 s to build). - Put your photos in a working folder, start Claude Code there, and ask: "turn these photos into a scanned PDF".
- Before sending the file anywhere, open the generated
contact.pngyourself and confirm every page is present and in the right order.
View source on GitHub ↗License: MIT