0.0.45 • Published 2 years ago
pdfactory-core v0.0.45
pdfactory-core
- Generate pdf documents from html files.
- Generate dynamic pdf documents using ejs files as templates.
Supports
- html
- ejs
Installation
yarn add pdfactory-code
Example using ejs and express
Directory structure
/main.js
/templates
/partials
/page1.ejs
/document.ejs
document.ejs
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<div>
<%- include('./partials/page1.ejs'); -%>
</div>
</body>
</html>
page1.ejs
<div>
<%= title %>
</div>
main.js
const express = require("express");
const path = require("path");
const { pdfactory } = require("pdfactory-core");
const templatesDir = path.join(__dirname, "templates");
const partialsDir = path.join(__dirname, "templates", "partials");
const DEFAULT_CONFIG = {
templatesDir: [templatesDir, partialsDir],
ejsOptions: {
views: [templatesDir], // For relative include paths
},
};
const init = async () => {
const pdfactoryHandler = await pdfactory(DEFAULT_CONFIG);
const app = express();
app.use(express.json());
const requestHandler = async (req, res) => {
let pdf = null;
try {
pdf = await pdfactoryHandler(req.body)
} catch (e) {
res.status(400).send(e)
return
}
res.set({
"Content-Type": "application/pdf",
"Content-Length": pdf.length,
});
res.send(pdf);
};
app.post("/", requestHandler);
app.listen(3000);
return app;
};
init();
Example request
POST https://localhost:3000
{
"document": "document",
"data": {
"title": "pdfactory pdf"
}
}
0.0.40
2 years ago
0.0.41
2 years ago
0.0.42
2 years ago
0.0.43
2 years ago
0.0.44
2 years ago
0.0.45
2 years ago
0.0.35
2 years ago
0.0.36
2 years ago
0.0.37
2 years ago
0.0.38
2 years ago
0.0.39
2 years ago
0.0.34
2 years ago
0.0.33
2 years ago
0.0.32
2 years ago
0.0.31
2 years ago
0.0.30
2 years ago
0.0.28
2 years ago
0.0.27
2 years ago
0.0.26
2 years ago