0.0.22 • Published 1 year ago
easy-react-pdf v0.0.22
Easy React PDF
Overview
The Easy React PDF is a library that simplifies the process of generating PDF files from JSON configurations. With this library, you can easily create complex PDF documents with various styles, layouts, and content. and make it easy for templating PDF files.
Installation
You can install the library using npm:
npm install easy-react-pdf
Note
you need install react, react-pdf and react-dom in your project
npm install react react-dom @react-pdf/renderer
Usage
Node js
Stream File
import { createStreamPDF, IPDFPage } from "easy-react-pdf";
async function main(template: IPDFPage) {
const stream = await createStreamPDF(template);
return stream.pipe(fs.createWriteStream("output.pdf"));
}
Create File
import { createFilePDF, IPDFPage } from "easy-react-pdf";
async function main(template: IPDFPage) {
await createFilePDF(template, "path/to/file.pdf");
}
React
import { PDFViewer } from "@react-pdf/renderer";
import { Document } from "easy-react-pdf";
function Main(template: IPDFPage) {
return (
<PDFViewer>
<Document {...template} />
</PDFViewer>
);
}
Example Template
{
"contents": [
{
"type": "views",
"style": {
"width": "100%",
"height": "100%",
"alignItems": "center",
"justifyContent": "center",
"display": "flex"
},
"contents": [
{
"type": "text",
"text": "{{name}}",
"style": {
"fontSize": 30,
"fontWeight": "bold"
}
}
]
}
],
"document": {
"title": "Payment Schedules"
},
"pages": {
"size": "A4"
}
}
API
Validations
import { validateJsonPDF, validateObjectPDF } from "easy-react-pdf";
const validateJson = validateJsonPDF(contents);
const validateObject = validateObjectPDF(contents);
this function return a valid object or throw a error
Template
import { replaceVariablesJson, replaceVariablesObject } from "easy-react-pdf";
const variables = [
{
name: "name",
value: "John Doe",
},
{
name: "age",
value: 20,
},
];
const templateJson = replaceVariablesJson(contents, variables);
const templateObject = replaceVariablesObject(contents, variables);
0.0.22
1 year ago
0.0.21
1 year ago
0.0.20
1 year ago
0.0.19
1 year ago
0.0.18
1 year ago
0.0.17
1 year ago
0.0.16
1 year ago
0.0.15
1 year ago
0.0.14
1 year ago
0.0.13
1 year ago
0.0.12
1 year ago
0.0.11
1 year ago
0.0.10
1 year ago
0.0.9
1 year ago
0.0.8
1 year ago
0.0.7
1 year ago
0.0.6
1 year ago
0.0.5
1 year ago
0.0.4
1 year ago
0.0.3
1 year ago
0.0.2
1 year ago
0.0.1
1 year ago