A PDF You Send, as the Pages Themselves
Open the document on the pages of a PDF you send, each at its own size, and write over them.
Summary
You send a PDF along with the request and name it as the source: its pages become the pages of the document, each at its own size, in the order you choose — all of them, only some, or one page several times. What the request draws is written over them, and every other setting applies to them as to any page: with the text drawn as shapes, a PDF sent this way comes back with nothing left in it to copy.
Technically
Written at the top level of a request, under
"source"
source names the part of the body holding a PDF, and the one-based pages taken from it in the order the document holds them. Each page taken becomes a page of the document at the size of its sheet, page one being the first taken. It is placed whole, as a pdf_page item placing its sheet over the full page would place it, before any item, so the items draw over it. A size page_sizes states for one of those pages is the one written, the page scaled into it. What is not drawing — the file's metadata, bookmarks, links, form fields and structure tree — stays behind. How far one of its streams may unpack is the ceiling supplied_pdfs sets.
Request Schema
-
source— object, optional, absent by default. -
source.pdf— string, required. The name of the part holding the PDF. -
source.pages— array of one-based integers, optional, empty by default. The pages taken, in the order the document holds them; a page named twice is taken twice. Empty or absent, every page is taken, in its order. - Refused with a 400: a name no part was supplied for, and a page past the last page of the supplied PDF.
A Whole Request That Creates a PDF
One name below stands for a font file: put the encoded file in its place, or send the file itself beside the description, as a supplied part of the same call. One page carries a real font already encoded, and its request posts as it stands.
{
"source": { "pdf": "letterhead", "pages": [1] },
"text_as_shapes": true,
"fonts": [{ "name": "body", "data": "PASTE_THE_FONT_FILE_BASE64_HERE" }],
"items": [
{
"type": "text",
"rect": { "llx": 60, "lly": 60, "urx": 535, "ury": 82 },
"content": ["Received on 22 October 2026"],
"font": "body",
"font_size": 14
}
]
}
The sheet, and what is laid under it
The Size of the Pages A Size of Its Own for Certain Pages The Unit a Page Is Measured In Where a Page's Sheet Sits in the Drawing The Areas a Page States The Shapes a Page Lays over What It Draws Which Way up a Page Is Shown How a Page Arrives, and How Long It Stands How Far a Supplied PDF Is Allowed to Unpack The Template under the Pages A Watermark Laid across a Run of Pages Named Regions a Page Marks for Filling
Where to Go Next
Every JSON key of a request, in one page The other forty-one settings of a request