Socket
Book a DemoInstallSign in
Socket

@aavanamkit/designer

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aavanamkit/designer

Are you looking for a powerful, open-source solution to generate PDF and DOCX documents in your web application? **AavanamKit** is a modern document generation toolkit designed to fix the broken workflow of hardcoded layouts. It provides a full-stack ecos

1.0.26
latest
npmnpm
Version published
Weekly downloads
65
-14.47%
Maintainers
1
Weekly downloads
 
Created
Source

Are you looking for a powerful, open-source solution to generate PDF and DOCX documents in your web application? AavanamKit is a modern document generation toolkit designed to fix the broken workflow of hardcoded layouts. It provides a full-stack ecosystem, featuring a visual, drag-and-drop React component for template design and a headless Node.js engine for high-quality, server-side document creation. Stop fighting with print CSS and clunky libraries—AavanamKit is the definitive invoice generator and report builder that saves you time and empowers your users. AavanamKit is built on top of the popular React and Node.js frameworks


AavanamKit Logo

AavanamKit

The open-source document design system that dramatically speeds up your development workflow.
Explore the Live Demo » · Read the Docs »

Report Bug · Request Feature

License: MIT AavanamKit Engine CI GitHub stars npm version npm downloads

Stop Coding Layouts Blindly.

You know the process. You need to generate a PDF invoice. You open your editor and start writing code like `doc.text('Total:', 400, 750)`. You save, re-run your script, and check the output. The text is a few pixels off. You go back, guess a new coordinate, and repeat the cycle. It's slow, frustrating, and completely disconnected from the visual nature of the task.

The alternative is often worse: fighting with print CSS to convert HTML to a PDF, only to end up with a low-quality, blurry document that looks terrible on a professional invoice or a thermal printer receipt.

AavanamKit is designed to fix this broken workflow.

A Visual Development Tool for Documents

AavanamKit is a complete ecosystem that treats document layouts not as a coding chore, but as a visual design process.

Our core philosophy is simple: Design your document visually first, then use the exported JSON as your production-ready template.

Instead of guessing at coordinates, you use our powerful visual designer to draw your layout. You see exactly how it will look in real-time. When you're done, you export a clean JSON object that represents your entire design. This JSON is your layout code, ready to be used by our headless backend engine.

🚀 Live Demo & Sample Templates

Seeing is believing. We've built a full live demo where you can experience the power of the AavanamKit designer right in your browser.

» Try the Live Demo Now!

AavanamKit Live Demo GIF

The demo comes pre-loaded with a gallery of professional templates. The complete source code for these templates can be found in the packages/designer/src/lib/templates.js file.

🚀 Documentation

Seeing is believing. We've built a full a comprehensive documentation site.

The demo comes pre-loaded with a gallery of professional templates. The complete source code for these templates can be found in the packages/designer/src/lib/templates.js file.

The demo comes pre-loaded with a gallery of professional templates for a mobile repair shop, showcasing the versatility of the designer:

  • A full A4 Service Invoice: A standard, comprehensive invoice perfect for detailed billing.
  • A compact A5 Invoice: A modern, stylish design for smaller jobs or quotes.
  • A continuous-roll Thermal Receipt: Demonstrates the "Roll Mode" for printers with dynamic paper length.
  • A small Job Repair Ticket: A custom-sized ticket for internal tracking and customer claims.

You can access these templates by clicking the "New from Template" button in the demo. The complete source code for these templates can be found in packages/designer/src/lib/templates.js.

✨ The AavanamKit Ecosystem

AavanamKit is a monorepo containing two distinct but perfectly synchronized packages:

🎨 @aavanamkit/designer (Your Visual Dev Tool)

A powerful, embeddable React component that provides a full WYSIWYG "design studio." Use it in your local development environment to visually build and export your document templates.

  • Complete Visual Canvas: A full WYSIWYG experience. Drag, drop, resize, rotate, and style every element with an intuitive properties panel.

  • Powerful Data Binding: Visually map any element's property to your application's data schema. The designer intelligently flattens complex, nested JSON for easy use.

  • Advanced Components Built-In: Go beyond simple text and images with a powerful, auto-paginating Table that handles page breaks automatically, plus support for Barcodes and various Shapes.

  • Total Page Control: Full control over your document's layout. Choose standard sizes like A4/Letter, define custom dimensions, switch between portrait/landscape, or use the Continuous Roll mode for dynamic-height thermal printer receipts.

  • Professional Workflow Tools: Speed up your design process with keyboard shortcuts, canvas zoom & pan, and a built-in gallery of production-ready templates to start from.

  • Conditional Rendering: Easily set rules to show or hide elements based on your live data (e.g., only show a "Discount Applied" label if discount > 0).

  • Pre-Printed Stationery Support: Upload an image of your pre-printed paper as a background to perfectly align your digital design with your physical media.

  • Instant JSON Export: Get a clean, production-ready template JSON with one click.

📦 Installation

Install the designer in your React project using npm:

npm install @aavanamkit/designer

🔧 Usage

Import the AavanamKit component and its required, pre-built CSS file. You control the designer by passing it your application's data schema and wiring up the onSave callback to your backend.

import React, { useState, useEffect } from 'react';
import AavanamKit from '@aavanamkit/designer';
import '@aavanamkit/designer/dist/AavanamKit.css';

function MyTemplateEditor() {
  const myAppSchema = {
    customer: { name: "string", address: "string" },
    invoiceNumber: "string",
    items: [{ description: "string", total: "number" }]
  };

  const [template, setTemplate] = useState(null);

  useEffect(() => {
    // fetchTemplateFromApi().then(savedTemplate => setTemplate(savedTemplate));
  }, []);

  const handleSave = async (newTemplate) => {
    console.log("Saving template to database:", newTemplate);
    // await saveTemplateToApi(newTemplate);
  };

  return (
    <div style={{ height: '100vh', width: '100%' }}>
      <AavanamKit
        schema={myAppSchema}
        template={template}
        onSave={handleSave}
      />
    </div>
  );
}

📘 Component API

<AavanamKit />

PropTypeRequiredDescription
schemaobject✅ YesAn object representing the data structure of your application.
onSavefunction✅ YesA callback function that receives the complete template JSON on save.
templateobject❌ NoA previously saved template object to load into the designer.
dataobject❌ NoSample data used for live previews and in-browser exporting.

The Bonus: Safe Client Empowerment

And if you want to go the extra mile, you can then embed the same `@aavanamkit/designer` component into your application's admin panel. This allows your clients to safely handle their own visual changes without ever needing to touch the underlying data structure.

What clients can do:

  • Change element positions (move the logo, rearrange footer text).
  • Adjust styling (font sizes, colors, bold/italics).
  • Upload their own images, including using a scan of their pre-printed stationery as a background to perfectly align their design.

What clients cannot do:

  • They cannot change the data schema or the data bindings. The core data structure is controlled by you, the developer, ensuring data integrity is always maintained.

❤️ Contributing & Support

The AavanamKit Project is a community-driven, open-source initiative. Your help makes it better.

🪪 License

This project is licensed under the MIT License.

Keywords

aavanamkit

FAQs

Package last updated on 13 Aug 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.