data can be fit into 1 page, 2pages. maybe Fit Horizontally or Vertically

I want to extract data into PDF from Pivot and print in 1 page only or Max 2. pages. current set-up is like this:

it is only show small part of data in one page, it is looks like strang. how to set this ?



1 Reply

SP Sastha Prathap Selvamoorthy Syncfusion Team May 12, 2022 01:30 PM UTC

Hi Jiang,


Thanks for contacting Syncfusion support.


To export the pivot table data to PDF from Pivot in single page, please refer to the following code example and reference sample to customize column width while pdf export using pivot table component instance.


let pivotObjPivotView = new PivotView({

    . . .

    dataBound: function() {

        if (isInit) {

          isInit = false;

          pivotObj.grid.pdfQueryCellInfo = pdfQueryCellInfo.bind(this);

        }

      }

});

pivotObj.appendTo('#PivotView');

 

function pdfQueryCellInfo(args) {

  (pivotObj.renderModule as any).pdfRowEvent(args);

  const pdfColumns = args.cell.gridRow.pdfGrid.columns.internalColumns;

  if (pdfColumns._widthWasFitToPagereturn;

  let gridWidth = 0;

  pdfColumns.forEach((col=> {

    gridWidth += col.width;

  });

  const pageWidthPixels = 500;

  const widthRatio = Math.min(1pageWidthPixels / gridWidth);

  pdfColumns.forEach((pdfColumn=> {

    pdfColumn.width *= widthRatio;

    pdfColumn._widthWasFitToPage = true;

  });

  pdfColumns._widthWasFitToPage = true;

}


Sample: https://stackblitz.com/edit/kjjas4?file=index.html,index.ts  


Please let us know if any concern occurs.


Regards,

Sastha Prathap S.


Loader.
Up arrow icon