4

我正在编写一个用于可视化测量数据的软件。为此,我使用 System.Windows.Forms.DataVisualization.Charting.Chart 并且我知道我可以通过 chartObj.SaveImage 获取显示的图像以将其存储到文件中。

我的软件应该有一个 PDF 导出,其中应该包含图片。为此,我正在使用 iTextSharp。同样,我确实知道如何通过 iTextSharp.text.Image.GetInstance 将存储在文件中的图片放入 PDF 中。

所以现在我可以拍摄图表的照片,将其放入文件(例如 .jpg 文件)并再次加载此文件以将其放入我的 PDF 中。现在我正在寻找一个很好的解决方案,将图片放入 PDF 而不将其存储到文件中,可能通过 Stream 或类似的东西。我已经尝试了一段时间,但直到现在我都没有成功。我想到了类似的东西

Stream imageStream = image of chartObj;
iTextSharp.text.Image picture = iTextSharp.text.Image.GetInstance(imageStream);

据我了解,我未能将 chartObj 中的图片放入 Stream 而不是文件中。如果我有这个,我想我可以通过 iTextSharp.text.Image.GetInstance 加载流。

有没有人可以提供一些帮助?猜猜这并不难,但我是 C# 和 iText 的新手,所以我有点卡在这里。

提前感谢您对此的每一个想法!

安娜

4

1 回答 1

6

SaveImage 到 MemoryStream:

using (var chartimage = new MemoryStream())
  {
    chart.SaveImage(chartimage, ChartImageFormat.Png);
    return chartimage.GetBuffer();
  }

来自: Microsoft Chart Controls to PDF with iTextSharp and ASP.NET MVC

于 2012-09-25T16:57:53.047 回答