将 Highcharts 图表保存到磁盘上的文件

问题描述 投票:0回答:1

我使用以下 C# 代码来生成图表,然后将其合并到 HTML 屏幕中。我想同时将图表(最好以 svg 格式)保存到磁盘,以便稍后合并到 pdf 文件中。这些示例似乎都在 javascript 中发生了这种情况。请问我该如何在这个 C# 代码中做到这一点。

@using Highsoft.Web.Mvc.Charts
@using Highsoft.Web.Mvc.Charts.Rendering
@using System.Collections 



@{
    List<string> values = new List<string>();
    Model.columnSeries.ForEach(u => values.Add(u.Name.ToString()));

    var chartOptions = new Highcharts
    {
        Boost =
        {
            UseGPUTranslations = true
        },
        Title = new Title
        {
             Text = @Model.Title
        },
        Subtitle = new Subtitle
        {
              Text = @Model.SubTitle
        },
        XAxis = new List<XAxis>
        {
            new XAxis
            {
                Categories = values,
                AllowDecimals = false,
                Labels = new XAxisLabels
            {
                Rotation = -45
                //Formatter = "formatXAxis"
            }
        }
    },

        YAxis = new List<YAxis>
        {   new YAxis
            {
                Title = new YAxisTitle
                {
                    Text = @Model.YaxisLabel
                },
                Labels = new YAxisLabels
                {
                //Formatter = "formatYAxis"
                }
            }

        },
        Tooltip = new Tooltip
        {
            PointFormat = "{series.name}: <b>{point.y:.0f}</b>"
        },
        PlotOptions = new PlotOptions
        {
            Column = new PlotOptionsColumn
            {
            }
        },
        Series = new List<Series>
        {
            new ColumnSeries
            {
                Data = @Model.columnSeries
            }
        }
    };


    chartOptions.ID = "Services";
    var renderer = new HighchartsRenderer(chartOptions);
    //chart.exportChart();
}
@Html.Raw(renderer.RenderHtml())

并插入到 HTML(视图)中

 @await Component.InvokeAsync("ServiceChart", new {clientId = Model.ClientId, startDate = Model.StartDate, endDate = Model.EndDate})
c# highcharts export
1个回答
0
投票

从网站下载 SVG 的示例如下:https://dotnet.highcharts.com/Highcharts/Demo/Gallery?demo=LineBasic&theme=default

但是,如果您想在后端执行此操作,使用 .NET 包装器则不具备此类功能。在这种情况下,您将使用导出服务器:https://www.highcharts.com/docs/export-module/render-charts-serverside

© www.soinside.com 2019 - 2024. All rights reserved.