News for hackers. Stuff that matters.

gounisalex

Show HN: PDFx – a 2D canvas for multiple PDFs, stored inside a single PDF

https://github.com/alexandrosgounis/pdfx/

I was asked to provide 17 PDF files for my mortgage application. I got tired of opening and closing files, and started looking for ways to process multiple PDFs at once.I came across Adobe's portfolio spec, but that only renders correctly in Acrobat, every other PDF viewer only displays the cover page of each document. So I asked something simpler: what if I could scroll horizontally to see the...

( Read More... | 1 comment | on HN )
Re:An extension of the traditional PDF standard on Saturday June 27, 2026 @11:58AM (#48699344)
I'm the author of this project, someone else posted it on my behalf, let me explain my story:

My bank requested 17 PDF documents for a mortgage application.

I got tired of opening and closing files and keeping track of things. So I decided to merge all files into a single, long PDF and send it to my bank, but that caused even more confusion.

To solve this issue, I came up with an idea: what if I could extend the standard PDF structure by embedding custom JSON metadata to indicate where files start and where they end?

I called it `.pdfx`, but it's simply a backwards-compatible PDF file, that when opened with traditional PDF viewers (Chrome, Acrobat), it renders as a regular, continuous document. But when opened in the PDFx runtime, a react-based viewer I built, the app parses the metadata coordinates and reconstructs a 2D free floating canvas, where the pages of a file extend horizontally, while files themselves grow vertically.

This view allows for a greater spatial understanding, batch processing, and a pleasant drag-n-drop user experience. Plus, additional support for SVGs, PNGs and technical drawings that are converted into PDFs when dropped onto the app.

Your feedback would be highly appreciated.

Show HN: Turn any file into a CLI (reduce tokens vs. MCP)

I built a tool called clifast.It reads your TypeScript/JavaScript exported functions and generates a complete npm/npx CLI package in one command:npx clifast your-file.tsIt parses types, JSDoc comments and function signatures to generate a --help command which can be used by LLMs to navigate the available input arguments and use your files or repositories effectively with less input...

( Read More... | no comments | on HN )