Skip to main content
Version: 2.0

GraphGrid PDF

Platform Version 2.0

API Version 1.0

Introduction​

GraphGrid PDF allows users to create PDFs using custom HTML and upload them to S3.

API​

This PDF API version is 1.0 and as such all endpoints are rooted at /1.0/. For example, http://localhost/1.0/pdf
(requires auth) would be the base context for this PDF API under the GraphGrid API deployed at http://localhost.

Status​

Check the status of GraphGrid PDF. Will return a status of 200 OK if healthy.

  • BaseURL: /1.0/pdf/status
  • Method: GET

Request​

curl --location --request GET "${API_BASE}/1.0/pdf/status"

Response​

200 OK

Create and upload PDF​

Using a custom HTML document uploaded to S3, create and upload a PDF to a bucket.

  • BaseURL: /1.0/pdf/printer/report
  • Method: POST
curl --location --request POST "${API_BASE}/1.0/pdf/printer/report" \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header "Authorization: Bearer ${BEARER_TOKEN}" \
--data-raw '{
"inputs": [{
"input": {
"inputFile": {
"name": "<!DOCTYPE html><html><body><p>test report</p></body></html>",
"origin": "plain_html"
},
"images": [{
"name": "graphgrid_logo.svg",
"origin": "local_jar"
}],
"converting": "nothing"
},
"settings": {
"styleSheet": {
"name": "gg_test_report.xsl",
"origin": "local_jar"
},
"settingsFile": {
"name": "config.xml",
"origin": "local_jar"
}
}
}, {
"input": {
"inputFile": {
"name": "test-report.html",
"origin": "s3"
},
"images": [{
"name": "graphgrid_logo.svg",
"origin": "local_jar"
}],
"converting": "gg_test_csv_to_html"
},
"settings": {
"styleSheet": {
"name": "gg_test.xsl",
"origin": "local_jar"
},
"settingsFile": {
"name": "config.xml",
"origin": "local_jar"
}
}
}],
"output": {
"name": "test-bucket/test-report.pdf",
"destinationType": "s3"
}
}'

Response​

200 OK

Replace and upload PDF​

Using an HTML file saved in S3, design and replace custom attributes in the document to create and upload a PDF document to a bucket.and download the created PDF.

  • BaseURL: /1.0/pdf/printer/report/replacementPdfReport/{{fileName.html}}
  • Method: POST
curl --location --request POST "${API_BASE}/1.0/pdf/printer/report/replacementPdfReport/exampleText.html" \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer ${BEARER_TOKEN}" \
--data-raw '{
"bucket": "s3.us-west-2://test-bucket/",
"replacements": {
"{{attribute_271000005}}": "",
"{{attribute_278008002}}": "",
"{{attribute_100000004}}": ""
"{{note}}": "This is my test note",
"{{name}}": "GraphMaster",
"{{description}}": "An example PDF",
},
"keys": [
"NotoMono-Regular.ttf",
"NotoSans-Bold.ttf",
"NotoSans-BoldItalic.ttf",
"NotoSans-Regular.ttf"
],
"config": "config_fonts_rep.xml",
"regular": "regular_promotion_rep.xsl"
}'

Response​

This request will return the PDF in its raw form where it can be saved and exported as a PDF.

%PDF-1.4
%����
1 0 obj
<<
/Creator (Apache FOP Version 2.1)
/Producer (Apache FOP Version 2.1)
/CreationDate (D:20220909172555Z)
>>...
...%%EOF

Save this response in a text editor and export it as a PDF. If using an API client such as Postman, it is possible to download the response directly without having to create a file in a text editor.