如何将样式DIV保存为PDF ?

How can I save a styled DIV as a PDF

本文关键字:PDF 保存 DIV 样式      更新时间:2023-09-26

嗨,有一种方法来保存一个样式的div作为PDF使用Javascript或HTML?

我有一个样式的DIV,我希望能够保存为PDF与点击一个按钮,我也希望它保持它的样式。

如何做到这一点?

感谢
    <style>
    .spOutputbox {
        margin: 5px 0 0 40px;
        padding: 10px;
        width: 378px;
        height: 568px;
        border-radius: 5px;
        font-size: 15px;
        color: #333;
        box-shadow: 0 1px 5px rgba(0,0,0,0.25);
        background: #f5f5f5;
        text-align: center;
        float: left;
    }
    .outline {
        border: 1px dotted #000;
    }
    .spOutputbox .ribbon {
        margin-top: 20px;
        width: 100%;
        height: 40px;
        border-top: 1px dotted #000;
        border-bottom: 1px dotted #000;
    }
    .spOutputbox .tableTitle {
        margin: 30px 0;
        font-size: 30px;
        font-weight: normal;
    }
    .spOutputbox .pname {
        margin: 10px 0;
        font-size: 18px;
        font-weight: normal;
    }
    </style>
    <div class="spOutputbox">
        <div class="outline">
           <div class="ribbon"></div>
           <div class="spContent">
           <div class="tableTitle">Table 1</div>
           <div class="pname">Name 1</div>
           <div class="pname">Name 2</div>
           <div class="pname">Name 3</div>
           <div class="pname">Name 4</div>
        </div>
    </div>
    <button id="makepd">generate PDF</button>

也许Html2Canvas可以帮到你:

使用这个库,您应该能够转换画布中的div,然后,使用类似示例的代码:

var imgData = canvas.toDataURL('image/jpeg');
var doc = new jsPDF('landscape');
doc.addImage(imgData, 'JPEG', 15, 40, 180, 180);
doc.save('sample-file.pdf');

另存为pdf格式

要了解更多信息,请查看这篇jsPDF文章