javascript - 如何使用 Javascript 将 HTML/CSS 转换为 PDF?

标签 javascript html css pdf canvas

我查看了 jsPDF,但该插件在导出的 PDF 中去除了 CSS。我也看过 html2canvas,但它截取了当前窗口的屏幕截图。我的 HTML 内容对用户是隐藏的,我正在寻找一种可以从 HTML block 动态创建 PDF 的解决方案。有什么建议吗?

编辑: 我刚刚尝试为 jsPDF 创建 html2canvas,但我得到一个空的 pdf 文档。有人可以告诉我为什么吗? http://jsfiddle.net/5ud8jkvf/6320/

$('.download').on('click', function(){
    html2canvas($('.print'), {
    onrendered: function(canvas) {
        $('#canvas').replaceWith(canvas);
    },
    //width: 200,
    //height: 200
    });
    setTimeout(function(){
        var doc = new jsPDF();
        var specialElementHandlers = {
      '#editor': function (element, renderer) {
          return true;
      }
        };

    doc.fromHTML($('canvas').html(), 15, 15, {
        'width': '200',
            'elementHandlers': specialElementHandlers
    });
    doc.save('sample-file.pdf');

    }, 500);
});

最佳答案

你能不能像下面这样使用 html2canvas,你的 html 内容被隐藏应该没关系,你应该能够像这样访问它:

var pdf = new jsPDF('p', 'pt', 'letter');
pdf.addHTML($('#hiddenElement').html(), function () {
    pdf.save('Test.pdf');
});

关于javascript - 如何使用 Javascript 将 HTML/CSS 转换为 PDF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39519216/

相关文章:

javascript - 更改输入元素父元素的样式

页面刷新后 JQuery 验证不起作用 (Jquery Mobile)

javascript - 渲染基本的 div 元素 Backbone View

javascript - 使用 javascript 删除尾随逗号时出错

javascript - 如何从客户端(通过javascript)获取由asp.net ajax修改的文本框的值?

html - div 中的背景视频完全响应

javascript - 单击循环后如何更改颜色?

javascript - 在 JavaScript 中用新值替换 this()

javascript - 无法获取输入字段 JS 的值

html - 单选按钮在 IE 和 Firefox 中显示有额外的轮廓