【问题标题】:Insert "http" image in MigraDoc table在 MigraDoc 表中插入“http”图像
【发布时间】:2013-09-01 12:13:02
【问题描述】:

MigraDoc 在应用程序目录中提供图像插入。 示例:

Section section = document.AddSection();    
section.AddImage("../../SomeImage.png");

当我在 .AddImage 参数中添加 http 图像路径时,它显示“找不到图像”。 PDF格式。

有没有办法在 MigraDoc 生成的 PDF 中插入 http 图片?

【问题讨论】:

    标签: c# .net pdf pdfsharp migradoc


    【解决方案1】:

    不,您不能通过 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);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-14
      • 2021-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-15
      相关资源
      最近更新 更多