MigraDoc在应用程序目录中提供插入图像。 实施例:在MigraDoc表中插入“http”图片
Section section = document.AddSection();
section.AddImage("../../SomeImage.png");
当我在.AddImage参数添加http图像路径它显示“图像未找到”。在PDF中。
有什么办法可以在MigraDoc生成的PDF中插入http图像吗?
MigraDoc在应用程序目录中提供插入图像。 实施例:在MigraDoc表中插入“http”图片
Section section = document.AddSection();
section.AddImage("../../SomeImage.png");
当我在.AddImage参数添加http图像路径它显示“图像未找到”。在PDF中。
有什么办法可以在MigraDoc生成的PDF中插入http图像吗?
不,您不能通过HTTP参考插入图像。
将图像下载到本地文件夹并将此本地副本添加到MigraDoc文档。
使用PDFsharp时,不需要本地文件;一个Image对象可以用来代替。对于XImage.FromURI
代码可以在这里找到(对于PDFsharp):
http://forum.pdfsharp.de/viewtopic.php?p=4851&sid=4898a4ff0b0437cfdbb80bc48bdfed36#p4851
代码,允许MigraDoc不要使用动态影像(没有临时本地文件需要)可以在这里找到:
http://forum.pdfsharp.de/viewtopic.php?p=4123&sid=4898a4ff0b0437cfdbb80bc48bdfed36#p4123
更新:
使用PDFsharp 1.50 beta 2及更高版本,可轻松添加内存中的图像(byte []等)。如果你只有一个HTTP引用,你仍然需要自己下载图片。但您不再需要临时文件或修补的MigraDoc版本。
More information on the MigraDoc site
诀窍很简单:你的图像转换为一个字符串,并通过作为与“BASE64:”文件名前缀。
static string MigraDocFilenameFromByteArray(byte[] image)
{
return "base64:" +
Convert.ToBase64String(image);
}