再次重申我的问题:我有HTML中被隐藏在没有显示的DIV的图像。我只想将这些图像打印到PDF。
对于这里感兴趣的是我的解决方案。我的HTML看起来像这样:
<div id="head">
<div id="img_group" style="display:none">
<img href="img 1" />
<img href="img 2" />
</div>
</div>
<div id="contents"></div>
我尝试了CSS的解决方案,并没有完全工作:@Radoslaw中号
* {
display: none;
}
不起作用,因为这将覆盖后面的任何display: block;
。所以我的解决办法本来是结合display:none
和visibility:hidden
以下CSS合作,只显示id="img_group
DIV:
body{
visibility:hidden;
}
#contents{
display:none;
}
#img_group{
visibility:visible;
}
但是这种解决方案的问题是,visibility:hidden
留下空白,其中div标签应该是。
这是我的解决方案。我用一些JavaScript,打印按钮,jsPDF(http://jspdf.com/):
<div id="head">
<button id="print">Print</button>
<div id="img_group" style="display:none">
<img href="data:img 1" />
<img href="data:img 2" />
</div>
</div>
<div id="contents"></div>
<script>
var doc = new jsPDF('landscape','pt', 'computer');
var i = 0;
$('#img_group').find('img').each(function(){
if(i != 0){
doc.addPage();
}
var imgData = $(this).attr('href');
doc.addImage(imgData, 'JPEG', 0, 0, 1067, 600);
i++;
});
doc.save('test.pdf');
</script>
这解决了我打印这些隐藏的图像到PDF的问题,甚至让我每幅图像打印到不同的页面的PDF。我希望这个解决方案可以帮助任何未来有这个问题的人!