---
title: "Interface IProductRenderer | Customer's Canvas On-Premises"
canonical: "https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Rendering/IProductRenderer/"
---

# Interface IProductRenderer

> `System.Threading.Tasks.Task<System.Collections.Generic.IList<System.String>>`

###### **Namespace**: [Aurigma.DesignAtoms.Rendering](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Rendering.md)

###### **Assembly**: Aurigma.DesignAtoms.dll

```csharp title="Syntax"
public interface IProductRenderer
```

## Methods

### RenderHiRes

```csharp
Task<IList<string>> RenderHiRes(Product product, RenderingConfig renderingConfig = null, object notificationState = null)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Product](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/Product.md) | *product* |  |
| [Aurigma.DesignAtoms.Configuration.RenderingConfig.RenderingConfig](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Configuration.RenderingConfig/RenderingConfig.md) | *renderingConfig* |  |
| `System.Object` | *notificationState* |  |

##### Returns

### RenderHiRes

```csharp
Task<string> RenderHiRes(PrintArea printArea, RenderingConfig renderingConfig = null, object notificationState = null)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.PrintArea](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/PrintArea.md) | *printArea* |  |
| [Aurigma.DesignAtoms.Configuration.RenderingConfig.RenderingConfig](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Configuration.RenderingConfig/RenderingConfig.md) | *renderingConfig* |  |
| `System.Object` | *notificationState* |  |

##### Returns

`System.Threading.Tasks.Task<System.String>`

### RenderHiRes

```csharp
Task RenderHiRes(Stream stream, PrintArea printArea, RenderingConfig renderingConfig = null, object notificationState = null)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.IO.Stream` | *stream* |  |
| [Aurigma.DesignAtoms.Model.PrintArea](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/PrintArea.md) | *printArea* |  |
| [Aurigma.DesignAtoms.Configuration.RenderingConfig.RenderingConfig](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Configuration.RenderingConfig/RenderingConfig.md) | *renderingConfig* |  |
| `System.Object` | *notificationState* |  |

##### Returns

`System.Threading.Tasks.Task`

### RenderHiRes

```csharp
Task RenderHiRes(Func<Stream> getOutputStreamCallback, Product product, RenderingConfig renderingConfig = null, object notificationState = null)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Func<System.IO.Stream>` | *getOutputStreamCallback* |  |
| [Aurigma.DesignAtoms.Model.Product](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/Product.md) | *product* |  |
| [Aurigma.DesignAtoms.Configuration.RenderingConfig.RenderingConfig](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Configuration.RenderingConfig/RenderingConfig.md) | *renderingConfig* |  |
| `System.Object` | *notificationState* |  |

##### Returns

`System.Threading.Tasks.Task`

### RenderHiResBitmap

```csharp
Task<Bitmap> RenderHiResBitmap(PrintArea printArea, RenderingConfig renderingConfig = null, object notificationState = null)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.PrintArea](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/PrintArea.md) | *printArea* |  |
| [Aurigma.DesignAtoms.Configuration.RenderingConfig.RenderingConfig](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Configuration.RenderingConfig/RenderingConfig.md) | *renderingConfig* |  |
| `System.Object` | *notificationState* |  |

##### Returns

`System.Threading.Tasks.Task<Aurigma.GraphicsMill.Bitmap>`

### RenderHiRes

```csharp
Task RenderHiRes(Stream stream, Product product, RenderingConfig renderingConfig = null, object notificationState = null)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.IO.Stream` | *stream* |  |
| [Aurigma.DesignAtoms.Model.Product](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/Product.md) | *product* |  |
| [Aurigma.DesignAtoms.Configuration.RenderingConfig.RenderingConfig](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Configuration.RenderingConfig/RenderingConfig.md) | *renderingConfig* |  |
| `System.Object` | *notificationState* |  |

##### Returns

`System.Threading.Tasks.Task`

### RenderProof

```csharp
Task<string> RenderProof(Surface surface, RenderingConfig renderingConfig, Size? maxSize = null, ResizeMode? resizeMode = null)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Surface](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/Surface.md) | *surface* |  |
| [Aurigma.DesignAtoms.Configuration.RenderingConfig.RenderingConfig](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Configuration.RenderingConfig/RenderingConfig.md) | *renderingConfig* |  |
| `System.Nullable<System.Drawing.Size>` | *maxSize* |  |
| `System.Nullable<Aurigma.GraphicsMill.Transforms.ResizeMode>` | *resizeMode* |  |

##### Returns

`System.Threading.Tasks.Task<System.String>`

### RenderProof

```csharp
Task RenderProof(Stream stream, Surface surface, RenderingConfig renderingConfig, Size? maxSize = null, ResizeMode? resizeMode = null)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.IO.Stream` | *stream* |  |
| [Aurigma.DesignAtoms.Model.Surface](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/Surface.md) | *surface* |  |
| [Aurigma.DesignAtoms.Configuration.RenderingConfig.RenderingConfig](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Configuration.RenderingConfig/RenderingConfig.md) | *renderingConfig* |  |
| `System.Nullable<System.Drawing.Size>` | *maxSize* |  |
| `System.Nullable<Aurigma.GraphicsMill.Transforms.ResizeMode>` | *resizeMode* |  |

