Simple Adonis 4 Report Builder
Installation
First, you need to install the wkhtmltopdf
command line tool on your system.
The easiest way to do this is to
download a prebuilt version for your system. DO NOT try to use
the packages provided by your distribution as they may not be using a patched Qt and have missing features.
Finally, to install the node module, use npm
:
adonis install @ruanitto/adonis-report-builder
Be sure the wkhtmltopdf
command line tool is in your PATH when you're done installing.
Setup
Make sure to read instructions.md on how to set up.
Registering provider
Make sure to register the provider inside start/app.js
file.
const providers = [
'@ruanitto/adonis-report-builder/providers/ReportBuilder'
]
That's all! Now you can use the provider by pulling it from IoC container
const ReportBuilder = use('ReportBuilder')
await ReportBuilder.loadView('VIEW_FROM_RESOURCE_PATH', dataToRender)
await ReportBuilder.loadHTML('<h1>Hello World!</h1>')
const stringResult = await ReportBuilder.outputBase64()
const bufferResult = await ReportBuilder.outputBuffer()
await ReportBuilder.outputToFile('PATH_TO_SAVE')
Config
The config file is saved as config/reportbuilder.js
. Make sure to tweak it as per your needs.
Env variables
The ReportBuilder
provider relies on following Env variables.
For more details or options configurations see : https://wkhtmltopdf.org/usage/wkhtmltopdf.txt
REPORT_PAGE_SIZE =
REPORT_PAGE_ORIENTATION =
REPORT_FOOTER_FONT_SIZE =
REPORT_FOOTER_RIGHT =
REPORT_FOOTER_LEFT =
REPORT_MARGIN_BOTTOM =
REPORT_MARGIN_LEFT =
REPORT_MARGIN_RIGHT =
REPORT_MARGIN_TOP =