我正在使用highcharts-export-server导出图表并将其发送到PDF格式的电子邮件
虽然我尝试在本地导出该文件,但工作正常,但是在实时服务器上,当我尝试导出所有图表时,数据标签消失了。


  这是从实时服务器中导出的映像。



node.js - 在实时服务器上的highcharts-export-server中无法获取数据标签-LMLPHP


  这是本地导出的图像


node.js - 在实时服务器上的highcharts-export-server中无法获取数据标签-LMLPHP


  这是我的代码


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,
        })
    });
})
}

最佳答案

删除node_module并再次重新安装。
如果没有安装libfontconfig,则安装'sudo apt-get install libfontconfig'

关于node.js - 在实时服务器上的highcharts-export-server中无法获取数据标签,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51491090/

10-09 21:29