使用NodeJs,我尝试用Grapecity库编写一个小API。在我的项目中,我安装了以下库:
当我试图在一个工作簿实例上调用savePDF()时,我有一个错误: savePDF()不是一个函数。这里我的代码:
GC.Spread.Sheets.LicenseKey = "myKey";
SJSExcel.LicenseKey = "myKey";
var wb = new GC.Spread.Sheets.Workbook();
var invoice = JSON.parse(fs.readFileSync("./invoice_data/invoice_example.json"));
wb.fromJSON(invoice);
wb.savePDF(function (blob) {
var fileName = 'download';
saveAs(blob, fileName + '.pdf');
},
function (error) {
console.log(error);
}
});怎么了?
提前谢谢。
发布于 2022-01-18 16:23:58
我是GrapeCity技术参与团队的一员。我想告诉大家,NodeJS环境不能支持SpreadJS的PDF导出。
原因是SpreadJS的PDF导出特性对DOM对象有很深的依赖性。当将SpreadJS导出到PDF时,它将图形上下文从画布更改为PDF上下文。这需要遍历所有呈现逻辑,并请求大量DOM元素计算。NodeJS环境使用无法提供所需的深度依赖的模拟jsDom,因此,NodeJS环境无法支持SpreadJS导出PDF。
如果您有任何问题,请随时与SpreadJS团队联系:提交一张票
最佳,麦肯齐·阿尔比茨在GrapeCity的技术参与工程师
https://stackoverflow.com/questions/69376760
复制相似问题