https://github.com/dendrofen/react-konva-to-svg
Extend Konva's functionality to export stages as SVG. Enhance the quality of exported images with SVG format.
https://github.com/dendrofen/react-konva-to-svg
canvas canvas-api konva nextjs react-konva react-konva-export react-konva-to-svg react-konva-utils svg svg-canvas
Last synced: 3 months ago
JSON representation
Extend Konva's functionality to export stages as SVG. Enhance the quality of exported images with SVG format.
- Host: GitHub
- URL: https://github.com/dendrofen/react-konva-to-svg
- Owner: dendrofen
- License: mit
- Created: 2023-08-08T21:30:22.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-11T22:16:14.000Z (9 months ago)
- Last Synced: 2025-04-02T19:03:28.149Z (6 months ago)
- Topics: canvas, canvas-api, konva, nextjs, react-konva, react-konva-export, react-konva-to-svg, react-konva-utils, svg, svg-canvas
- Language: JavaScript
- Homepage: https://dendrofen.github.io/react-konva-to-svg/
- Size: 111 KB
- Stars: 16
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# react-konva-to-svg
**Extend Konva's functionality to export stages as SVG. Enhance the quality of exported images with SVG format.**
[](LICENSE)
[](https://bundlephobia.com/result?p=react-konva-to-svg)
[](https://www.npmjs.com/package/react-konva-to-svg)
[](https://www.npmjs.com/package/react-konva-to-svg)## Features
- Export Konva stages to SVG format.
- Asynchronous export with progress tracking.
- Before and after export callbacks for custom processing.
- Flexible context with a function that handles Konva stage objects.
- Export results as text SVG or Blob SVG.## Installation
You can install `react-konva-to-svg` using npm, yarn, or directly from GitHub.
- **npm**: `npm install react-konva-to-svg`
- **yarn**: `yarn add react-konva-to-svg`
- **GitHub**: [GitHub Repository](https://github.com/dendrofen/react-konva-to-svg)## Usage
To use `react-konva-to-svg`, import the library and utilize the `exportStageSVG` function with your Konva stage object. This function allows you to customize the export process.
### `exportStageSVG(stage, blob, options)`
- `stage`: The Konva stage object you want to export.
- `blob` (optional): Set to `true` to export as Blob SVG, or `false` (default) to export as text SVG.
- `options` (optional): An object containing the following callbacks:
- `onBefore`: A callback function called before export. Receives an array `[stage, layer]` as an argument.
- `onAfter`: A callback function called after export. Receives an array `[stage, layer]` as an argument.**Example usage:**
```javascript
import { exportStageSVG } from 'react-konva-to-svg';// Example usage
const stage = /* your Konva stage */;
const result = await exportStageSVG(stage, false, {
onBefore: ([stage, layer]) => {
// Perform actions before export
},
onAfter: ([stage, layer]) => {
// Perform actions after export
},
});
```## Compatibility Notice
#### Node or group does not rendering properly
If some of nodes, or any group does not rendering properly - use node [caching](https://konvajs.org/docs/performance/Shape_Caching.html) for incorrect rendered node withing **onBefore** function.## Demo
Explore a live demo of react-konva-to-svg in action: [Demo](https://dendrofen.github.io/react-konva-to-svg/)