打印多个div及其数据并将其保存为pdf

时间:2015-12-18 07:27:22

标签: javascript jquery

我想复制/保存/打印多个包含其内容的div并将其保存在pdf文件中,使用jspdf面临着对齐和复制图像的问题。

可以打印div的任何建议并将其保存在pdf文件中吗?

<script type="text/javascript">

    function PrintElem(elem)
    {
        Popup($(elem).html());
        //alert($(elem).html());
    }

    function Popup(data) 
    {
        var mywindow = window.open('', 'my div', 'height=400,width=600');
        mywindow.document.write('<html><head><title>my div</title>');
        /*optional stylesheet*/ //mywindow.document.write('<link rel="stylesheet" href="main.css" type="text/css" />');
        mywindow.document.write('</head><body >');
        mywindow.document.write(data);
        mywindow.document.write('</body></html>');

        mywindow.document.close(); // necessary for IE >= 10
      //  mywindow.focus(); // necessary for IE >= 10

        mywindow.print();
        //mywindow.close();

        return true;
    }

</script>

上面的代码保存了xps扩展中的细节,在此之前我想将详细信息记录到pdf文件中?它需要像一般的pdf下载

请提出任何建议,如何将可打印数据保存为pdf?

1 个答案:

答案 0 :(得分:0)

去看看jsPDF。这将为您提供创建pdf的支持。

你可以像这样创建一个pdf HTML:

<div id="content">
     <h3>Hello, this is a H3 tag</h3>

    <p>a pararaph</p>
</div>
<div id="editor"></div>
<button id="cmd">generate PDF</button>

JavaScript的:

var doc = new jsPDF();
var specialElementHandlers = {
    '#editor': function (element, renderer) {
        return true;
    }
};

$('#cmd').click(function () {
    doc.fromHTML($('#content').html(), 15, 15, {
        'width': 170,
            'elementHandlers': specialElementHandlers
    });
    doc.save('sample-file.pdf');
});

修改 另外看一下html2canvas,还有一个教程here。 据我所知,这应该采取某种当前DOM的截图。也许这会有所帮助