SVG
JointJS+ provides an SVG plugin that enables the ability to export the Paper as SVG.
Installation​
Access SVG methods via the format namespace, and pass an instance of dia.Paper and a callback where applicable to
the method.
import { dia, format } from '@joint/plus';
format.toSVG(paper, function(svgString, error) {
sendToServer(svgString);
offerForDownload(svgString);
});
There is also a UMD version available
Include joint.format.svg.js in your HTML:
<script src="joint.js"></script>
<script src="joint.format.svg.js"></script>
Access SVG methods through the joint.format namespace:
joint.format.toSVG(paper, function(svgString, error) {
sendToServer(svgString);
offerForDownload(svgString);
});
Frequently asked questions​
How to export a diagram as a standalone SVG?​
You may activate several options of the toSVG() function to save additional information to the SVG export of your JointJS diagram, depending on your exact use case.
Learn more...
-
convertImagesToDataUrisincludes all contained images into your export - see below. -
useComputedStylescalculates all styles that are applied on your diagram at the time of export and includes them in the exported SVG. -
preserveDimensionsexplicitly specifies the current width and height of the content as the dimensions of the exported SVG. -
gridincludes the Paper grid in the exported SVG.
How to keep images when opening exported SVG locally?​
When exporting your diagram, you may instruct JointJS to keep all contained images by specifying the convertImagesToDataUris option as true.
Learn more...
For example:
format.toSVG(
paper,
(svg) => {
util.downloadDataUri(
`data:image/svg+xml,${encodeURIComponent(svg)}`,
'joint-plus.svg'
);
},
{ convertImagesToDataUris: true }
);