如何让Highcharts放大图像内容,而不是添加更多细节



我正在尝试生成PDF文档服务器端,其中包含HighCharts生成的数据表和图表。我正在使用highchart服务器端导出和iText。

我已经能够生成文档,但图表图像在打印时有颗粒感。据我所知,iText在插入图像时默认使用72dpi。获得高保真度图像的正确方法是从较大的图像开始,并使用缩放函数之一(如scalePercent())将其缩小。

通过向Highcharts传递更大的高度和宽度参数,我可以轻松地生成更大的图表图像。问题是,当你增加图表的尺寸时,内容不会按比例放大(例如标签的字体大小)。事实上,在某些地方可以获得更多的细节(例如,更多的轴刻度)。这是一个问题的原因是,当您通过iText应用按比例缩小时,这些项目会变得非常小,难以阅读。

我已经看过Highcharts API,看不出有什么方法可以让Highcharts放大内容,而不是添加更多细节。我该如何让它发挥作用?

如果我使用的方法完全错误,那么更广泛的问题是如何获得打印分辨率的服务器端Highcharts图表?我必须使用iText,但我愿意尝试其他技术来绘制图表。

尝试这个

exporting: {
sourceWidth: 1000,
sourceHeight: 400,
},

JsFiddle 链接

您可以使用exporting.width属性指定导出图像的宽度。

这不会增加div的大小或添加/删除细节或诸如此类的东西,它只会根据指定的宽度缩放生成的svg,保持纵横比。因此,还可以缩放所有内容,包括文本等。

exporting: {      
width:2000    // or scale down to 100
}    

放大导出的图像/pdf|Highcharts&高库存@jsFiddle

最新更新