Overview

Product video
The most efficient report generator Turn your JSON into PDF, DOCX, XLSX, PPTX, ODS and many more. For more informations https://carbone.io
Highlights
- easy to use API for document generation
- generate all type of document based on Microsoft Office or LibreOffice template
- cost effective solution
Details
Introducing multi-product solutions
You can now purchase comprehensive solutions tailored to use cases and industries.
Features and programs
Financing for AWS Marketplace purchases
Pricing
Dimension | Cost/unit |
|---|---|
Number of generated document - First 100 | $0.15 |
Number of generated document - From 101 to 1000 | $0.08 |
Number of generated document - From 1001 to 10000 | $0.03 |
Number of generated document - Over 10 001 | $0.008 |
Vendor refund policy
We do not currently support refunds, but you can cancel at any time.
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
Delivery details
64-bit (x86) Amazon Machine Image (AMI)
Amazon Machine Image (AMI)
An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.
Version release notes
v5.0.9
- Fix: :convCRLF now preserves whitespace in DOCX
- [On-Premise] Official multi-tenancy support: If req.tenantId is set in a global before middleware plugin, Carbone separates data by tenantId in the database.
-By default, without plugins, template files are stored on disk using the pattern tenantId-versionId.
- If storage plugins are used (writeTemplate, readTemplate, deleteTemplate), it is up to the developer to separate files per req.tenantId (different filename, bucket, etc.).
- All endpoints become tenant-sensitive (for example, GET /templates returns only the templates for that specific tenant).
- tenantId must be a non-negative 64-bit signed integer. Since JavaScript integers are limited to 53 bits, string values are accepted to fully use the full 64-bit range. ('1' to '9223372036854775807'). If this constraint is not respected, an error is returned.
- To enforce security, the bit-field securityLevel (CARBONE_SECURITY_LEVEL) parameter can be set to 0b00000010 (2) to enforce multi-tenancy and make tenantId mandatory. This disables Carbone's default behavior when no tenantId is used, where templates are stored in the database with tenantId = 0 and template files are stored on disk without a tenant ID.
- [On-Premise] Return an error when a before middleware plugin is not a function.
- [EE] New Beta Feature: The :html formatter now supports rendering HTML tables in ODT/DOCX/PDF documents. You can inject all HTML markups supported by the formatter (e.g., images, lists, bold, paragraphs) within table cells.
- To enable this, use the pre-release tag: {o.preReleaseFeatureIn=5000009}. Without it, the table text is rendered into a single paragraph.
- Supported: Rows, columns, cells, colspan, and rowspan.
- Not supported: , , and tags.
- Default styling: Tables are rendered with a black solid border (custom styling is not available yet).
v5.0.8
- Studio:
- Fix incorrect base64 conversion when using the online HTML editors. It now correctly supports emojis, accented characters, etc.
- Fix invisible caret when pasting content with a white background.
- Update to the latest Squire editor to fix some other issues.
- Improved appendTemplate behavior:
- Better performance and no need to expose localhost for internal requests.
- Disallows a nested document from using appendTemplate, to avoid circular dependencies or complex dependency trees.
- Returns error messages from nested templates.
Additional details
Usage instructions
Launching Carbone instance:
When launching a new Carbone instance, you need only to configure the followings option when starting the EC2 instance :
- configure EC2 Security Group to accept at least inbound connections TCP/4000.
- assign AWSMarketplaceMeteringFullAccess role to ec2 instance
Use Carbone API
When EC2 is fully booted, you can check if Carbone is running by calling : http://"EC2_IP":4000/status
Full API documentation is available here: https://carbone.io/documentation/developer/http-api/introduction.html
Configuring Carbone:
Full documentation is available here : https://carbone.io/documentation/developer/self-hosted-deployment/deploy-on-aws.html
You can configure Carbone application by modifying /var/www/carbone-ee/config/config.json. To connect to the EC2 instance, use SSH and the username ec2-user with your private key.
Full Carbone options documentation : https://carbone.io/documentation/developer/on-premise-installation/configuration.html
Using System Manager and Tag to configure Carbone
It's now possible to fully configure Carbone without modifying config.json file.
To make it possible, you first need to add following policy to grant configuration access for Carbone { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:GetParameter", "Resource": "" }, { "Effect": "Allow", "Action": "ssm:DescribeParameters", "Resource": "" }, { "Effect": "Allow", "Action": [ "ec2:DescribeTags" ], "Resource": [ "*" ] } ] }
Next step is to set configuration in System Manager https://console.aws.amazon.com/systems-manager/parameters/
You can now configure Carbone standard option with : CARBONE_EE_* (CARBONE_EE_STUDIO to true to enable studio) CARBONE_EE_STUDIO CARBONE_EE_STUDIOUSER .... CARBONE_S3_* to configure S3 options: CARBONE_S3_templateS3Bucket CARBONE_S3_templateS3BucketRegion .... CARBONE_PUBKEY to set Carbone publikey (for authentification)
If you need to manage multiple Carbone configuration for different environnement, you can set instance TAG to configure config prefix: CARBONE_CONFIG_PREFIX= "/PROD/" for example
Enable Carbone Studio
You can configure CARBONE_EE_STUDIO to true in AWS System Manager
Store templates and renders on S3 bucket
You can set bucket name and region in file /var/www/carbone-ee/config/config.json with the following options: "templateS3Bucket" : "test-stockage-template", "templateS3BucketRegion" : "us-east-1", "templateS3Folder" : "prod", "renderS3Bucket" : "test-stockage-render", "renderS3Folder" : ""
Authentification is done using EC2 IAM role so you need to add following policy to grant S3 access to you EC2 instance : { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:GetObjectAttributes", "s3:ListBucket", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::test-stockage-template", "arn:aws:s3:::test-stockage-template/", "arn:aws:s3:::test-stockage-render", "arn:aws:s3:::test-stockage-render/" ] } ] }
Enable log export to cloudwatch
You only need to attach *CloudWatchAgentServerPolicy on EC2 IAM role to enable Carbone logs export in CloudWatch
Sensitive data
All customers data are stored in /var/www/carbone-ee/ folder. Only the template are persistent. By defaut API authentification is disable but you can enable it : https://carbone.io/on-premise.html#server-authentication
Resources
Vendor resources
Support
Vendor support
Please allow 24 hours Contact us on live chat https://carbone.io or mail support@carbone.io
AWS infrastructure support
AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.
