Skip to main content

Starting print file rendering

After you have created a design and prepared and saved VDP data to the design, you can apply this data while rendering print files.

This guide explains how to render designs with variable data using Customers Canvas. You'll learn how to configure a pipeline with the render-vdp-hires task, run a project via the Storefront API, and manage the resulting artifacts.

Step 1: Configure the pipeline

To render high-resolution print files, create a pipeline in your Customer's Canvas account first. The pipeline must include the render-vdp-hires task to apply data samples stored in the rendered designs. Below is an example configuration:

{
"tasks": [
{
"description": "Extract design from project",
"name": "extract",
"type": "extract-project-design",
"parameters": {},
"outputArtifacts": [
"design"
]
},
{
"description": "Render multipage print file",
"name": "render-vdp-hires",
"type": "render-vdp-hires",
"inputArtifacts": [
"design"
],
"parameters": {
"hiResOutputDpi": 300,
"hiResOutputFileFormat": "pdf",
"hiResOutputColorSpace": "cmyk",
"hiResOutputRgbColorProfileName": "",
"hiResOutputCmykColorProfileName": "",
"hiResOutputGrayscaleColorProfileName": "",
"hiResOutputToSeparateFiles": false,
"hiResOutputChannelContainersToSeparateFiles": false,
"hiResOutputChannelContainersRenderEmptyPage": true,
"hiResOutputBackgroundColor": "White",
"hiResOutputCompression": "Jpeg",
"hiResOutputJpegCompressionQuality": 90,
"hiResOutputFlipMode": "None",
"hiResOutputRotateMode": "None",
"hiResOutputPdfTextMode": "Text",
"hiResOutputPdfAuthor": "",
"hiResOutputPdfCreator": "",
"hiResOutputPdfKeywords": "",
"hiResOutputPdfSubject": "",
"hiResOutputPdfTitle": "",
"hiResOutputInStringPlaceholderHintsEnabled": false,
"hiResOutputArchiveType": "None",
"hiResOutputArchiveCompressionType": "LZMA"
},
"outputArtifacts": [
"printFile"
]
},
{
"description": "Finalize",
"name": "finalize",
"type": "finalize",
"finalArtifacts": [
"printFile"
]
}
]
}

Step 2: Create a project via API

First, choose the right endpoint. Customer's Canvas provides two endpoints for creating projects for processing VDP data:

  1. POST /api/storefront/v1/projects/with-single-item

    Use this endpoint when your PIM products are linked via a product reference (e.g., an online store product ID).

    Example: You have a product in your e-commerce system, and you want to personalize it with VDP data.

  2. POST /api/storefront/v1/projects/by-scenario/specific-pipeline

    Use this endpoint when you haven't linked products by product reference, need to process multiple line items in an order, or only render design files.

    Example: You want to render multiple designs in a single project without direct product references.

Once a project is created, the system will automatically run the pipeline linked to the product or specified in the request parameters.

Option 1: Using /projects/with-single-item

This endpoint is used when your products are linked via a product reference in your online store.

curl -X POST "https://api.customerscanvashub.com/api/storefront/v1/projects/with-single-item?storefrontId=12" \
-H "accept: text/plain" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <TOKEN>" \
-d '{
"ownerId": "6527afc635b52bfadd355226",
"item": {
"productReference": "invitation",
"designIds": ["642e793dc46d098d64514607"]
}
}'

Option 2: Using /projects/by-scenario/specific-pipeline

This endpoint is ideal for processing multiple line items in an order when products are not linked by a product reference.

curl -X POST \
"https://api.customerscanvashub.com/api/storefront/v1/projects/by-scenario/specific-pipeline?storefrontId=12" \
-H "accept: text/plain" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <TOKEN>" \
-d '{
"orderDetails": {"orderId": "1004"},
"ownerId": "6527afc635b52bfadd355226",
"items": [{
"designIds": ["62da200abb25c5477797d9cb"]
}],
"scenario": {"pipelineId": 247}
}'

Step 3: Retrieve rendered files

You can find artifact links through the BackOffice UI or implement sending the results outside of Customer's Canvas:

To access artifacts, you can log in to your Customer's Canvas account and find the artifact links in the Projects section: click your projects and then click the Results tab.

To automatically deliver rendered files, extend your pipeline with tasks like:

{
"tasks": [
{
"description": "Upload to FTP",
"name": "upload-to-ftp",
"type": "upload-to-ftp",
"inputArtifacts": ["printFile"],
"parameters": {
"ftpHost": "ftp.example.com",
"ftpUser": "user",
"ftpPassword": "password",
"ftpPath": "/output/"
}
}
]
}
Was this page helpful?