MigraDoc在应用程序目录中时提供图像插入。例子:
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版本。
有关MigraDoc网站的更多信息
诀窍很简单:将图像转换为字符串,然后将其作为带有“ base64:”前缀的文件名传递。
static string MigraDocFilenameFromByteArray(byte[] image)
{
return "base64:" +
Convert.ToBase64String(image);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句