jQuery/JS Common - Utils - pdfExporter

An object that serves as a namespace for the methods that export DevExtreme UI components to PDF.

exportDataGrid(options)

Exports grid data to a PDF file.

import { exportDataGrid } from "devextreme/pdf_exporter"
Parameters:

Export settings.

Return Value:

Promise<void> (jQuery or native)

A Promise that is resolved when the grid data is prepared for export. It is a native Promise or a jQuery.Promise when you use jQuery.

View Demo

This method requires the jsPDF v2.3.1+ library to export data and create PDF files.

If you use jQuery, declare the jsPDF CDN links within the <head> tag of the HTML markup (see an example below). If you use Angular, Vue or React, install the library with the following command:

  • npm install jspdf

You can call this method at any point in your application. In this example, this method is called in a standalone button's onClick handler:

JavaScript
HTML
  • $(function(){
  • $('#exportButton').dxButton({
  • // ...
  • onClick: function() {
  • const doc = new jsPDF();
  • DevExpress.pdfExporter.exportDataGrid({
  • jsPDFDocument: doc,
  • component: dataGrid
  • }).then(function() {
  • doc.save('Customers.pdf');
  • });
  • }
  • });
  •  
  • const dataGrid = $('#gridContainer').dxDataGrid({
  • // ...
  • }).dxDataGrid('instance');
  • });
  • <head>
  • <!-- ... -->
  • <script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.0.0/jspdf.umd.min.js"></script>
  • <!-- DevExtreme sources are referenced here -->
  • </head>

exportGantt(options)

Exports Gantt data to a PDF file.

import { exportGantt } from "devextreme/pdf_exporter"
Parameters:

Export settings.

Return Value:

Promise<any> (jQuery or native)

A Promise that is resolved after the Gantt data is exported. It is a native Promise or a jQuery.Promise when you use jQuery.

View Demo

This method requires the jsPDF v2.3.1+ library to export data and the jsPDF-AutoTable plugin to create tables in exported files.

You can call the exportGantt method at any point in your application. In the example below, this method is called in a standalone toolbar item's onClick event handler:

JavaScript
  • const ganttInstance = $('#gantt').dxGantt({
  • toolbar: {
  • items: [
  • // ...
  • {
  • widget: 'dxButton',
  • options: {
  • icon: 'exportpdf',
  • hint: 'Export to PDF',
  • stylingMode: 'text',
  • onClick() {
  • exportGantt();
  • },
  • },
  • },
  • ],
  • },
  • }).dxGantt('instance');
  •  
  • function exportGantt() {
  • DevExpress.pdfExporter.exportGantt({
  • component: ganttInstance,
  • createDocumentMethod: (args) => new jsPDF(args),
  • format: 'a4',
  • exportMode: 'all',
  • dateRange: 'visible'
  • },
  • ).then((doc) => {
  • doc.save('gantt.pdf');
  • });
  • }

The following code snippet illustrates how to process the PDF document when the export is complete:

JavaScript
  • var gantt = $("#ganttContainer").dxGantt("instance");
  • gantt.exportToPdf({
  • format: "A4",
  • landscape: true,
  • exportMode: "chart",
  • dateRange: "visible"
  • }).then(function(doc) {
  • doc.addPage();
  • // your code
  • doc.save('customDoc.pdf');
  • });

To print the exported PDF document, call the autoPrint method:

JavaScript
  • var gantt = $("#ganttContainer").dxGantt("instance");
  • gantt.exportToPdf({
  • format: "A4",
  • landscape: true,
  • exportMode: "chart",
  • dateRange: "visible"
  • }).then(function(doc) {
  • doc.autoPrint();
  • window.open(doc.output('your_url'), '_blank');
  • });