Endpoint converts HTML into a PDF for download.
POST /api/utils/v1/pdfs
Headers
- X-Availity-Customer-ID (required) - Organization customer id is used by the system to identify the owner of the PDF document.
Parameters
- applicationId (required) — Application name that created the PDF request. Examples:
credentialing-app
,awesome-healthcare-app
- html (required) - Simple HTML that renders into a PDF. Max size
2Mb
. - fileName (optional) - If
fileName
is not assigned then the default PDF job id is used instead.
Notes
- Send an entire HTML document including
<html>
and<body>
elements - You should produce HTML specifically for PDF rendering. Keep your HTML and styles simple and compact. Table layouts usually work out well in PDF format.
- CSS at the head of your document will be used by the PDF rendering engine
- Images can included using base64 encoded data URLs in image tags. Ex:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAb2Z0d2Fy..." />
- Make sure to use HTML entities in your templates. For example, if you want to render an apostrophe
'
then use entity'
instead. Please see https://www.w3.org/wiki/Common_HTML_entities_used_for_typography for references to other HTML entities.
Response Codes
- 200 - PDF created and can be downloaded
- 202 - PDF is processing and is not ready for download
Example Request
curl -i -H "Content-Type: application/json" -H "X-Availity-Customer-ID: 1194" -X POST -d '{
"applicationId" : "example",
"html" : "<html><body>hello world</body></html>"
}' https://apps.availity.com/api/utils/v1/pdfs
Example Response
HTTP/1.1 202 Accepted
Content-Type: application/json
x-api-id: fec4cd7c-e940-47e5-912e-e78a8d09980b
X-Session-ID: fec4cd7c-e940-47e5-912e-e78a8d09980b
Cache-Control: private,no-store,max-age=0,must-revalidate
Location: https://apps.availity.com/api/utils/v1/pdfs/-6746445849906334272
X-Status-Message: We are processing your request.
Date: Tue, 18 Aug 2015 15:28:22 GMT
Content-Length: 355
Server: Jetty(7.4.5.v20110725)
{
"links" : {
"self" : {
"href" : "https://apps.availity.com/api/utils/v1/pdfs/-6746445849906334272"
}
},
"id" : "-6746445849906334272",
"createdDate" : "2015-08-18T15:28:22.107+0000",
"updatedDate" : "2015-08-18T15:28:22.122+0000",
"expirationDate" : "2015-08-19T15:28:22.107+0000",
"status" : "In Progress",
"statusCode" : "0",
"applicationId" : "example"
}
FAQ
How do I create read only checkboxes?
Rending checkboxes is already supported out of the box but you can't prevent the user from selecting/deselecting the checkbox. In order to show read only checkboxes you will have to include inline images in your template.
Read-only checked box using image:
<img
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALlJREFUeNqkk4ENRBEMhr23gBHYwG3gbWIEt4kR3AZGEBMZoaeX9OKE4F6TP6r0S7XB2E07Kt8Uyc38V72JRbApffaw3nsGAF0ZY4blRKUUoJBeINBaSf6c0R2s4AegtYaccxdCybjGGMcAtBrinAOMUzLaFNBCUNba71kNOFfnJeV8wsMnkL/0hF4TMbbURCEEcM7/HyMGERBCgJERhABHA7hKFdOGpZTIvWqAK3psfqbn3d/M3gIMAKucGfYNKY2DAAAAAElFTkSuQmCC"
/>
Read-only unchecked box using image:
<img
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFlJREFUeNpiYKAQMCKx44FYgUT9C5A5+4H4P4nYngnZBHt7e4b///8TxPv374frYaI0DEYNGDUABFiQORcuXGBwcHAgqOnDhw9YM1M/EBuQ6IACSn3AABBgAD1AMzq0zMgbAAAAAElFTkSuQmCC"
/>
Example Handlebar templates than conditionally renders check/uncheck state when showChecked
is true
:
<table cellspacing="0">
<tr>
<td class="cell-100">
{{#if showChecked}}
<img
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALlJREFUeNqkk4ENRBEMhr23gBHYwG3gbWIEt4kR3AZGEBMZoaeX9OKE4F6TP6r0S7XB2E07Kt8Uyc38V72JRbApffaw3nsGAF0ZY4blRKUUoJBeINBaSf6c0R2s4AegtYaccxdCybjGGMcAtBrinAOMUzLaFNBCUNba71kNOFfnJeV8wsMnkL/0hF4TMbbURCEEcM7/HyMGERBCgJERhABHA7hKFdOGpZTIvWqAK3psfqbn3d/M3gIMAKucGfYNKY2DAAAAAElFTkSuQmCC"
/>
{{else}}
<img
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFlJREFUeNpiYKAQMCKx44FYgUT9C5A5+4H4P4nYngnZBHt7e4b///8TxPv374frYaI0DEYNGDUABFiQORcuXGBwcHAgqOnDhw9YM1M/EBuQ6IACSn3AABBgAD1AMzq0zMgbAAAAAElFTkSuQmCC"
/>
{{/if}}
</td>
</tr>
</table>
You can use any image for checked/unchecked state as long as it can fit inside data uri attribute.