mirror of
https://github.com/excalidraw/excalidraw.git
synced 2025-04-14 16:40:58 -04:00
fix: Add DOCTYPE and XML preamble in exported SVG documents (#9386)
All checks were successful
Tests / test (push) Successful in 4m59s
All checks were successful
Tests / test (push) Successful in 4m59s
* Add DOCTYPE and XML preamble in exported SVG documents * Update packages/excalidraw/data/index.ts --------- Co-authored-by: David Luzar <5153846+dwelle@users.noreply.github.com>
This commit is contained in:
parent
01304aac49
commit
6fe7de8020
2 changed files with 9 additions and 1 deletions
|
@ -319,6 +319,9 @@ export const DEFAULT_MAX_IMAGE_WIDTH_OR_HEIGHT = 1440;
|
|||
export const MAX_ALLOWED_FILE_BYTES = 4 * 1024 * 1024;
|
||||
|
||||
export const SVG_NS = "http://www.w3.org/2000/svg";
|
||||
export const SVG_DOCUMENT_PREAMBLE = `<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
`;
|
||||
|
||||
export const ENCRYPTION_KEY_BITS = 128;
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ import {
|
|||
isFirefox,
|
||||
MIME_TYPES,
|
||||
cloneJSON,
|
||||
SVG_DOCUMENT_PREAMBLE,
|
||||
} from "@excalidraw/common";
|
||||
|
||||
import { getNonDeletedElements } from "@excalidraw/element";
|
||||
|
@ -134,7 +135,11 @@ export const exportCanvas = async (
|
|||
if (type === "svg") {
|
||||
return fileSave(
|
||||
svgPromise.then((svg) => {
|
||||
return new Blob([svg.outerHTML], { type: MIME_TYPES.svg });
|
||||
// adding SVG preamble so that older software parse the SVG file
|
||||
// properly
|
||||
return new Blob([SVG_DOCUMENT_PREAMBLE + svg.outerHTML], {
|
||||
type: MIME_TYPES.svg,
|
||||
});
|
||||
}),
|
||||
{
|
||||
description: "Export to SVG",
|
||||
|
|
Loading…
Add table
Reference in a new issue