【发布时间】:2018-07-24 05:30:59
【问题描述】:
- 我正在使用 highcharts-export-server 导出图表并将其以 PDF 格式发送到电子邮件
- 虽然我试图在本地导出它工作正常,但在实时服务器上,当我试图导出所有 图表数据标签消失。
这是从实时服务器导出的图像。
这是在本地导出的图像。
这是我的代码
exports.getPieChartImg = (seriesData, xOrLength, innersize, showLegend, width, height) => {
var chartOpts = {
chart: {
type: 'pie',
width: width,
height: height,
},
plotOptions: {
pie: {
innerSize: innersize || 80,
depth: 25,
allowPointSelect: true,
dataLabels: {
enabled: false,
format: '<b>{point.name}</b>: {point.percentage:.2f} %'
},
showInLegend: showLegend || false,
},
series: {
stacking: 'normal',
dataLabels: {
enabled: true,
color: '#6f6f6f',
format: '{point.percentage:.2f}',
crop: false,
overflow: "none",
},
pointWidth: 30,
}
},
legend: {
labelFormat: '<b>{name}</b> ({percentage:.2f})%',
useHTML: true,
},
series: [{
data: seriesData
}]
};
var exportSettings = generateExportSettings(chartOpts, 'Pie');
return generateBase64Chart(exportSettings)
}
function generateExportSettings(chartOpts, constr) {
return {
// b64: true,
instr: JSON.stringify(chartOpts),
noDownload: true,
constr,
globalOptions: {
colors: ['#3BB9DA', '#0F89A8', '#0B8F8B', '#1DB1AD', '#68E3DF', '#FFB469', '#F58B1F', '#D16900', '#FC3C3C', '#FF6666', '#FC8D8D', '#FCC0C0'],
lang: {
thousandsSep: ','
}
},
scale: false,
styledMode: false,
type: "image/png",
width: false,
};
}
function generateBase64Chart(exportSettings) {
return new Promise((resolve, reject) => {
highchartsExporter.export(exportSettings, function (err, res) {
if (err) {
return reject({
code: '1',
err,
msg: 'Error in stock chart',
exportSettings
})
}
return resolve({
code: '0',
msg: 'success',
data: 'data:image/png;base64,' + res.data,
})
});
})
}
【问题讨论】:
-
您能提供给我您的图表配置吗?很高兴看到这一点,因为它可能是由
useHTML参数引起的。 -
@daniel_s 我编辑了我的问题。
-
感谢您的编辑,但我仍然不知道您的代码发生了什么。我不太确定图表配置是否会导致类似的情况,因为导出效果很好。这是示例:jsfiddle.net/L4e7gkxz 我需要知道,
generateExportSettings和generateBase64Chart函数是什么 -
@daniel_s 我还添加了两个功能,请参阅问题。
-
感谢您的解释。我有点困惑,因为您将
highcharts-export-server称为node-export-server,但这是两个不同的包。无论如何,这个问题看起来与机器设置(操作系统)有关。我认为,是时候在node-export-serverGitHub 存储库上打开一个新问题了,你需要像这里一样准确地描述你的问题。此外,请在此处指定您的机器(本地和服务器)的设置。
标签: node.js highcharts