Your search did not match any results.

Export and Printing API


DevExtreme Data Visualization JavaScript components fulfill their purpose even outside the browser, thanks to the client-side export and printing features. This demo illustrates the exportTo and print API methods used for exporting and printing from code. Below the Chart, you see the «Print» and «Export» buttons. A click on the «Print» button calls the Print Dialog Window with a document ready to be printed. In this window, you can change printing properties and send the document to your printer. A click on the «Export» button saves a PNG file with the component in your local storage. PDF, JPEG, SVG, and GIF formats are supported as well.
Backend API
Copy to CodePen
const DemoApp = angular.module('DemoApp', ['dx']); DemoApp.controller('DemoController', ($scope) => { $scope.chartOptions = { dataSource, series: { argumentField: 'name', valueField: 'height', type: 'bar', color: '#E55253', }, tooltip: { enabled: true, customizeTooltip(arg) { return { text: `<span class='title'>${arg.argumentText}</span><br />&nbsp;<br />` + `System: ${}<br />Height: ${arg.valueText} m`, }; }, }, title: 'The Highest Mountains', legend: { visible: false, }, argumentAxis: { visible: true, }, valueAxis: { visualRange: { startValue: 8000, }, label: { customizeText() { return `${this.value} m`; }, }, }, }; $scope.printButton = { icon: 'print', text: 'Print', onClick() { $('#chart').dxChart('instance').print(); }, }; $scope.exportButton = { icon: 'export', text: 'Export', onClick() { $('#chart').dxChart('instance').exportTo('Example', 'png'); }, }; });
<!DOCTYPE html> <html xmlns=""> <head> <title>DevExtreme Demo</title> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <script src=""></script> <script>window.jQuery || document.write(decodeURIComponent('%3Cscript src="js/jquery.min.js"%3E%3C/script%3E'))</script> <link rel="stylesheet" type="text/css" href="" /> <link rel="stylesheet" type="text/css" href="" /> <script src=""></script> <script>window.angular || document.write(decodeURIComponent('%3Cscript src="js/angular.min.js"%3E%3C/script%3E'))</script> <script src=""></script> <script src="data.js"></script> <link rel="stylesheet" type="text/css" href="styles.css" /> <script src="index.js"></script> </head> <body class="dx-viewport"> <div class="demo-container" ng-app="DemoApp" ng-controller="DemoController"> <div id="chart" dx-chart="chartOptions"></div> <div id="buttonGroup"> <div dx-button="printButton"></div> <div dx-button="exportButton"></div> </div> </div> </body> </html>
#chart { height: 440px; margin-bottom: 30px; } #buttonGroup { text-align: center; margin-bottom: 20px; } #buttonGroup > .dx-button { margin: 0 20px; } .title { font-size: 15px; font-weight: 500; }
const dataSource = [{ name: 'Everest', height: 8848, system: 'Mahalangur Himalaya', }, { name: 'Godwin Austen', height: 8611, system: 'Baltoro Karakoram', }, { name: 'Kangchenjunga', height: 8586, system: 'Kangchenjunga Himalaya', }, { name: 'Lhotse', height: 8516, system: 'Mahalangur Himalaya', }, { name: 'Makalu', height: 8485, system: 'Mahalangur Himalaya', }, { name: 'Cho Oyu', height: 8188, system: 'Mahalangur Himalaya', }];