Merge, split, rotate, compress, paginate, convert to PDF/A, extract text, and edit metadata — all hitting files already on the server. No re-uploads, no native dependencies.
merge / split / rotate / compress / page-numbers / to-pdfa / extract-text / metadata. Same Bearer token, same response shape.
Pass a filename to act on a previously generated PDF. Use merge-upload (multipart) when you need to bring local files in.
Tool outputs get download URLs, expiration, and download-limit settings — same operational policy as generated PDFs.
| Use the PDF tools API | Roll your own | |
|---|---|---|
| Implementation cost | POST and you're done | Integrate PDFLib / qpdf / Ghostscript |
| Dependencies | None beyond an API key | Native libraries to install and patch |
| PDF/A conversion | Pass conformance: 1b/2b/3b | Manage Ghostscript profiles yourself |
| Best fit | Web/SaaS apps doing PDF post-processing | Offline-only desktop tooling |
// Merge several already-generated PDFs into one
await fetch("/api/pdf/merge", {
method: "POST",
headers: { "Authorization": `Bearer ${API_KEY}` },
body: JSON.stringify({ filenames: ["invoice.pdf", "receipt.pdf"] }),
});
// Or upload + merge files in one request
// POST /api/pdf/merge-upload (multipart/form-data)
// Other endpoints follow the same shape:
// /api/pdf/split — split by page ranges
// /api/pdf/rotate — rotate pages
// /api/pdf/compress — shrink file size
// /api/pdf/page-numbers — stamp page numbers
// /api/pdf/to-pdfa — convert to PDF/A for archiving