Nicheloom

Market intelligence for builders — see what's gaining traction before it's crowded.

Papermill Press

An AI-friendly markup language for PDF generation

Details

External ID
48477708
Source
HN
Company
—
Product
—
Website domain
—
Launched
June 10, 2026
Cohort
—
Upvotes
18
Upvotes percentile
0.73224043715847
Tags
—
Fetched at
Sept. 7, 2026, 9:26 p.m.
Updated at
Sept. 7, 2026, 9:26 p.m.

Description

If you’ve generated PDFs from HTML, you’ll know the pain: headless Chrome in Docker, CSS hacks, content that flows over pages or table boundaries and other quality issues.The fundamental problem is that HTML was designed for screens, not print.We built Press, a markup-based document language where pages, content flows, and assets are first-class concepts. Content can flow across frames, columns, and pages without manual pagination. Pages are created dynamically based on the available content.Press templates separate layout from content. You can send markdown, Press markup, or a mixture of both to the API. Data can be sent in JSON, CSV, XML.Because Press is XML-based it can easily be generated by agents - some of our users are generating complete documents in a single shot, although the language is designed for repeatable automation.You can also use our MCP server, which enables models to design templates.A simple API call sends a markdown payload, which is injected into a <flows><body>…</body></flows> element in Press: curl -X POST https://api.papermill.io/v2/pdf?template_id=papermill-modern-report \ -H "Authorization: Bearer $PAPERMILL_API_KEY" \ -H "Content-Type: text/markdown" \ --data-binary @- \ -o report.pdf <<'EOF' # Q3 Revenue Summary Quarterly performance across our core product lines. | Product | Revenue | Growth | |----------|----------|--------| | Platform | £482,000 | +18% | | Add-ons | £124,000 | +42% | | Services | £67,000 | -3% | Strong quarter overall, driven by add-on adoption. EOF PDF output: https://mill.pm/hnPages and frames in Press can declare dependencies on a content flow like the <body> above. By default, if there’s no content in the flow then the frame or page won’t be generated. You can run flows between frames and pages, and combine multiple flows on a page - for example, a sidebar can run across pages until no content is left, then make room for body content. This makes it possible to implement complex layouts.You can mix markdown and Press: # Visualisation Sometimes it's *useful* to mix both markdown and Press: <visualization>...</visualization> The typesetter adapts to dynamic content (e.g. LLM output). For example, tables and columns can be automatically sized and Papermill will even auto-rotate a table and its page to fit if needed.Templates support components, repeating over data, document logic, and conditional styling. We mostly use an inline-styling approach, and provide the concept of a style “alias”, which is a bag of styling properties you can reuse and compose.Here’s an example template written in Press, our document language. It uses the first page layout until the sidebar flow is exhausted, then switches to the second: <press> <document format="A4" page-margin="2cm"> <repeat flow="sidebar"> <page> <frame direction="row"> <frame padding-left="1cm" padding-right="1cm"><flow name="body" /></frame> <frame width="20%" background-color="#f5f5f5" padding="0.5cm" font-size="9pt"><flow name="sidebar" /></frame> </frame> </page> </repeat> <repeat flow="body"> <page><flow name="body" width="fill" /></page> </repeat> </document> <flows> <body type="markdown"><lipsum paragraphs="10" /></body> <sidebar type="markdown"><lipsum paragraphs="3" /></sidebar> </flows> </press> Papermill is a paid API with a free tier. Press is the document language.Try it for free: https://app.papermill.io/signup (no credit card needed)Docs including MCP setup: https://docs.papermill.ioData-only sandbox: https://app.papermill.io/demo.html (no email needed)We're a small team based in Manchester, UK. Tom (CTO) and I are happy to answer questions about the language design, the rendering engine, or anything else!

Enrichment

Theme
document processing and generation tools
Vertical
Horizontal
Function
Dev tools
Audience
Developer
AI stance
AI feature
Project type
Commercial product
Normalized one-liner
markup language for pdf generation
Manually corrected
False

Could you build this?

No Creating a novel markup language and typesetting engine for print documents requires building a custom layout and pagination engine, font shaping, and low-level PDF stream generation from scratch.

What it would actually take: Requires designing a custom DSL grammar/parser, a multi-pass box-and-glue layout engine (similar to TeX or Typst) to handle page breaks, footnotes, and table layouts deterministically, HarfBuzz bindings for text shaping, and a direct PDF-1.7/2.0 binary writer. This demands deep domain expertise in digital typography and typesetting algorithms.

Discussion

20 comments analyzed.

Competitors mentioned: Claude for document generation, Word and document automation tools, ChatGPT/Claude PDF generation, Wordsmith, Legatics, Legora, Harvey

Concerns raised: Content omission in AI-generated documents without user notice, Mathematical formula formatting solutions lacking, PDF styling is difficult and time-consuming, ROI unclear for law firms already using Word automation, Generated PDFs are visually boring

Feature requests: Export from Word to Papermill templates, Direct integration with ChatGPT or Claude interface, Better mathematical formula rendering support

Competitors

Other products that read as similar to this one — 161 launches clear the similarity bar, closest 8 shown.

Attention rank: #52 of 162 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).

Launched 202 days after the earliest competitor.

Other launches for this product

Same idea, different domain

Nobody's really built a dev tools tool for Sales yet.