Vue 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.

Module: 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.vue
  • npm install jspdf jspdf-autotable
  • <template>
  • <div>
  • <DxButton ...
  • @click="exportGrid()"
  • />
  •  
  • <DxDataGrid ...
  • :ref="dataGridRef">
  • <!-- ... -->
  • </DxDataGrid>
  • </div>
  • </template>
  •  
  • <script>
  • import 'devextreme/dist/css/dx.common.css';
  • import 'devextreme/dist/css/dx.light.css';
  •  
  • import DxDataGrid from 'devextreme-vue/data-grid';
  • import DxButton from 'devextreme-vue/button';
  • import { jsPDF } from 'jspdf';
  • import 'jspdf-autotable';
  • import { exportDataGrid as exportDataGridToPdf } from 'devextreme/pdf_exporter';
  •  
  • const dataGridRef = 'dataGrid';
  •  
  • export default {
  • components: {
  • DxDataGrid,
  • DxButton
  • },
  • data() {
  • return {
  • dataGridRef
  • };
  • },
  • computed: {
  • dataGrid: function() {
  • return this.$refs[dataGridRef].instance;
  • }
  • },
  • methods: {
  • exportGrid() {
  • const doc = new jsPDF();
  • exportDataGridToPdf({
  • jsPDFDocument: doc,
  • component: this.dataGrid
  • }).then(() => {
  • doc.save('Customers.pdf');
  • });
  • }
  • }
  • }
  • </script>

View Demo