And I was able to roll my own embedded image conversion with some tweaking. I had to change embedded format above from "data:..., " to "data|" (substituting the colon and dropping the encodings), and then hooking PreRenderDocument and iterating through all images like the abbreviated error-checking-absent code below.
If there is an easier, more supported method, or more standardized method, please do let me know! And if you accept the "data:" feature, I am still interested - better a portable format.
Hope this helps the rest of y'all! Cheers.
---
void control_PreRenderDocument(object sender, PreRenderDocumentArgs e)
{
LoadInlineImages(e.Document);
}
void LoadInlineImages(InputHTML Document)
{
Hashtable elements = Document.ElementsByTagName;
if (elements != null)
{
ArrayList imagelist = elements["img"] as ArrayList;
if (imagelist != null)
{
foreach (IMGElementImpl image in imagelist.OfType
())
{
Bitmap graphic = GetImageByName(image.Attributes["src"].Value);
if (graphic != null)
{
image.Image = graphic;
}
}
}
}
}
Bitmap LoadDataImage(string Name)
{
string Base64 = Name.Substring(Name.IndexOf("|") + 1).TrimStart();
byte[] Data = Convert.FromBase64String(Base64);
return Image.FromStream(new MemoryStream(Data)) as Bitmap;
}