作者:mayz 来源:Stimulsoft 浏览:Loading... 日期:2012-09-29
在Stimulsoft Reports.Net中,我们运用这个特殊类 StiHtmlImageHost 将图像转换成字符串的形式。你可以创建你自己的StiHtmlImageHost类并修改默认的设置。然后运用以下代码去调用这个类:
[C#]
StiHtmlExportService service = new StiHtmlExportService();
service.HtmlImageHost = new MyHtmlImageHost();
service.ExportHtml(report, Stream);
public class StiWebImageHost : StiHtmlImageHost
{
  public override string GetImageString(Bitmap bmp)
  {
    Guid imageGuid = Guid.NewGuid();
    MemoryStream imageStream = new MemoryStream();
    bmp.Save(imageStream, webViewer.ImageFormat);
    if (webViewer.CacheMode == StiCacheMode.Page)
    {
      webViewer.Page.Cache.Add(imageGuid.ToString(), imageStream.ToArray(), null, Cache.NoAbsoluteExpiration,
      webViewer.ServerTimeOut, System.Web.Caching.CacheItemPriority.Low, null);
    }
    else
    {
      webViewer.Page.Session.Add(imageGuid.ToString(), imageStream.ToArray());
    }
    string url = webViewer.Page.Request.Url.AbsolutePath;
    string query = webViewer.Page.Request.Url.Query;
    if (query != null && query.Length > 0)
    {
      return string.Format("{0}{1}&stimulreport_image={2}", url, query, imageGuid);
    }
    else
    {
      return string.Format("{0}?stimulreport_image={1}", url, imageGuid);
    }
  }
private StiWebViewer webViewer = null;
  public StiWebImageHost(StiWebViewer webViewer) : base (null)
  {
    this.webViewer = webViewer;
  }
}
Tag标签:.Net报表 Stimulsoft Reports.Net