You’re viewing outdated documentation. View the latest Customer’s Canvas On-Premises documentation.

RenderProof Method (Surface, SurfaceData, RenderingConfig, Nullable(Size), Nullable())

Applies to: Customer's Canvas On-Premises; Design Atoms .NET 6.0.0, 6.x (may differ) · Archived documentation

Renders a personalized Surface to the file cache.

Namespace: Aurigma.DesignAtoms.Rendering
Assembly: Aurigma.DesignAtoms (in Aurigma.DesignAtoms.dll)

Syntax

C#
public IEnumerable<string> RenderProof(
	Surface surface,
	SurfaceData data,
	RenderingConfig renderingConfig,
	Nullable<Size> maxSize,
	Nullable<ResizeMode> resizeMode
)

Parameters

surface

Type: Aurigma.DesignAtoms.Model.Surface

A Surface to render.
data

Type: Aurigma.DesignAtoms.Model.SurfaceData

A SurfaceData providing variable data for the personalization. Here, you can only specify the Data property. SurfaceBinding has no effect, and this method renders a surface specified as the first argument.
renderingConfig

Type: Aurigma.DesignAtoms.Configuration.RenderingConfig.RenderingConfig

Rendering properties. You can pass null to use the dafault configuration.
maxSize

Type: System.Nullable<Size>

The width and height of the rendered proof image, in pixels. By default, proof images are 500 x 500 pixels.
resizeMode

Type: System.Nullable<ResizeMode>

Defines how the proof image should appear in the specified bounds. For the values, you can refer to the ResizeMode enumeration.

Return Value

A collection of image IDs in the cache.

Examples

C#
// Define personalization data.
var surfaceData = new SurfaceData()
{
    Data = new List<ItemsData> { new ItemsData
    {
        // Replace the Company and Logo fields.
        RootItems = new ItemDataCollection
        {
            {"Company", new ItemData {Text = "CA Printing"}},
            {"Logo", new ItemData {Image = "https://example.com/images/logo.svg"}}
        }
    }}
};

// Personalize and render the first page to the file cache.
var renderer = Injector.Instance.Resolve<IProductRenderer>();
var cacheId = renderer.RenderProof(product.Surfaces[0], surfaceData, null).First();

// Copy the personalized page from the cache to a file.
var fileCache = Injector.Instance.Resolve<IFileCache>();
using (var stream = fileCache.GetReadStream(cacheId))
using (var fileStream = File.Create($"{cacheId}"))
    stream.CopyTo(fileStream);

See Also

Reference

Manual