【发布时间】:2015-07-14 17:59:15
【问题描述】:
我正在使用 iTextSharp 将图像从我的网站流式传输到 PDF 文档中。具体来说,我使用的是 Image.GetInstance(stream) 方法,在下面的代码 sn-p 中加粗。此方法接受 PNG 内存流并将其添加到 PDF 文档中而不会出错,但似乎不接受 EMF 内存流。当我使用 EMF 内存流执行以下代码时,出现以下异常:“字节数组不是可识别的图像格式。”
这是我的 C# 代码:
using iTextSharp.text;
using iTextSharp.text.pdf;
using IMG = iTextSharp.text.Image;
...
ImageType imgType = ImageType.EMF; //ImageType.PNG;
using (System.IO.MemoryStream ms = gm.CreateImageStream(null, imgType))
{
ms.Position = 0;
IMG emf = IMG.GetInstance(ms);
doc1.Add(emf);
}
我是否需要以某种方式修改内存流才能通过 GetInstance 方法成功获取 EMF 格式的流?
谢谢。
【问题讨论】:
-
您是否尝试过here 的建议,即从字节数组而不是流中创建它?另外,according to this very old thread,可能不支持 EMF,只支持 WMF。
标签: c# itextsharp itext