我是工作在Asp.net(C#) .i我尝试转换html到PDF使用Pechkin,PDF转换成功..,但在我的html标签是他们的图像不显示在PDF中,请帮助我
我的html代码是
<img id="ContentPlaceHolder1_img_header"
src="/CompanyLogos/12_09_YYYY_07_41_48_logo.png" style="width:130px"我的.cs页面代码是
byte[] pdfContent = new SynchronizedPechkin(
new GlobalConfig())
.Convert(
new ObjectConfig()
.SetLoadImages(true)
.SetPrintBackground(true)
.SetCreateExternalLinks(true)
.SetAllowLocalContent(true),
html);
Msg.Attachments.Add(new Attachment(new MemoryStream(pdfContent), filename.ToString()));发布于 2017-09-20 00:57:12
至于你的图片,你需要把它转换成base64,非常粗略的例子
var base64 = convertTobase64(myImg);
<img src=base64 />在Asp.NET中将图像转换为base64的一个示例可以在here中找到。将图像转换为base64字符串后,将图像的源设置为base64字符串,而不是图像的URL。然后,您的图像将出现在您的PDF中。
如果你想在javascript/html中实现这一点,这很容易。
<canvas id='imgCanvas' style='display:none;'></canvas>
var dataUrl;
var myImg = new Image();
var canvas = document.getElementById('imgCanvas');
$(myImg).on('load', function(){
canvas.height = img.height;
canvas.width = img.width;
var context = canvas.getContext('2d');
context.drawImage(img, 0, 0);
dataUrl = canvas.toDataUrl('png');
});
img.src = '/CompanyLogos/12_09_YYYY_07_41_48_logo.png'然后,您只需将图像标记的源设置为dataUrl变量,它将呈现在您的PDF中。
https://stackoverflow.com/questions/46305889
复制相似问题