我需要将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;}
这是我在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');
});
演示:https://jsfiddle.net/x6yg1kbm/2/
所以我的问题是:如何在pdf导出期间不显示此边框?
答案 0 :(得分:0)
仅需删除.white-bg {背景:#ffffff; } CSS属性
答案 1 :(得分:-1)
在CSS文件中,删除所有边距和填充,这默认情况下会导致文档带有边框。
* {
margin: 0;
padding: 0;
}