https://github.com/yet3/svg2jspdf
Insert svgs into pdfs without converting them into images
https://github.com/yet3/svg2jspdf
Last synced: over 1 year ago
JSON representation
Insert svgs into pdfs without converting them into images
- Host: GitHub
- URL: https://github.com/yet3/svg2jspdf
- Owner: yet3
- License: mit
- Created: 2023-01-30T20:32:32.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-02-07T01:40:12.000Z (over 3 years ago)
- Last Synced: 2024-08-12T19:14:21.947Z (almost 2 years ago)
- Language: TypeScript
- Size: 59.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# svg2jspdf


I was making a pdf using [jsPDF](https://github.com/parallax/jsPDF) and wanted to insert svg into pdf without transforming it into image so I made this.
## Installation
```sh
npm install @yet3/svg2jspdf
```
or
```sh
yarn add @yet3/svg2jspdf
```
## Usage
```js
import JsPdf from "jspdf";
import { addSvgFromFile, addSvgFromString } from "@yet3/svg2jspdf";
const thirdSvgString = `your svg`;
const doc = new JsPdf();
addSvgFromFile(doc, "./first-svg.svg");
addSvgFromFile(doc, "./second-svg.svg", { x: 30, y: 50 });
addSvgFromString(doc, thirdSvgString, { width: 35, height: "auto" });
doc.save("pdf.pdf");
```
or
```js
import JsPdf from "jspdf";
import { Svg2Pdf } from "@yet3/svg2jspdf";
const thirdSvgString = `your svg`;
const doc = new JsPdf();
const svg2pdf = new Svg2Pdf(doc);
svg2pdf.fromFile("./first-svg.svg");
svg2pdf.fromFile("./second-svg.svg", { y: 10 });
svg2pdf.fromString(thirdSvgString, { height: 25 });
doc.save("pdf.pdf");
```
### Exposed functions
```ts
setSvg2PdfHandler(tagName: T, handler: SvgHandler): void
addSvgFromString(doc: JsPdf, svgString: string, options?: Svg2PdfOptions = {}): void
addSvgFromFile(doc: JsPdf, filePath: string, options?: Svg2PdfOptions = {}): void
```
### Svg2Pdf methods
```ts
setHandler(tagName: T, handler: SvgHandler): void
fromString(svgString: string, options?: Svg2PdfOptions): void
fromFile(filePath: string, options?: Svg2PdfOptions): void
```
### Svg2PdfOptions
| **Name** | **Type** | **Default value** |
| :------: | :---------------------------: | :---------------: |
| x | number \| undefined | 0 |
| y | number \| undefined | 0 |
| width | number \| 'auto' \| undefined | 'auto' |
| height | number \| 'auto' \| undefined | 'auto' |
### Supported svg tags
- path
- polygon
- polyline
- line
- rect
- circle