如何删除画布周围的灰色边框

时间:2020-03-12 15:28:01

标签: javascript html css html2canvas pdfjs

我需要将html的某些片段导出到pdf文件。 我用于html2canvas和pdfjs。 但是在此片段周围添加了一些灰色边框

这是测试html片段:

<div class="col-md-12 white-bg box-shadow margb0" id="test">
     <div class="col-md-12 paddl0 paddr0 margt0 margb10">
          <h4 class="paddb10 margt20 margb10 border-bottom-sc">
              Some information out here
          </h4>
     </div>
</div>

为此使用CSS(col-md-12来自bootstrap.min.css):

.white-bg { background: #ffffff; }
.margb0 {margin-bottom: 0px !important;}
.margt0 {margin-top: 0px !important;}
.margb10 {margin-bottom: 10px;}
.margt20 { margin-top: 20px;}
.paddl0 {padding-left: 0px !important;}
.paddr0 {padding-right: 0px !important;}
.paddb10 { padding-bottom: 10px;}
.border-bottom-sc {border-bottom: 1px solid #424343;}

在Chrome中,它看起来像这样: enter image description here

这是我在js中的操作方式:

var pdf = new jsPDF('p', 'pt', 'a4', true);
var content = document.getElementById('test');
html2canvas(content, { background: "white" },
                         { scrollX: 0, scrollY: 0 }).then(function (canvas) {
    var srcImg  = canvas;
    var sX      = 0;
    var sY      = 0;
    var sWidth  = 1150;
    var sHeight = 1350;
    var dX      = 25;
    var dY      = 25;
    var dWidth  = 1150;
    var dHeight = 1350;
    window.onePageCanvas = document.createElement("canvas");
    onePageCanvas.setAttribute('width', 1150);
    onePageCanvas.setAttribute('height', 1350);
    var ctx = onePageCanvas.getContext('2d');
    ctx.drawImage(srcImg, sX, sY, sWidth, sHeight, dX, dY, dWidth, dHeight);
    var canvasDataURL = onePageCanvas.toDataURL("image/png", 1.0);

    var width         = onePageCanvas.width;
    var height        = onePageCanvas.height;
    pdf.addImage(canvasDataURL, 'jpg', 0, 0, (width*.51), (height*.51));
    pdf.save('test.pdf');
});

这是此片段在文档中的外观: enter image description here

演示:https://jsfiddle.net/x6yg1kbm/2/

所以我的问题是:如何在pdf导出期间不显示此边框?

2 个答案:

答案 0 :(得分:0)

仅需删除.white-bg {背景:#ffffff; } CSS属性

答案 1 :(得分:-1)

在CSS文件中,删除所有边距和填充,这默认情况下会导致文档带有边框。

 * {
   margin: 0;
   padding: 0;
}