首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pechkin HTML转PDF图像未播种为pdf格式

Pechkin HTML转PDF图像未播种为pdf格式
EN

Stack Overflow用户
提问于 2017-09-20 00:53:03
回答 1查看 960关注 0票数 2

我是工作在Asp.net(C#) .i我尝试转换html到PDF使用Pechkin,PDF转换成功..,但在我的html标签是他们的图像不显示在PDF中,请帮助我

我的html代码是

代码语言:javascript
复制
<img id="ContentPlaceHolder1_img_header" 
    src="/CompanyLogos/12_09_YYYY_07_41_48_logo.png" style="width:130px"

我的.cs页面代码是

代码语言:javascript
复制
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()));
EN

回答 1

Stack Overflow用户

发布于 2017-09-20 00:57:12

至于你的图片,你需要把它转换成base64,非常粗略的例子

代码语言:javascript
复制
var base64 = convertTobase64(myImg);

<img src=base64 />

在Asp.NET中将图像转换为base64的一个示例可以在here中找到。将图像转换为base64字符串后,将图像的源设置为base64字符串,而不是图像的URL。然后,您的图像将出现在您的PDF中。

如果你想在javascript/html中实现这一点,这很容易。

代码语言:javascript
复制
<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中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46305889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档