Avoid Blank Page in Output PDF when there is Nothing to Print with Node.js via C++

Possible Usage Scenarios

When the Excel file is empty and the user saves it to PDF using Aspose.Cells for Node.js via C++, it renders a blank page in the output PDF. Sometimes, this default behavior is undesirable. Aspose.Cells provides the PdfSaveOptions.getOutputBlankPageWhenNothingToPrint() property to handle this issue. If you set it to false, then exception will occur whenever there is nothing to print in the output PDF.

Avoid Blank Page in Output PDF when there is Nothing to Print

The following sample code creates an empty workbook and then saves it as PDF after setting the PdfSaveOptions.getOutputBlankPageWhenNothingToPrint() property to false. Since there is nothing to print in the output PDF, the exception occurs as shown below.

Sample Code

const AsposeCells = require("aspose.cells.node");
const path = require("path");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");

// Create empty workbook.
const wb = new AsposeCells.Workbook();

// Create Pdf save options.
const opts = new AsposeCells.PdfSaveOptions();

// Default value of OutputBlankPageWhenNothingToPrint is true.
// Setting false means - Do not output blank page when there is nothing to print.
opts.setOutputBlankPageWhenNothingToPrint(false);

// Save workbook to Pdf format, it will throw exception because workbook has nothing to print.
const ms = new Uint8Array();

try {
// Save to Pdf format. It will throw exception.
wb.save(ms, opts);
} catch (ex) {
console.error("Exception Message: " + ex.message + "\r\n");
}

Exception

 exception was unhandled

  HResult=-2146232832

  Message=There is nothing to output/print.

  Source=Aspose.Cells

  StackTrace:

       at Aspose.Cells.Workbook.Save(String fileName, SaveOptions saveOptions)