• highcharts的.net本地导出环境安装记录


    由于项目中highcharts需要内网使用,需要本地搭建导出的环境。下面简述下步骤:

    1.下载开源的.net导出文件:https://github.com/imclem/Highcharts-export-module-asp.net

    2.新建虚拟站点,IIS下配置如图:(注意端口设定:80端口已经用了,就设定为8081;应用池的设定,仅支持framework3.5以上版本)

    20130803162202

    3.拷贝下载的压缩包中的Exporting_Demo_website文件夹下的文件到新站点的目录下。删除目录下的web.config文件,重命名web-dotNET4.0.config为web.config。(不需要Exporting_Demo_website这个文件夹,文件放在根目录下即可,否则后面的操作全部要加上这个路径)

    4.打开站点http://localhost:8081/访问,内置一个Demo,选择导出,看是否正常。正常即完成。不正常就需要修正了。

    访问Demo时出现500错误?

    打开IIS管理器,选择“ISAPI和CGI限制”,里面找到我们上面设置的framework的版本,设定为允许。

    关于未选中的数据线导出时依然显示的BUG

    BUG描述及修复,请参见http://www.cnblogs.com/youngerliu/p/3177252.html

    需要修改的地方是在Exporter.cs的CreateSvgDocument方法

    private SvgDocument CreateSvgDocument()
        {
          SvgDocument svgDoc;
    
          XmlDocument xml = new XmlDocument();
          xml.LoadXml(this.Svg);
          XmlNodeList nodeListAllg = xml.GetElementsByTagName("g");
          Dictionary<int, XmlNode[,]> dic = new Dictionary<int, XmlNode[,]>();
          int i = 0;
          foreach (XmlNode xNod in nodeListAllg)
          {
              i++;
              XmlNode xmlvisibility = xNod.Attributes.GetNamedItem("class");
              if (xmlvisibility != null && xmlvisibility.Value == "highcharts-series-group")
              {
                  foreach (XmlNode xNod2 in xNod.ChildNodes)
                  {
                      i++;
                      XmlNode xmlvisibility1 = xNod2.Attributes.GetNamedItem("visibility");
                      if (xmlvisibility1 != null && xmlvisibility1.Value == "hidden")
                      {
                          XmlNode[,] xmln = new XmlNode[1, 2];
                          xmln[0, 0] = xNod;
                          xmln[0, 1] = xNod2;
                          dic.Add(i, xmln);
                      }
                  }
              }
              else if (xmlvisibility != null && xmlvisibility.Value == "highcharts-tooltip")
              {
                  XmlNode[,] xmln = new XmlNode[1, 2];
                  xmln[0, 0] = xml.FirstChild;
                  xmln[0, 1] = xNod;
                  dic.Add(i, xmln);
              }
          }
          foreach (KeyValuePair<int, XmlNode[,]> a in dic)
          {
              a.Value[0, 0].RemoveChild(a.Value[0, 1]);
          }
    
          this.Svg = xml.OuterXml;
    
          // Create a MemoryStream from SVG string.
          using (MemoryStream streamSvg = new MemoryStream(
            Encoding.UTF8.GetBytes(this.Svg)))
          {
            // Create and return SvgDocument from stream.
            svgDoc = SvgDocument.Open(streamSvg);
          }
    
          // Scale SVG document to requested width.
          svgDoc.Transforms = new SvgTransformCollection();
          float scalar = (float)this.Width / (float)svgDoc.Width;
          svgDoc.Transforms.Add(new SvgScale(scalar, scalar));
          svgDoc.Width = new SvgUnit(svgDoc.Width.Type, svgDoc.Width * scalar);
          svgDoc.Height = new SvgUnit(svgDoc.Height.Type, svgDoc.Height * scalar);
    
          return svgDoc;
        }
    

      

    注意:复制上面博客中的代码时,需要在项目中引入相关的文件,如图

    20130803163428

    这里我已经生成,没有环境的朋友可以直接到这里下载:http://pan.baidu.com/share/link?shareid=1300438122&uk=352812205(下载后直接把Bin目录下的4个文件覆盖掉项目Bin文件夹下的4个文件)

    生成时出现“不是标准win32文件”

    菜单栏—工具—导入与导出设置—重置所有设置—下一步。完成后重新生成,依然无效,只有重启电脑(我是重启电脑解决的)。

    外部调用地址

    在你的文档里面增加设定,width为必须项,否则报错

    exporting: {
                    url: 'http://localhost:8081/HighchartsExport.axd',
                    filename: 'MyChartX',
                     1200//必选参数
                }
    

      

    win2003 server配置时出现500错误

    注意开启IIS的写权限,因为highcharts的导出代码可能较大,所以导出使用的是上传文件流的方式,具体可参考exporting.src.js源码。另外在正式服中配置时特别注意端口冲突及framework的版本问题(如果选择4.0以上版本,需要修改web.config,上面有提到),建议先找个win2003的测试服试试!

    本文固定链接: http://jucelin.com/highcharts_esport_net.html | Jucelin

  • 相关阅读:
    升级cenos7.5到指定版本
    安装记录3
    import http.server
    理解,要用最简单的语言,去表达最复杂的观点。
    操作系统实战 45 讲
    安装记录4
    3D
    Fedora 35 server安装docker
    升级linux内核到指定版本
    Tengine
  • 原文地址:https://www.cnblogs.com/ziye/p/3459289.html
Copyright © 2020-2023  润新知