An open API service indexing awesome lists of open source software.

https://github.com/roboraptor/njs-nice-pdf-creator

Create nice PDFs from your csv reports.
https://github.com/roboraptor/njs-nice-pdf-creator

csv-parser pdf pdf-generation pdf-parser

Last synced: about 15 hours ago
JSON representation

Create nice PDFs from your csv reports.

Awesome Lists containing this project

README

          

# 📄 NicePDFCreator

[![Node.js CI Build](https://github.com/roboraptor/njs-nice-pdf-creator/actions/workflows/node.js.build.yml/badge.svg)](https://github.com/roboraptor/njs-nice-pdf-creator/actions/workflows/node.js.build.yml)

**ModernĂ­ generĂĄtor PDF reportĆŻ z CSV dat pro Jira a vĂœvojovĂ© tĂœmy.** Tento projekt umoĆŸĆˆuje uĆŸivatelĆŻm nahrĂĄt CSV export (napƙ. z Jiry), definovat vizuĂĄlnĂ­ styl a mapovĂĄnĂ­ polĂ­ pomocĂ­ grafickĂ©ho editoru a nĂĄsledně vygenerovat čistĂ©, profesionĂĄlnĂ­ PDF dokumenty.

image

---

## 🚀 Hlavní Funkce

* **DynamickĂ© MapovĂĄnĂ­:** Nahrajte libovolnĂ© CSV a pƙiƙaďte sloupce k polĂ­m v PDF (Title, Body, Meta).
* **Editor ProfilĆŻ:** KompletnĂ­ vizuĂĄlnĂ­ editor pro nastavenĂ­ barev, velikosti pĂ­sma, tlouĆĄĆ„ky linek a rozvrĆŸenĂ­ hlavičky.
* **Real-time Preview:** OkamĆŸitĂ© generovĂĄnĂ­ PDF dokumentĆŻ na straně klienta.
* **Custom Design:** Podpora vlastních fontƯ (SN Pro) a moderního tmavého UI.
* **Persistentní Nastavení:** Export a import konfiguračních profilƯ ve formátu JSON.

## đŸ› ïž Technologie

- **Framework:** [Next.js](https://nextjs.org/) (React)
- **PDF Engine:** [@react-pdf/renderer](https://react-pdf.org/)
- **UI:** [React Bootstrap](https://react-bootstrap.github.io/) & [React Icons](https://react-icons.github.io/react-icons/)
- **Data Parsing:** [PapaParse](https://www.papaparse.com/)

---

## 📂 Struktura Projektu

```text
├── components/
│ ├── Layout.js # SpolečnĂœ obal aplikace (Navbar, Footer)
│ └── MyPdfDocument.js # Definice PDF ơablony a stylƯ
├── pages/
│ ├── _app.js # Globální nastavení a import CSS
│ ├── index.js # Hlavní generátor PDF
│ └── mapping.js # Editor profilu a mapování dat
├── public/
│ ├── data/ # VSTUPNÍ DATA (JSON profily a CSV data)
│ └── fonts/ # TTF fonty pro PDF
└── styles/
└── theme.css # Custom Dark Mode styling
```

## 🏁 Jak začít
1. Instalace

Nejprve nainstalujte potƙebnĂ© balíčky:
Bash

```text
npm install
# nebo
yarn install
```

2. SpuĆĄtěnĂ­ vĂœvojovĂ©ho serveru
Bash

```text
npm run dev
```

Aplikace bude dostupnĂĄ na http://localhost:3000.

3. PouĆŸitĂ­

Pƙejděte do Editoru Profilu (/mapping).

Nahrajte vzorovĂ© CSV pro načtenĂ­ hlaviček.

Upravte barvy, fonty a mapovĂĄnĂ­ polĂ­.

UloĆŸte profil (stĂĄhne se jako JSON).

Na hlavnĂ­ strĂĄnce nahrajte CSV s daty + vĂĄĆĄ uloĆŸenĂœ profil a klikněte na StĂĄhnout PDF.

## 📋 Pƙíklad JSON Profilu

```JSON
{
"meta": {
"title": "Jira Report",
"project": "L2 Support"
},
"schema": [
{ "id": "Summary", "label": "Téma", "type": "title" },
{ "id": "Status", "label": "Stav", "type": "meta" }
],
"styles": {
"types": {
"title": { "fontSize": 18, "color": "#0052CC", "fontWeight": "bold" }
}
}
}
```

## đŸ€ PƙispĂ­vĂĄnĂ­

Projekt je otevƙenĂœ pro jakĂĄkoliv vylepĆĄenĂ­. Stačí vytvoƙit Pull Request nebo nahlĂĄsit Issue.

Vytvoƙeno s ❀ pro efektivnějĆĄĂ­ reportovĂĄnĂ­.