PDFops

PDFops

@pdfops.dev

Hosted PDF API for AI agents, n8n and Python. Fill AcroForm fields, merge PDFs, inspect forms, generate invoices. Deterministic output, no headless browser. MCP server + SDKs, free key at pdfops.dev

87 followers324 following912 posts

New on the blog: A fixed-row invoice template, and the line item that doesn't fit. An AcroForm invoice template has a fixed number of line-item rows. When an order has more items than that, the fix isn't a bigger template, it's a continuation page filled and merged in. →

pdfops.devA fixed-row invoice template, and the line item that doesn't fit — PDFopsAn AcroForm invoice template has a fixed number of line-item rows. When an order has more items than that, the fix isn't a bigger template,

New on the blog: The 4.5 MB request limit that breaks a working PDF merge on Vercel. A PDF merge endpoint that works on a laptop can start returning an empty 413 the moment it moves to Vercel. The platform-level request-body cap that causes it, why local testing never catches it, →

pdfops.devThe 4.5 MB request limit that breaks a working PDF merge on Vercel — PDFopsA PDF merge endpoint that works on a laptop can start returning an empty 413 the moment it moves to Vercel. The platform-level request-body

New on the blog: Flattening a filled PDF form with pypdf, and the method that doesn't exist. pypdf fills AcroForm fields but ships no public flatten() method, and its only private _flatten() does something else entirely: collapse page-tree inheritance, not bake form values into t →

pdfops.devFlattening a filled PDF form with pypdf, and the method that doesn't exist — PDFopspypdf fills AcroForm fields but ships no public flatten() method, and its only private _flatten() does something else entirely: collapse pag

New on the blog: Merging a Letter invoice with an A4 attachment in pypdf, and the page size nobody normalizes. pypdf's append() copies each input page's own /MediaBox into the merged output as-is, so a Letter invoice merged with an A4 attachment comes out with two page sizes. Why →

pdfops.devMerging a Letter invoice with an A4 attachment in pypdf, and the page size nobody normalizes — PDFopspypdf's append() copies each input page's own /MediaBox into the merged output as-is, so a Letter invoice merged with an A4 attachment comes