1.0.1 ⢠Published 3 months ago
jsonpdfkit v1.0.1
JSONPDFKIT
š Description
JSONPDFKIT
is a Node.js library that allows you to generate professional PDF reports from JSON data or API responses. It supports features like:
- Headers & Footers
- Tables with Auto Pagination
- Inline & Remote Images
- Custom Formatting & Page Numbering
š¦ Installation
npm install jsonpdfkit
š Usage
1ļøā£ Import & Call generatePDF
const { generatePDF } = require("jsonpdfkit");
async function createPDF() {
const jsonData = {
header: { text: "Business Report - 2025" },
footer: { text: "Generated by JSONPDFKIT Library" },
company: "Acme Inc.",
description: "Annual financial and operations report for Acme Inc.",
images: [
{
url: "https://source.unsplash.com/300x200/?business",
x: 50,
y: 100,
width: 200,
height: 150,
},
],
financial_summary: [{ Year: "2024", Revenue: "$50M", Profit: "$10M" }],
};
const outputPath = await generatePDF(jsonData, {
format: "a4",
orientation: "portrait",
fontType: "times",
fontSize: 14,
pageNumbering: true,
header: {
text: "Company Financial Report",
align: "center",
fontSize: 16,
color: [0, 0, 0],
},
footer: {
text: "Confidential Document",
align: "right",
fontSize: 10,
color: [100, 100, 100],
},
images: [
{
path: "path/to/local/image.png",
x: 50,
y: 100,
width: 200,
height: 150,
},
],
});
console.log("ā
PDF Created:", outputPath);
}
createPDF();
šØ Features
- š Multi-Page PDF Support (Auto Page Breaks)
- š Tables with Data Parsing
- š¼ Image Embedding from URL or Local Files
- š Header & Footer Support
- š Custom Fonts & Styling
- š¢ Automatic Page Numbering
- šØ Custom Colors & Font Sizes
š Configuration Options
Option | Type | Default | Description |
---|---|---|---|
format | String | "a4" | Page format ("a4", "letter", "legal") |
orientation | String | "portrait" | Page layout ("portrait", "landscape") |
fontType | String | "times" | Font type |
fontSize | Number | 14 | Text size in points |
pageNumbering | Boolean | true | Adds page numbers |
header | Object | null | Custom header text, alignment, font size, color |
footer | Object | null | Custom footer text, alignment, font size, color |
images | Array | [] | Embed images (URLs or local paths) |
Header/Footer Object Structure:
{
text: "Report Header", // Text for header/footer
align: "center", // Alignment ("left", "center", "right")
fontSize: 14, // Font size in points
color: [0, 0, 0], // RGB color array
}
Image Object Structure:
{
path: "path/to/image.png", // Local image path (if applicable)
url: "https://example.com/image.jpg", // Remote image URL
x: 50, // X-coordinate in points
y: 100, // Y-coordinate in points
width: 200, // Image width in points
height: 150 // Image height in points
}
š License
This project is open-source and available under the MIT License.
š© Support
For any issues, create an issue in the repository or contact the maintainer.
š Happy Coding & PDF Generation!