使用 iText 将图像数据输入到 PDF

mis*_*130 2 c# pdf itext

我的网站中有一个 ImageButton,它有一个动态源,它基本上看起来像这样:“data:image/svg+xml;base64,....”

所以我尝试使用它将图像插入到 PDF 中。这是我使用的代码

iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(new Uri(((ImageButton) FindControl(fieldKey)).ImageUrl));
Run Code Online (Sandbox Code Playgroud)

我要么收到“URI 为空”错误,要么找不到路径。

有什么想法如何解决这个问题吗?

mis*_*130 6

我怀疑有人会用谷歌搜索这个,但我想通了,所以为什么不发布一个答案。

要在 PDF 中实现数据 img 类型,请删除前缀部分,然后将其从 Base 64 转换回数组字节。

string theSource = ((ImageButton)FindControl(fieldKey)).ImageUrl.Replace("data:image/png;base64,", "");
iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(Convert.FromBase64String(theSource));
Run Code Online (Sandbox Code Playgroud)