Angular Common - Utils - pdfExporter

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

exportDataGrid(options) CTP

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.

NOTE
This functionality is available as a community technology preview (CTP). Should you have any questions or suggestions prior to its official release, please create a new ticket in the DevExpress Support Center.

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

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

Installation command
app.component.html
app.component.ts
app.module.ts
  • npm install jspdf jspdf-autotable
  • <dx-button ...
  • (onClick)="exportGrid($event)">
  • </dx-button>
  •  
  • <dx-data-grid ... >
  • <!-- ... -->
  • </dx-data-grid>
  • import { Component } from '@angular/core';
  • import { exportDataGrid as exportDataGridToPdf } from 'devextreme/pdf_exporter';
  • import { jsPDF } from 'jspdf';
  • import 'jspdf-autotable';
  •  
  • @Component({
  • selector: 'app-root',
  • templateUrl: './app.component.html',
  • styleUrls: ['./app.component.css']
  • })
  • export class AppComponent {
  • @ViewChild(DxDataGridComponent, { static: false }) dataGrid: DxDataGridComponent;
  •  
  • exportGrid() {
  • const doc = new jsPDF();
  • exportDataGridToPdf({
  • jsPDFDocument: doc,
  • component: this.dataGrid.instance
  • }).then(() => {
  • doc.save('Customers.pdf');
  • })
  • }
  • }
  • import { BrowserModule } from '@angular/platform-browser';
  • import { NgModule } from '@angular/core';
  • import { AppComponent } from './app.component';
  •  
  • import { DxDataGridModule, DxButtonModule } from 'devextreme-angular';
  •  
  • @NgModule({
  • declarations: [
  • AppComponent
  • ],
  • imports: [
  • BrowserModule,
  • DxDataGridModule,
  • DxButtonModule
  • ],
  • providers: [ ],
  • bootstrap: [AppComponent]
  • })
  • export class AppModule { }

View Demo