5.0.27 • Published 4 months ago
js-ts-report v5.0.27
js-ts-report
react front code
- This npm module for createing pdf from from html or handlebars file.
- With module you can create the templates in (html or handlebars file) keep in backend like express or next js and use with backend code example
- Frontend use CreateUrl class from
"js-ts-report/build/frontend"
then create class instance and follow it getUrl method attach the url for link tag see code snippet below in case of next.js and
frontend code {react example}
// Example 1 here you need to make api call to get buffer
import React, { useState, useEffect } from 'react'
import {CreateUrl} from "js-ts-report/build/frontend"
export default function onDocumentLoadSuccess() {
const [url, setUrl] = useState()
useEffect(async () => {
let curUrl = (await new CreateUrl().setApi("/api/pdf")).url
setUrl(curUrl)
return () => { }
}, [])
return (
<div>
<a href={url}>click here to Print</a>
</div>
);
}
// Example 2 Here already you have data recived from api call from previous code and pass axiorespponse as argument which is a buffer
import React, { useState, useEffect } from 'react'
import axios from "axios"
import {CreateUrl} from "js-ts-report/build/frontend"
export default function onDocumentLoadSuccess() {
const [url, setUrl] = useState()
useEffect(async () => {
let res = await axios.get("/api/pdf", {
responseType: 'arraybuffer',
headers: {
'Accept': 'application/pdf'
}
})
let curUrl = new CreateUrl().setAxiosResponse(res).url
setUrl(curUrl)
return () => { }
}, [])
return (
<div>
<a href={url}>click here to Print</a>
</div>
);
}
Back end code next js example
import { CreatePdf } from "js-ts-report"
import path from "path"
import fs from "fs"
export default (req, res) => {
let Path = path.resolve(__dirname, "../../../../templates/invoice.html")
fs.readFile(Path, "utf-8", (err, data) => {
if (err) {
res.status(500).send(err)
} else {
const creatPdf = new CreatePdf({
"format": "a5",
"margin": {
bottom: 70, // minimum required for footer msg to display
left: 25,
right: 35,
top: 0,
},
}, {
"args": ["--no-sandbox"]
}
)
creatPdf.create(data).then(data => {
res.status(200).send(data)
}).catch(err => res.status(500).send(err))
.finally(() => res.end())
}
})
}
5.0.23
7 months ago
5.0.24
7 months ago
5.0.25
4 months ago
5.0.27
4 months ago
5.0.22
2 years ago
5.0.20
2 years ago
5.0.21
2 years ago
5.0.14
2 years ago
5.0.15
2 years ago
5.0.16
2 years ago
5.0.17
2 years ago
5.0.18
2 years ago
5.0.19
2 years ago
5.0.6
3 years ago
5.0.5
3 years ago
5.0.4
3 years ago
5.0.3
3 years ago
5.0.2
3 years ago
5.0.1
3 years ago
5.0.10
3 years ago
5.0.12
3 years ago
5.0.13
3 years ago
4.0.0
3 years ago
5.0.9
3 years ago
5.0.8
3 years ago
5.0.7
3 years ago
3.0.9
3 years ago
3.0.8
3 years ago
3.0.7
3 years ago
3.0.6
3 years ago
3.0.4
3 years ago
3.0.3
3 years ago
3.0.2
3 years ago
3.0.1
3 years ago
3.0.5
3 years ago
1.2.5
3 years ago
3.0.0
3 years ago
2.0.2
3 years ago
2.0.1
3 years ago
2.0.0
3 years ago
1.2.4
4 years ago
1.2.3
4 years ago
1.2.2
4 years ago
1.2.1
4 years ago
1.2.0
4 years ago
1.1.3
4 years ago
1.1.1
4 years ago
1.1.2
4 years ago
1.0.2
4 years ago
1.1.0
4 years ago
1.0.3
4 years ago
1.0.0
4 years ago