如何使用 MigraDoc 在 PDF 中添加流(无文件)图像?
How can I add stream (file less) image in PDF using MigraDoc?
当我使用以下代码时,PDF 中没有显示图像。
这是我的代码
private static void RenderHtmlToImage(string html, Paragraph paragraph, int pageCnt)
{
System.Drawing.Image image = HtmlRender.RenderToImageGdiPlus(html);
//var tempImagefile = tempImagePath + "\tempImage_" + pageCnt + ".png";
//image.Save(tempImagefile, ImageFormat.Png);
//paragraph.AddImage(tempImagefile);
byte[] imageArray = imageToByteArray(image);
string imageFilename = "base64:" + Convert.ToBase64String(imageArray);
paragraph.AddImage(imageFilename);
}
public static byte[] imageToByteArray(System.Drawing.Image imageIn)
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms, ImageFormat.Png);
return ms.ToArray();
}
当我将图像保存在本地文件夹中时,它工作得很好。
我也遵循了这个 link http://www.pdfsharp.net/wiki/MigraDoc_FilelessImages.ashx 但它对我不起作用。
来自链接站点的代码工作正常。
确保您使用的是最新版本(截至目前为 1.50 RC2)。 1.32 或更高版本不支持无文件图像。
当我使用以下代码时,PDF 中没有显示图像。
这是我的代码
private static void RenderHtmlToImage(string html, Paragraph paragraph, int pageCnt)
{
System.Drawing.Image image = HtmlRender.RenderToImageGdiPlus(html);
//var tempImagefile = tempImagePath + "\tempImage_" + pageCnt + ".png";
//image.Save(tempImagefile, ImageFormat.Png);
//paragraph.AddImage(tempImagefile);
byte[] imageArray = imageToByteArray(image);
string imageFilename = "base64:" + Convert.ToBase64String(imageArray);
paragraph.AddImage(imageFilename);
}
public static byte[] imageToByteArray(System.Drawing.Image imageIn)
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms, ImageFormat.Png);
return ms.ToArray();
}
当我将图像保存在本地文件夹中时,它工作得很好。
我也遵循了这个 link http://www.pdfsharp.net/wiki/MigraDoc_FilelessImages.ashx 但它对我不起作用。
来自链接站点的代码工作正常。
确保您使用的是最新版本(截至目前为 1.50 RC2)。 1.32 或更高版本不支持无文件图像。