jasper_nodejs
v1.0.45
Published
wrapper jasper report untuk nodejs
Downloads
67
Maintainers
Readme
jasper_nodejs
Generate JasperReports from Node.js using Jasper Server Compiled Binary.
✨ Features
- Compile
.jrxmlto.jasper - Export report to PDF / HTML / XLS / etc
- Support parameters
- Support database connection (Postgresql, Mysql, json comming soon)
- Works with pure Node.js or frameworks (AdonisJS, Express, etc)
☕ Java Requirement
This package requires Java (JRE or JDK) to be installed.
Supported Versions
- Java 8
Check Java installation
java -version🐧 Java Linux Installation (Ubuntu / Debian)
Install Java
sudo apt update
sudo apt -y install openjdk-8-jdk🪟 Java Windows Installation
Install Java
https://www.java.com/en/download/manual.jsp
📦 Installation
npm install jasper_nodejsExample Usage:
import ReportService from "jasper_nodejs";
const reportService = new ReportService();
const outputDir = app.makePath("tmp/reports"); // specify the directory where the generated report files will be saved (app.makepath is adonisjs)
const fileName = `${cuid()}`;
const formatType = "pdf";
// output filename
const pdfPath = path.join(outputDir, fileName);
// Ensure the directory exists
if (!fs.existsSync(outputDir)) fs.mkdirSync(outputDir, { recursive: true });
try {
const outputFile = await reportService
.export({
// you may use the .jrxml extension; the .jasper file is generated by compiling the .jrxml template
reportFile: app.makePath("resources/reports/jadwal.jasper"),
// If you want to use a custom output filename, do NOT pass the path of the
// directory you created.
// Instead, append an additional path segment.
// The last path segment (which does NOT exist as a directory)
// will be treated by Jasper as the output filename.
outputDir: pdfPath,
// e.g view, print, pdf, rtf, xls, xlsMeta, xlsx, docx, odt, ods, pptx, csv, csvMeta, html, xhtml, xml, jrprint
format: "pdf",
// Parameters defined here will be forwarded to Jasper reports and can be accessed using $P{idproduct}. if you need jsonb parameter you can use like this
params: {
idproduct: 3,
details: {
price: 5000,
expired: "2025-12-31",
},
},
db: {
// e.g. postgres
dbname: "your_database_name",
// e.g. localhost
host: "your_database_host",
// e.g postgres, mysql
driver: "postgres",
// e.g default PostgreSQL port 5433
port: "your_database_port",
// e.g. postgres
username: "your_database_user",
// e.g. akd1QDF
password: "your_database_password",
},
})
.run();
// The run() method can be replaced with command().
// If you use command(), it will return the generated CLI command
// and store it in the outputFile variable instead of executing it.
// You can then copy and paste the command into the terminal
// to debug or generate the PDF manually.
} catch (error) {
console.log(error);
}