Please note, this article will be working with pre-made MegaEdit canvases.
MegaEdit supports the functionality to allow customers to choose their canvas size, rather than use a pre-existing one. This can be done both in the editor and through MegaEdit properties on the product landing page, both of which I shall explain how to use in this article.
Startup
Navigate to:
Catfish > Infigo Variable Data -> Dynamic Products -> Canvas
Either Create a canvas, and click its corresponding "Edit" button or choose an existing canvas. For this example, I will be using the canvas "Dynamic Canvas"

This will take you to the Canvas' properties page. As you can see in the screenshot below, the "Dynamic Size" fields are all set to 0, this disables the dynamic size feature.

In order to configure this, all you need to do is fill in the values to set the boundaries for the dimensions of the canvas. This will allow you to set minimum and maximum values for both the width and height, as well as the steps for each of these.
Note: The Step is how many units it will increase or decrease in. For example, if you set the step to 10, the user would only be able to increase or decrease the value by 10 or multiples of 10. This allows you to ensure that your products will only create outputs with dimensions that you can work with, if such a requirement is present.

As you can see in the screenshot above, I have set the boundaries so that the canvas can be no smaller than 50mm x 50mm, and no larger than 200mm x 200mm, as well as only allowing the user to increase/decrease the width in a step of 10, and the height in steps of 5. Although I have set these values to be in millimeters, the system will convert these values to whichever measurement the user chooses to use on the landing page. The supported units are: Centimeters, Millimeters, Inches, Points.
Note: In order for this feature to function properly, you need to disable "Same Size for all pages" as I have done in the screenshot above. Similarly, if you do not set all of the values to be anything above 0, the feature will not be correctly configured and will not activate.
Once you have made your configurations, all you need to do is click "Save" and the dynamic sizes will be configured. To enable it to your product, navigate to your product's settings, navigate to Canvas and check the canvas you created, then press Save.

Enabling More Settings
In order to allow your users to configure these on the product landing page, you will need to enable the Canvas Options on your landing pages. To do this, navigate to:
Admin > Catfish > Infigo Variable Data > Dynamic Product Settings > Product Attributes
Enable "Show Canvas Options on Product Landing Page" then click "Save".

Note: Only the attributes which have been given a name in their respective fields will be visible on the landing pages. Also, this will turn these attributes on for all MegaEdit products, however the attributes used for dynamic canvas sizes are configured separately, and so they will not appear on this list, so all of these fields can be left blank.
For this example, I have simply named the Width and the Height fields "Page Width" and "Page Height" to allow me to directly edit them on the landing page.

As you can see in the screenshot below, I have enabled the Width and Height product attributes for the product's landing page, which directly connects with the settings I have just configured. The slider will not let me go below 50 Millimeters, nor will it let me go above 200. There is also a dropdown which allows the user to change the units of measurement - this will automatically adjust the values to ensure that the canvas remains at the correct size.

In MegaEdit
Loading into the editor, you can see that the values I entered on the landing page have carried through to the canvas.

If you click on the canvas dimensions in the top right (highlighted in red) it will take you to a menu which allows you to live-edit the canvas size within the editor.

Using the slider, you can change the dimensions for each individual page, or all pages at once - this is controlled by utilising the "Change only current page" checkbox.

Upon clicking "Change" you will be fronted with the following two warning menus. These are in place to warn the user about the potential issues with both the resolution of images and the aspect ratio of layouts. Clicking "Continue" on each of these menus will acknowledge the potential problems that changing the canvas size could cause.


As you can see in the screenshot below, I have been able to successfully update the canvas dimensions within the MegaEdit Editor.
