New
- Set local graph to show the links in the embeddable when it is activated / deactivated #2200
- Updated "Export Image" dialog
- PDF Export option including tiling of images over multiple pages.
- SVG to clipboard
- More granular setting for padding and scale
Fixed
- Fixed support for *.jfif and *.avif images #2212
- PDF++ selection is not correctly showing after embedded into a drawing (for some specific files) #2213
- iOS 18 can't upload image and library #2182
Updates from Excalidraw.com
- Pressing delete on a frame will only delete the children #9011
- New crowfoot arrowheads and a new arrowhead picker #8942
- Fixed some of the arrow binding issues #9010
- New context menu action: "Wrap selection in frame" #9005
- Elbow arrow segment fixing and positioning #8952
New in ExcalidrawAutomate
(paving the way for slideshow to export slides to PDF)
/**
* Returns the dimensions of a standard page size in points (pt).
*
* @param {PageSize} pageSize - The standard page size. Possible values are "A0", "A1", "A2", "A3", "A4", "A5", "Letter", "Legal", "Tabloid".
* @param {PageOrientation} orientation - The orientation of the page. Possible values are "portrait" and "landscape".
* @returns {PageDimensions} - An object containing the width and height of the page in points (pt).
*
* @typedef {Object} PageDimensions
* @property {number} width - The width of the page in points (pt).
* @property {number} height - The height of the page in points (pt).
*
* @example
* const dimensions = getPageDimensions("A4", "portrait");
* console.log(dimensions); // { width: 595.28, height: 841.89 }
*/
getPagePDFDimensions(pageSize: PageSize, orientation: PageOrientation): PageDimensions;
/**
* Creates a PDF from the provided SVG elements with specified scaling and page properties.
*
* @param {Object} params - The parameters for creating the PDF.
* @param {SVGSVGElement[]} params.SVG - An array of SVG elements to be included in the PDF.
* @param {PDFExportScale} [params.scale={ fitToPage: true, zoom: 1 }] - The scaling options for the SVG elements.
* @param {PDFPageProperties} [params.pageProps] - The properties for the PDF pages.
* @returns {Promise<ArrayBuffer>} - A promise that resolves to an ArrayBuffer containing the PDF data.
*
* @example
* const pdfData = await createToPDF({
* SVG: [svgElement1, svgElement2],
* scale: { fitToPage: true },
* pageProps: {
* dimensions: { width: 595.28, height: 841.89 },
* backgroundColor: "#ffffff",
* margin: { left: 20, right: 20, top: 20, bottom: 20 },
* alignment: "center"
* }
* });
*/
createPDF({ SVG, scale, pageProps, }: {
SVG: SVGSVGElement[];
scale?: PDFExportScale;
pageProps?: PDFPageProperties;
}): Promise<ArrayBuffer>;
```