What's not supported
Each item below says what to use instead. CSS that is ignored or fails is listed on Supported CSS.
Filling in an uploaded PDF’s form fields
Section titled “Filling in an uploaded PDF’s form fields”A template can add the pages of a PDF file you upload, or draw onto them, but it cannot type into the file’s own fillable fields.
Instead: draw your template onto the form page by page, placing each value where its box is; see fill in a supplier’s form.
Uploaded PDF files in PDF/A or PDF/UA documents
Section titled “Uploaded PDF files in PDF/A or PDF/UA documents”A PDF/A or PDF/UA document cannot add an uploaded PDF file, because nothing checks that the file meets the standard.
Instead: rebuild that part as a template and combine templates, or turn the standard off for that template.
JavaScript in the document
Section titled “JavaScript in the document”The renderer does not run JavaScript in the HTML. <script> elements and event handlers do
nothing, so a chart or table drawn by a JavaScript library does not appear.
Instead: produce the final markup before rendering. Reshape data in a beforeRender script
and format values with helpers; see Handlebars templates. Draw charts
as PNG or SVG images in your application and send or upload them as
images. For Excel output, use Excel charts.
afterRender scripts
Section titled “afterRender scripts”Only beforeRender runs. A script that defines afterRender is refused with
400 UNSUPPORTED_FEATURE.
Instead: move the work into beforeRender, or process the downloaded file in your
application.
Network access from templates
Section titled “Network access from templates”Helpers and scripts cannot reach the network or a file system, so a template cannot fetch data
from an API. Fonts, images and stylesheets at http:// or https:// URLs are not loaded.
Instead: send all data in the render request. Upload fonts, images and stylesheets to the
workspace (see templates), or send images in your data as data: URLs.
Your own JavaScript or JSX components
Section titled “Your own JavaScript or JSX components”The API does not run JavaScript or JSX that you upload to build a document.
Instead: build the layout in your own code and send it to the Renders API as HTML or as a node document, or describe it as a component template.
Partials, translations and scripts in string renders
Section titled “Partials, translations and scripts in string renders”A string render with the handlebars engine runs the helpers you
send, but has no partials, translation files or scripts.
Instead: put the text in a Handlebars template, which has all three.
Calling the API from a browser on another site
Section titled “Calling the API from a browser on another site”The API sends no CORS headers, so browser code on another origin cannot call it.
Instead: call the API from your server. To hand a finished
Renders API PDF to a browser, pass it the render’s short-lived
downloadUrl.