Vue Common - Object Structures - PdfCell
An object that configures export to PDF settings in a DataGrid cell.
import { Cell } from "devextreme/pdf_exporter"
The customDrawCell and customizeCell functions use this object.
App.vue
- <template>
- <div>
- <DxButton ...
- @click="exportGrid()"
- />
- <DxDataGrid ...
- :ref="dataGridRef">
- <!-- ... -->
- </DxDataGrid>
- </div>
- </template>
- <script>
- 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,
- customizeCell: function(options) {
- const { gridCell, pdfCell } = options;
- if(gridCell.rowType === 'data') {
- pdfCell.font = { size: 20 };
- }
- }
- }).then(() => {
- doc.save('Customers.pdf');
- });
- }
- }
- }
- </script>
borderWidth
Type:
Default Value: 0.5
Uses the measure units that are specified in the constructor of the jsPDFDocument object.
drawBottomBorder
Type:
App.vue
- <template>
- <div>
- <DxButton ...
- @click="exportGrid()"
- />
- <DxDataGrid ...
- :ref="dataGridRef">
- <!-- ... -->
- </DxDataGrid>
- </div>
- </template>
- <script>
- 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 { 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,
- customizeCell: function(options) {
- const { gridCell, pdfCell } = options;
- if(gridCell.rowType === 'data') {
- pdfCell.drawBottomBorder = false;
- }
- }
- }).then(() => {
- doc.save('Customers.pdf');
- });
- }
- }
- }
- </script>
drawLeftBorder
Type:
App.vue
- <template>
- <div>
- <DxButton ...
- @click="exportGrid()"
- />
- <DxDataGrid ...
- :ref="dataGridRef">
- <!-- ... -->
- </DxDataGrid>
- </div>
- </template>
- <script>
- 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 { 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,
- customizeCell: function(options) {
- const { gridCell, pdfCell } = options;
- if(gridCell.rowType === 'data') {
- pdfCell.drawLeftBorder = false;
- }
- }
- }).then(() => {
- doc.save('Customers.pdf');
- });
- }
- }
- }
- </script>
drawRightBorder
Type:
App.vue
- <template>
- <div>
- <DxButton ...
- @click="exportGrid()"
- />
- <DxDataGrid ...
- :ref="dataGridRef">
- <!-- ... -->
- </DxDataGrid>
- </div>
- </template>
- <script>
- 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 { 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,
- customizeCell: function(options) {
- const { gridCell, pdfCell } = options;
- if(gridCell.rowType === 'data') {
- pdfCell.drawRightBorder = false;
- }
- }
- }).then(() => {
- doc.save('Customers.pdf');
- });
- }
- }
- }
- </script>
drawTopBorder
Type:
App.vue
- <template>
- <div>
- <DxButton ...
- @click="exportGrid()"
- />
- <DxDataGrid ...
- :ref="dataGridRef">
- <!-- ... -->
- </DxDataGrid>
- </div>
- </template>
- <script>
- 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 { 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,
- customizeCell: function(options) {
- const { gridCell, pdfCell } = options;
- if(gridCell.rowType === 'data') {
- pdfCell.drawTopBorder = false;
- }
- }
- }).then(() => {
- doc.save('Customers.pdf');
- });
- }
- }
- }
- </script>
font
Type:
App.vue
- <template>
- <div>
- <DxButton ...
- @click="exportGrid()"
- />
- <DxDataGrid ...
- :ref="dataGridRef">
- <!-- ... -->
- </DxDataGrid>
- </div>
- </template>
- <script>
- 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 { 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,
- customizeCell: function(options) {
- const { gridCell, pdfCell } = options;
- if(gridCell.rowType === 'data') {
- pdfCell.font = { size: 20, style: 'bold', name: 'Arial' };
- }
- }
- }).then(() => {
- doc.save('Customers.pdf');
- });
- }
- }
- }
- </script>
horizontalAlign
Type:
Accepted Values: 'left' | 'center' | 'right'
The default alignment of the content depends on the dataType.
dataType | alignment |
---|---|
'number' | 'right' |
'boolean' | 'center' |
'string' | 'left' |
'date' | 'left' |
'datetime' | 'left' |
padding
Type:
Uses the measure units which are specified in the constructor of the jsPDFDocument object.
App.vue
- <template>
- <div>
- <DxButton ...
- @click="exportGrid()"
- />
- <DxDataGrid ...
- :ref="dataGridRef">
- <!-- ... -->
- </DxDataGrid>
- </div>
- </template>
- <script>
- 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 { 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,
- customizeCell: function(options) {
- const { gridCell, pdfCell } = options;
- if(gridCell.rowType === 'data') {
- pdfCell.padding = { top: 10, right: 10, bottom: 10, left: 10 };
- }
- }
- }).then(() => {
- doc.save('Customers.pdf');
- });
- }
- }
- }
- </script>
wordWrapEnabled
Type:
The default value depends on the value of the DataGrid's wordWrapEnabled property.
Feel free to share topic-related thoughts here.
If you have technical questions, please create a support ticket in the DevExpress Support Center.
Thank you for the feedback!
If you have technical questions, please create a support ticket in the DevExpress Support Center.