我正在尝试使用PhantomJS截屏HTML文件。
当我使用phantomjs my.js
运行此捕获时,PNG如图中所示具有图块的边距。
有什么办法可以删除所有边距,以便只看到图形?
var page = require('webpage').create();
page.open('/my/path/my.html', function() {
page.viewportSize = { width: 700, height: 550 };
page.clipRect = { top: 0, left: 0, width: 700, height: 550 };
page.paperSize = { width: 700, height: 550, orientation: 'portrait', margin: '0px' }
page.render('my.png');
phantom.exit();
});
这是我的带有Google图表的html文件。
<html>
<head>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Task', 'Hours per Day'],
['Work', 11],
['Eat', 2],
['Commute', 2],
['Watch TV', 2],
['Sleep', 7]
]);
var options = {
title: 'My Daily Activities',
pieHole: 0.4,
};
var chart = new google.visualization.PieChart(document.getElementById('donutchart'));
chart.draw(data, options);
}
</script>
</head>
<body>
<div id="donutchart" style="width: 900px; height: 500px;"></div>
</body>
</html>
最佳答案
当前,您的甜甜圈图具有白色的background-color
,而页面的body
元素具有透明的背景:
body {
background-color: transparent;
margin: 8px;
}
来源:您的网页。
注意与您的
body
元素关联的边距。它对应于您在屏幕快照中看到的顶部和左侧“图块的空白”。在网络上,图块的空白代表透明性。要解决此问题,应将
background-color
设置为white
。将以下内容添加到您的CSS中:
body {
background-color: white;
}
或者,在
</head>
上方添加以下行:<style>body { background-color: white; }</style>