Skip to main content

Options Reference

Complete reference for all configuration options across PDFGen Studio API endpoints.

Common Options

These options are available across multiple endpoints:

OptionTypeDefaultDescription
formatstringpdfOutput format: pdf, png, jpg
responsestringbinaryResponse type: binary, base64
qualitynumbervariesImage quality (see endpoint specifics)
timeoutnumber30000Render timeout in milliseconds

Options by Endpoint

Template Renderer Options

format, response, textOverflow, tablePagination, tableHeaderOnNewPage, pixelRatio, quality, pageIndex
OptionTypeDefaultValues
formatstringpdfpdf, png, jpg
responsestringbinarybinary, base64
textOverflowstringtruncatetruncate, wrap, scale, none
tablePaginationbooleantruetrue, false
tableHeaderOnNewPagebooleantruetrue, false
pixelRationumber21 - 4
qualitynumber0.950.1 - 1
pageIndexnumber-0 - n

JSON Renderer Options

format, response, validate, scale, quality, printBackground, displayHeaderFooter, 
headerTemplate, footerTemplate, timeout, fullPage, omitBackground, raw
OptionTypeDefaultValues
formatstringpdfpdf, png, jpg, html
responsestringbinarybinary, base64, preview
validatebooleanfalsetrue, false
scalenumber10.1 - 2
qualitynumber901 - 100
printBackgroundbooleantruetrue, false
displayHeaderFooterbooleanfalsetrue, false
headerTemplatestring-HTML string
footerTemplatestring-HTML string
timeoutnumber300001000 - 120000
fullPagebooleanfalsetrue, false
omitBackgroundbooleanfalsetrue, false
rawbooleanfalsetrue, false

HTML Renderer Options

format, response, pageFormat, orientation, margins, scale, printBackground, 
displayHeaderFooter, headerTemplate, footerTemplate, timeout, width, height,
pageRanges, imageType, quality, fullPage, omitBackground
OptionTypeDefaultValues
format (query)stringpdfpdf, png, jpg
pageFormat / format (body)stringA4A4, A3, A5, Letter, Legal, Tabloid
orientationstringportraitportrait, landscape
marginsstring/object-CSS margin values
scalenumber10.1 - 2
printBackgroundbooleantruetrue, false
displayHeaderFooterbooleanfalsetrue, false
timeoutnumber300001000 - 120000
widthstring-CSS dimension
heightstring-CSS dimension
pageRangesstring-e.g., "1-5, 8"
imageTypestringpngpng, jpeg, jpg
qualitynumber901 - 100
fullPagebooleantruetrue, false
omitBackgroundbooleanfalsetrue, false

URL Renderer Options

format, response, pageSize, orientation, margins, scale, printBackground, timeout, 
viewportWidth, viewportHeight, waitUntil, waitForSelector, delay, fullPage,
quality, omitBackground, clip, headers, httpAuth
OptionTypeDefaultValues
formatstringpdfpdf, png, jpg
responsestringbinarybinary, base64
pageSizestringA4A4, A3, A5, Letter, Legal, Tabloid
orientationstringportraitportrait, landscape
viewportWidthnumber1280pixels
viewportHeightnumber720pixels
waitUntilstringloadload, domcontentloaded, networkidle
waitForSelectorstring-CSS selector
waitForSelectorTimeoutnumber10000milliseconds
delaynumber00 - 30000
timeoutnumber300001000 - 120000
fullPagebooleantruetrue, false
qualitynumber901 - 100
omitBackgroundbooleanfalsetrue, false
clipobject-{ x, y, width, height }
headersobject-Custom HTTP headers (body only)
httpAuthobject-{ username, password } (body only)

Query Params vs Body Options

All endpoints support options in both query params and request body:

Query Parameters

Best for:

  • Quick, one-off requests
  • Dynamic URL construction
  • Testing via browser or curl
POST /api/v1/renderer/html?format=pdf&pageFormat=A4&orientation=landscape

Body Options

Best for:

  • Complex configuration
  • Sensitive data (headers, auth)
  • Programmatic usage
{
"html": "<h1>Hello</h1>",
"options": {
"format": "A4",
"orientation": "landscape",
"margins": { "top": "20mm" }
}
}

Precedence Rule

Query parameters always take precedence over body options.

POST /api/v1/renderer/json?format=png
Body: { "document": {...}, "options": { "format": "pdf" } }
# Result: format=png (query wins)

Header/Footer Template Variables

When using displayHeaderFooter: true, you can use these CSS classes in your templates:

ClassDescription
.dateCurrent date
.titleDocument title
.urlDocument URL
.pageNumberCurrent page number
.totalPagesTotal page count

Example:

<div style="font-size: 10px; width: 100%; text-align: center;">
Page <span class="pageNumber"></span> of <span class="totalPages"></span>
</div>

Margin Formats

Margins can be specified in multiple formats:

Single Value

"margins": "20mm"

Two Values (vertical, horizontal)

"margins": "10mm 20mm"

Four Values (top, right, bottom, left)

"margins": "10mm 20mm 10mm 20mm"

Object

"margins": {
"top": "10mm",
"right": "20mm",
"bottom": "10mm",
"left": "20mm"
}

Supported Units

UnitDescription
pxPixels
mmMillimeters
cmCentimeters
inInches
ptPoints