This project aims at creating a minimalistic Spring-Boot application meant to interact with Node in order to transform into pdf any webpage.
The objective is to be able to run reporting against well-known technologies like HTML, JavaScript and CSS as opposed to solutions relying on less common and less known technologies.
You must have a relatively recent version of Node.js installed on your machine. Download it from https://nodejs.org/
You need Maven 3.6 or later installed on your machine. Download it from https://maven.apache.org/
mvn spring-boot:run
- The application is configured by default to run against port 8081. To try it out, use something like Postman to send a POST request to: http://localhost:8081/pdfgen/generate The POST request must have a JSON Payload similar to the following:
{
"urls": [
"http://localhost:8081/pdfgen/static/multipage.html",
"http://localhost:8081/pdfgen/static/waitable.html",
"https://www.google.ie"
],
"footer": {
"templateText": "Page ${page} of ${pages}",
"fontSize": 0.3,
"bottomMargin": 0.5,
"leftMargin": 0.5,
"rightMargin": 0.5
}
}
- The values of
fontSize
,bottomMargin
,leftMargin
andrightMargin
are in Centimeters. - The
waitable.html
page example introduces a very long delay. This is intentional for that particular page. Remove it to see speedier results.