---
title: "Interface: ISetPrintAreasOptions | Customer's Canvas On-Premises"
canonical: "https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/interfaces/ObjectModel.ISetPrintAreasOptions/"
---

# Interface: ISetPrintAreasOptions

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

## Remarks

You can use this structure in [setPrintAreas](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/classes/ObjectModel.Surface.md#setprintareas) and [updateSurfaces](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/classes/ObjectModel.Product.md#updatesurfaces).

## Example

``` js
  let newPrintAreas = `[{ designFile: "stamp" }]`;
  let options = { 
      replaceAll: true,
      preserveSafetyLines: false,
      updateSurfaceSize: true
  };
  let product = await editor.getProduct()
  product = await product.surfaces[0].setPrintAreas(newPrintAreas, options)
      .catch(error => console.error("Failed to set up the print area: ", error));
```

## Extended by

- [`IUpdateSurfaceOptions`](https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/interfaces/ObjectModel.IUpdateSurfaceOptions.md)

## Properties

### updateRevertData?

> `optional` **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`.

***

### preserveUserChanges?

> `optional` **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`.

***

### preserveSafetyLines?

> `optional` **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`.

***

### replaceAll?

> `optional` **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`.

***

### updateSurfaceSize?

> `optional` **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.

***

### clearRemovedItems?

> `optional` **clearRemovedItems?**: `boolean`

If `true`, the design elements deleted by a user are deleted from the new print areas or surfaces as well, so that the deletion survives the replacement. If `false`, such elements come back with the new design. The default value is `false`.
