Skip to content

Generate Multi-Page PDF for Printing

Asynchronously generate a single multi-page print-ready PDF from a Print multi-page design. Each set of element values you provide becomes one page in the output document — useful for catalogues, brochures, and personalised booklets where every page shares the same template but has different content.

The result is a single PDF file delivered as a ZIP archive via a NEW_BANNER_BATCH webhook event to your callback_url. For separate per-format PDFs, use Generate Multi-Format PDFs instead.

INFO

This feature is available from the Suite plan.

Endpoint

POST/async/banner-builder/{designId}/generate-multipage-pdfAPI Reference

Generation Characteristics

Print multi-page design type

  • Supported Design Type: Print multi page
  • Response: Asynchronous
  • Output: Multi-page printable PDF
  • Retrieval methods: Webhooks, Polling

Request Body

FieldTypeRequiredDescription
pagesobjectYesDictionary of page overrides keyed by page name (e.g. page_1, page_2). Each value is a dictionary of element overrides for that page.
callback_urlstring (uri)NoURL that will receive a POST request when generation completes.
printobjectNoPrint output options. Fields: color_profile (UUID), display_crop_marks (boolean — default: value configured in the builder).

Output Customization

Use the print property to customize the PDF output.

Color Profiles

UUIDDescription
be2ab219-8fe4-4d85-91ba-65bdc9ddaf01CMYK — ISO Coated v2 (ECI)
03738f37-5b6f-4be9-9100-706b1711f9ddCMYK — ISO Coated v2 (ECI) 300%
e0c86a8a-050c-41f1-885a-0f74b9baac50CMYK — ISO Uncoated
0e0355e6-2931-4c83-92f2-64db9f5ddffcCMYK — US Web Coated (SWOP 2006 5v2)
db3c123e-1127-11ef-b77e-f93002785645RGB — No color profile
fac91df8-1155-11ef-b77e-f93002785645CMYK — ISO Newspaper26 v4
json
{
  "print": {
    "display_crop_marks": true,
    "color_profile": "e0c86a8a-050c-41f1-885a-0f74b9baac50"
  }
}

Sample Request

For multi-page designs, provide elements per page using the pages object.

Replace {YOUR-API-KEY} and {designId} before running.

bash
curl -X POST \
  -H "x-api-key: {YOUR-API-KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "pages": {
      "page_1": {
        "root": { "background_color": "cmyka(0,0,0,0,100)" },
        "tb-image_0": { "image_url": "https://mycompany.com/image.jpeg" },
        "tb-text_0": { "payload": "Lorem Ipsum" }
      },
      "page_2": {
        "root": { "background_color": "cmyka(0,0,0,0,100)" },
        "tb-image_0": { "image_url": "https://mycompany.com/image.jpeg" },
        "tb-text_0": { "payload": "Lorem Ipsum" },
        "tb-text_1": { "payload": "Lorem Ipsum" }
      }
    }
  }' \
  https://api.abyssale.com/async/banner-builder/{designId}/generate-multipage-pdf

Sample Response

json
{ "generation_request_id": "166e1852-dc97-43e3-a5f2-142076452c74" }