##### Returns

`System.Threading.Tasks.Task`

### RenderProof

```csharp
Task RenderProof(Stream stream, Product product, RenderingConfig renderingConfig, Size? maxSize = null, ResizeMode? resizeMode = null, ResizeInterpolationMode? interpolationMode = null, IEnumerable<int> surfaceIndexes = null)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.IO.Stream` | *stream* |  |
| [Aurigma.DesignAtoms.Model.Product](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/Product.md) | *product* |  |
| [Aurigma.DesignAtoms.Configuration.RenderingConfig.RenderingConfig](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Configuration.RenderingConfig/RenderingConfig.md) | *renderingConfig* |  |
| `System.Nullable<System.Drawing.Size>` | *maxSize* |  |
| `System.Nullable<Aurigma.GraphicsMill.Transforms.ResizeMode>` | *resizeMode* |  |
| `System.Nullable<Aurigma.DesignAtoms.Configuration.RenderingConfig.ResizeInterpolationMode>` | *interpolationMode* |  |
| `System.Collections.Generic.IEnumerable<System.Int32>` | *surfaceIndexes* |  |

##### Returns

`System.Threading.Tasks.Task`

### RenderProof

```csharp
Task RenderProof(Stream stream, Surface surface, PrintArea printArea, RenderingConfig renderingConfig, Size? maxSize, ResizeMode? resizeMode)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.IO.Stream` | *stream* |  |
| [Aurigma.DesignAtoms.Model.Surface](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/Surface.md) | *surface* |  |
| [Aurigma.DesignAtoms.Model.PrintArea](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/PrintArea.md) | *printArea* |  |
| [Aurigma.DesignAtoms.Configuration.RenderingConfig.RenderingConfig](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Configuration.RenderingConfig/RenderingConfig.md) | *renderingConfig* |  |
| `System.Nullable<System.Drawing.Size>` | *maxSize* |  |
| `System.Nullable<Aurigma.GraphicsMill.Transforms.ResizeMode>` | *resizeMode* |  |

##### Returns

`System.Threading.Tasks.Task`

### RenderProof

```csharp
Task RenderProof(Stream stream, Surface surface, Container container, RenderingConfig renderingConfig, Size? maxSize, ResizeMode? resizeMode)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.IO.Stream` | *stream* |  |
| [Aurigma.DesignAtoms.Model.Surface](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/Surface.md) | *surface* |  |
| [Aurigma.DesignAtoms.Model.Container](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/Container.md) | *container* |  |
| [Aurigma.DesignAtoms.Configuration.RenderingConfig.RenderingConfig](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Configuration.RenderingConfig/RenderingConfig.md) | *renderingConfig* |  |
| `System.Nullable<System.Drawing.Size>` | *maxSize* |  |
| `System.Nullable<Aurigma.GraphicsMill.Transforms.ResizeMode>` | *resizeMode* |  |

##### Returns

`System.Threading.Tasks.Task`

### RenderProof

```csharp
Task RenderProof(Stream stream, Surface surface, PrintArea printArea, Container container, RenderingConfig renderingConfig, Size? maxSize, ResizeMode? resizeMode)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.IO.Stream` | *stream* |  |
| [Aurigma.DesignAtoms.Model.Surface](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/Surface.md) | *surface* |  |
| [Aurigma.DesignAtoms.Model.PrintArea](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/PrintArea.md) | *printArea* |  |
| [Aurigma.DesignAtoms.Model.Container](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/Container.md) | *container* |  |
| [Aurigma.DesignAtoms.Configuration.RenderingConfig.RenderingConfig](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Configuration.RenderingConfig/RenderingConfig.md) | *renderingConfig* |  |
| `System.Nullable<System.Drawing.Size>` | *maxSize* |  |
| `System.Nullable<Aurigma.GraphicsMill.Transforms.ResizeMode>` | *resizeMode* |  |

##### Returns

`System.Threading.Tasks.Task`

### RenderWatermarkToStorageId

```csharp
Task<WatermarkRenderingResult> RenderWatermarkToStorageId(RenderingConfig renderingConfig, WatermarkConfig watermarkConfig, int width, int height)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Configuration.RenderingConfig.RenderingConfig](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Configuration.RenderingConfig/RenderingConfig.md) | *renderingConfig* |  |
| [Aurigma.DesignAtoms.Configuration.WatermarkConfig](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Configuration/WatermarkConfig.md) | *watermarkConfig* |  |
| `System.Int32` | *width* |  |
| `System.Int32` | *height* |  |

##### Returns

`System.Threading.Tasks.Task<Aurigma.DesignAtoms.Rendering.WatermarkRenderingResult>`

### RenderItems

```csharp
Task<RectangleF> RenderItems(Stream stream, Item[] items, RenderingConfig renderingConfig)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.IO.Stream` | *stream* |  |
| `Aurigma.DesignAtoms.Model.Items.Item[]` | *items* |  |
| [Aurigma.DesignAtoms.Configuration.RenderingConfig.RenderingConfig](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Configuration.RenderingConfig/RenderingConfig.md) | *renderingConfig* |  |

##### Returns

`System.Threading.Tasks.Task<System.Drawing.RectangleF>`
