    paper.scaleContentToFit([opt])

Scale the paper content so that it fits the paper dimensions.

The function accepts an object with additional settings (all optional):

- `opt.padding` – a number or an object of the form `{ top?: [number], right?: [number], bottom?: [number], left?: [number], vertical?: [number], horizontal?: [number] }` that specifies the width of additional padding that should be added around the resulting (scaled) paper content. Default is `0`.
- `opt.preserveAspectRatio` – should the original aspect ratio of the paper content be preserved in the scaled version? Default is `true`.
- `opt.minScaleX`, `opt.minScaleY`, `opt.maxScaleX`, `opt.maxScaleY` – the minimum and maximum allowed scale factors for both axes.
- `opt.scaleGrid` – a number to be used as a rounding factor for the resulting scale. For example, if you pass `0.2` to this option and the scale factor is calculated as `1.15`, then the resulting scale factor will be rounded to `1.2`.
- `opt.useModelGeometry` – should paper content bounding box be calculated from cell models instead of views? Default is `false`. See the documentation of the `paper.getContentBBox` function for more details.
- `opt.fittingBBox` – an object of the form `{ x: [number], y: [number], width: [number], height: [number] }` is the area of the paper that the content should be scaled to. By default `opt.fittingBBox` is `{ x: 0, y: 0, width: paper.options.width, height: paper.options.height }`, i.e. the bounding box of the paper in the paper coordinate system.
- `opt.contentArea` – an object of the form `{ x: [number], y: [number], width: [number], height: [number] }` is the area representing the content in local coordinate system that should be scaled to fit the `opt.fittingBBox`. By default `opt.contentArea` is `paper.getContentArea(opt)`.

The function is illustrated in our paper demo.