Text Nobody Can Copy
Draw every letter of the pages as a shape, so that nothing on them can be selected, searched or copied.
Summary
A PDF keeps its text as text: anyone reading it can select a sentence, copy it and paste it elsewhere. With this setting each letter is drawn as the outline of its shape instead. The page looks the same, printed or on screen, but no text is left on it to select, search, copy or have read aloud. The pages of a PDF you send along go the same way, placed on yours, standing behind them or taken as the pages themselves: a PDF sent as the source of a request comes back with nothing left in it to copy.
Technically
Written at the top level of a request, under
"text_as_shapes"
text_as_shapes set to true traces every glyph of every page from the outline its font holds into path operators. The pages placed from a supplied PDF are traced as well, their glyphs taken from the fonts that PDF carries. The file then holds paths alone: text, fonts and the structure tree are left out, and its pages are left unmarked. The engine refuses what would keep text in the file or rests on it: a form field; a link or a bookmark leading to an element of the structure tree; accessible or an archival level A; text set in a face with no outline to trace (one of the fourteen standard faces, a Type 3 or a Type 1 font); a supplied page whose text is written downwards, or set in a font whose glyphs cannot be traced (a Type 1 program, or a font the PDF does not carry other than the fourteen standard faces, Arial, Times New Roman and Courier New).
Request Schema
-
text_as_shapes— boolean, optional,falseby default. Set totrue, every letter is drawn as a shape; set tofalse, or with the key absent, text is written as text. -
Pages placed from a supplied PDF, as
pdf_pageitems, astemplatesor as thesource, have their letters traced from the fonts that PDF carries. -
Refused beside it: form fields,
accessible, an archival level A, links and bookmarks leading into the structure tree, text in a face with no outline, and any page of a supplied PDF whose text is written downwards or set in a font whose glyphs cannot be traced. The engine is the one that refuses, naming what the file cannot hold.
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.
{
"text_as_shapes": true,
"fonts": [{ "name": "body", "data": "PASTE_THE_FONT_FILE_BASE64_HERE" }],
"items": [
{
"type": "text",
"rect": { "llx": 60, "lly": 740, "urx": 535, "ury": 762 },
"content": ["Offer 2026-031, for your eyes only"],
"font": "body",
"font_size": 14
}
]
}
The document as a whole
The Numbers Reading Software Shows A Hundred Letters in a Single File What the Document Says about Itself What the Document Says about Itself, Said Once The Notes a Program Leaves in the File for Itself The Notes a Program Leaves on One Page The Data a Program Hangs on a Run of Ink A File Still Readable Decades from Now The Print Standard the Document Claims The Variable Print Standard the Document Claims The Password That Opens It, and What May Be Done with It An Invoice a Person and a Machine Both Read The Address Relative Links Are Read Against The PDF Version the File Declares The Extensions to PDF the File Says It Uses What a Picture Says about Itself, and How It Is Read The Attachments the Document Carries Beside Its Pages Files the Document Names without Carrying The Attachments Shown as a Portfolio Which Attachments a Page Claims Which Attachments a Font Claims The Identity Card a Single Font Carries Which Attachments the Document's Card Claims A Document Card Written Elsewhere The Areas of a Page a Reader Measures In The Identity Card a Single Page Carries The Accessibility Standard the Document Claims The Standards the Finished Document Is Measured Against
Where to Go Next
Every JSON key of a request, in one page The other forty-one settings of a request