Getting started
Premium components
Beta features
Deprecated components
Managed Cloud
What is a report?
A Report, in Hybiscus terms, is a collection of components defined through
the schema. For a quick example, refer to the Creating a report
section, where you can see a report is simply a schema in which you add a number
of components that populate your report.
Components
Components are the various elements that make up your report, such as images, tables, cards, sections, etc. They are also defined through a simple schema, which you add as a series of objects to your report's JSON definition.
Configuration
The Report schema takes two configuration keys, options and
config. The options key is an object which specifies content for some of
the fields in the report. The config key is another object for specifying
various configuration parameters.
Example JSON
{
"type": "Report",
"options": {
"report_title": "The report",
"report_byline": "Yet another byline",
"version_number": "0.1b",
"logo_url": "https://hybiscus.dev/public/public/docs/Wordmark.svg"
},
"config": {
"enable_multi_page": true,
"color_theme": "default",
"typography_theme": "default"
},
"components": []
}
Options
The following options can be specified in the options object. The options
in the options key generally specify content that appears in the actual
PDF.
| Key | Description |
|---|---|
options.report_title | The title of the report which appears at the top. |
options.logo_url | URL to an image to use as a logo in place of the report title. Please note this is only supported on paid plans. See here for more details. |
options.report_byline | Optional. A smaller byline which appears underneath the report title. Defaults to Report byline. |
options.version_number | Optional. A version number which can be placed on the report. |
options.enable_header | Optional. Whether to include the header at the top of the PDF. Defaults to true. Please note this is only supported on paid plans. See here for more details. |
options.footer_text | Optional. Text to place in the footer of every page. HTML formatting is suported. |
options.vertical_margin | Optional. The vertical margin applied to all pages (except the cover page), in millimetres. Defaults to 5. |
options.horizontal_margin | Optional. The horizontal margin applied to all pages (except the cover page), in millimetres. Defaults to 5. |
Configuration
The following options can be set in the config object, they typically control
configuration of the report but not specifying actual content that appears
in the PDF.
| Key | Description |
|---|---|
config.landscape | Optional. Whether to generate landscape PDFs. Defaults to false. |
config.color_theme / config.colour_theme | Optional. The color palette theme to apply to the report. See Themes for more details. |
config.typography_theme | Optional. The typography theme to apply to the report. See Themes for more details. |
config.google_fonts | Optional. Configuration for Google Fonts. See Themes for more details. |
config.n_pages | Deprecated. The number of pages expected in your report. Please note the Free trial only supports single-page PDF reports. This option is deprecated. Please use config.enable_multi_page instead. |
config.enable_multi_page | Optional. Set this to true to build multi-page PDF reports. Defaults to false. Please note the Free trial only supports single-page PDF reports. See here for more details. |
config.enable_pagination | Optional. Enables pagination at the bottom of the pages. Only applicable to multi-page PDF reports. Defaults to false. |
config.cloud_storage.s3 | Optional. Pre-signed AWS S3 URL for uploading PDF directly to. Please note this is only supported on paid plans. See here for more details. |
config.cloud_storage.azure_blob_storage | Optional. Pre-signed Azure Blob Storage URL for uploading PDF directly to. Please note this is only supported on paid plans. See here for more details. |
config.cloud_storage.google_cloud_storage | Optional. Pre-signed Google Cloud Storage URL for uploading PDF directly to. Please note this is only supported on paid plans. See here for more details. |
config.webhooks | Optional. See the webhooks page for more details. |
Custom logo
The report title text can be replaced with a custom logo, that is provided
by a publically accessible URL. This URL should point towards an image of format JPG,
PNG, or SVG. When the options.logo_url key is set, the options.report_title
option is ignored.
Setting a custom logo is only supported with a paid plan. See here for more details.
Cloud storage upload
For more details on uploading your PDF report directly to a cloud storage provider, see here.
Multi-page PDF reports
In cases where you need to add more components that can fit in a single page,
you will need to set config.enable_multi_page to true. To
generate multi-page PDF reports, you will need a paid plan.
The number of pages that will be generated in a single PDF report will be automatically
limited by your plan.
Previously, users needed to set config.n_pages to a value greater than 1.
This config option still exists, however it is no longer required.
For multi-page PDF reports, you can also enable pagination at the bottom using
the config.enable_pagination option.
Missing something?
Hybiscus is continuously improving and adding new features. If you think we are missing a critical feature, please do not hesitate to contact us and offer your feedback at support@hybiscus.dev