This is an old documentation. Go to the latest Customer's Canvas docs

ISetPrintAreasOptions Interface

A structure holding settings to migrate data when replacing print areas or surfaces in a product.

You can use this structure in setPrintAreas and updateSurfaces.

var newPrintAreas = [{ designFile: "stamp" }];
var options = { 
    replaceAll: true,
    preserveSafetyLines: false,
    updateSurfaceSize: true
    .then(function (product) {
        return product.surfaces[0].setPrintAreas(newPrintAreas, options);
    .then(function (product) {
        console.log("The print area was successfully set for the product " +;
    .catch(function (error) {
        console.error("Failed to set up the print area: ", error);


Optional preserveSafetyLines

preserveSafetyLines: boolean

If true, the current safety lines, if any, are restored in new print areas. If false, safety lines from new print areas are applied. The default value is true.

Optional preserveUserChanges

preserveUserChanges: boolean

If true, the changes made by a user are restored in the new print areas or surfaces if it is possible. Otherwise, all changes made by the user are wiped. The default value is true.

Optional replaceAll

replaceAll: boolean

If true, design elements whose names do not match move to the new print area in a random order according to their types. If false, only design elements with the same names are moved to the new print area. The default value is false.

Optional updateRevertData

updateRevertData: boolean

If true, the new print areas or surfaces are stored as ones to restore when the product is reverted. Otherwise, the previously stored ones are restored on product revert. The default value is true.

Optional updateSurfaceSize

updateSurfaceSize: boolean

If true, changes the surface size to match the new print area or surface. If it's false and a mockup is defined, then the surface size remains unchanged. By default, updateSurfaceSize is false, and the surface size changes only if no mockups are specified.