Module for HighCharts to export charts client-side.
Webpage for this project is here: http://a----.github.io/highcharts-export-clientside/
You may need to export a chart you made using HighCharts to an image or a PDF. It has an exporting module but it relies on an export server, which by default is http://export.highcharts.com/ and you also –unlucky you– have one or more of the following:
- your app doesn't have access to the intertubes;
- your chart contains sensitive data and you don't want an unsecure channel to carry it;
- sensitive data or not, you don't trust HighCharts with it;
- it's against your company policies;
- you don't want to set an export server up;
- you think it's 2015 and FFS, browsers should be able to do that.
Additionally, it provides a common interface between the official export module and export-csv
.
Want to give it a try in your project? Check its Website for installation instructions.
First, fork the project and clone it. Then, since dependencies are not shipped, so you will have to do the following:
bower install
Check the example.html
file and mess with it. Once you are done, please consider making a pull request.
This module depends on:
- HighCharts obviously, remember guys, it isn't free for commercial usages;
- its exporting module, that is bundle with it;
- for rasterized images (PNG, JPEG), a module called
canvas-tools
with is based1 on canvg licenced under MIT Licence; - jsPDF (its GitHub page is overthere) for PDF support, licenced under MIT Licence;
- Pseudo-official export-csv module for CSV and XLS support, under MIT Licence.
The only dependencies you must use are HighCharts and HighCharts exporting module. If you want PNG/JPEG, add canvas-tools
. If you want PDF support, add both canvas-tools
and jsPDF
. If a dependency is missing for a file type, the option will not be available in the export menu.
1 There are issues with canvg, title/subtitle appearing twice, this kind of things which canvas-tools
fixes. So I'd suggest to go with this one.
- New option to add BOM to CSV/XLS files. This fixes an issue in Microsoft Excel where file encoding sometimes where not recognized properly (#20)
- Fixing an issue where the exported image would be cropped when both
scale
andsourceWidth
/sourceHeight
have been specified (#16)
- Fixing issue in provided helper function for
exporting.filename
configuration option (#7) - Wider range of dependencies versions in
bower.json
(#6)
- Allow functions for the
exporting.filename
configuration option (#5)
Should have been done months ago, sorry. IE9 and below will not be supported in a near future and possibly any kind of future. Look at #4 for discussion on this matter.
- Async rendering, fixes issues when chart includes resources (icons and the likes, #1)
- Documentation fixes (#2)
- handling of URL options in export-csv options (highcharts/export-csv#40)
## Credits
Written with the help of the following resources:
- that Stack Overflow Q/A and this snippet/project by @leighquince;
- this JSFiddle from the official HighCharts documentation