1.0.1 • Published 3 months ago

jsonpdfkit v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

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

OptionTypeDefaultDescription
formatString"a4"Page format ("a4", "letter", "legal")
orientationString"portrait"Page layout ("portrait", "landscape")
fontTypeString"times"Font type
fontSizeNumber14Text size in points
pageNumberingBooleantrueAdds page numbers
headerObjectnullCustom header text, alignment, font size, color
footerObjectnullCustom footer text, alignment, font size, color
imagesArray[]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!

1.0.1

3 months ago

1.0.0

3 months ago