Show HN: Nano PDF – A CLI Tool to Edit PDFs with Gemini's Nano Banana

github.com

100 points by GavCo 6 hours ago

The new Gemini 3 Pro Image model (aka Nano Banana) is incredible at generating slides, so I thought it would be fun to build a CLI tool that lets you edit PDF presentations using plain English. The tool converts the page you want to edit into an image, sends it to the model API together with your prompt to generate an edited image, then converts the updated image back and stitches into the original document.

Examples:

- `nano-pdf edit deck.pdf 5 "Update the revenue chart to show Q3 at $2.5M"`

- `nano-pdf add deck.pdf 15 "Create an executive summary slide with 5 bullet points"`

Features:

- Edit multiple pages in parallel

- Add entirely new slides that match your deck's style

- Google Search enabled by default so the model can look up current data

- Preserves text layer for copy/paste and search

It can work with any kind of PDF but I expect it would be most useful for a quick edit to a deck or something similar.

GitHub: https://github.com/gavrielc/Nano-PDF

tecoholic 5 hours ago

> Converts an image to a single-page PDF with a hidden text layer using Tesseract. This is the 'State Preservation' step.

Does this mean the text only pdf page is transformed into an image that covers the full page, but the text is still under there. So, any machine based extraction would still get the text, but would probably loose all the bounding box information and regular users cannot just use their mouse to select text anymore?

  • kumarm 3 hours ago

    Seems true and really wish the project included some sample PDF output.

    My Text to Speech app uses bounding box to display what text in PDF is being read and would not work well PDF's from this project.

lxe 6 hours ago

This is nuts and I absolutely love this. So you convert the PDF into image, edit the image, then convert the image back into a PDF.

  • thenthenthen an hour ago

    This is the usual workflow dealing with pdfs (unfortunately)

shevis 5 hours ago

A side effect of replacing entire pages with images is that the file size will expand dramatically. Most PDFs only contain a couple of images

perfectritone 37 minutes ago

It's incredible how many hacks there are to make PDFs semi-usable.

treetalker 6 hours ago

I'd love to see clearer examples: a video, or original pdf / command / result pdf. Very cool!

McNulty2 2 hours ago

I like the example of updating latest market data. Updating a deck one-off is tedious. Keeping it updated long-term was never going to happen. But now it can

toddmorey 2 hours ago

I thought it was kinda funny that Google Slide’s own built in “beautify this slide” button converts the whole slide into an uneditable image.

sultson 6 hours ago

How cool! It's frustrating how tedious many PDF workflows still are. I've been building something similar in this space[0], but web-based where you visually specify the area to edit. The biggest issue for now is the cost per edit as the Pro version amounts to roughly $0.15/image. However, with some finessing, the original Nano Banana seems to do a great job as well. Have you explored UI-based approaches yourself by any chance?

[0]https://docusera.com/

informal007 an hour ago

it will be more excited if i can use this feature in application with GUI, it’s now convenient to check the result after edit the PDF, i need to transfer between CLI and PDF reader

mlpoknbji 3 hours ago

Somewhat unrelated but can anyone recommend a way to edit the text of a PDF using LLM? Something like AI + acrobat pro?

itsmevictor 6 hours ago

Very nice! I wonder whether that could be used to get LLMs to annotate pdfs. Say an "agentic" CLI like Claude Code or Gemini-cli reviews a pdf and finds typos, could it use this to annotate the pdf like underlining them in red or something of that sort? That could be nice.

mentalgear 6 hours ago

Nice - but consider adding an animated screengrap like: https://github.com/pythops/oryx

  • yoavm 4 hours ago

    Please don't add an animated gif to your README. Nothing worse than an autoplaying video with no controls, that has 10 frames but takes 5.4MB to download. Github supports normal video files. It allows the user to rewind or pause, and it results in a much smaller file size.

    • varenc 3 hours ago

      Generally agreed! though fun point of info: you can use the .avif format to get something that behaves just like a gif (auto-playing, no sound, no controls) but supports modern features (HDR/transparency channel) and is compressed as well as a modern video is, since its just AV1. And it's supported in most all modern browsers these days: https://caniuse.com/?search=avif

John7878781 5 hours ago

Love this.

After several iterations of edits, would the image quality decrease?

ThrowawayTestr 5 hours ago

I recently tried to change a single word in a PDF and nearly tore my hair out (thank you LibreOffice) I'll definitely keep this in mind for next time, thank you.

  • tkfoss 5 hours ago

    Try photopea next time