1

我正在尝试生成包含由 HighCharts 生成的数据表和图表的 PDF 文档服务器端。我正在使用highchart-serverside-exportiText

我已经能够生成文档,但图表图像在打印时呈颗粒状。据我了解,iText 在插入图像时默认使用 72dpi。获得更高保真度图像的正确方法是从更大的图像开始,然后使用其中一种缩放功能(例如scalePercent().

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

我查看了Highcharts API,但看不到让 Highcharts 扩大内容而不是添加更多细节的方法。我怎样才能让它工作?

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

4

2 回答 2

5

尝试这个

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

链接到 JsFiddle

于 2013-07-04T11:54:00.550 回答
1

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

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

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

放大导出的图像/ pdf | Highcharts & Highstock @ jsFiddle

于 2012-09-22T21:53:49.600 回答