重申我的问题:我在 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 M
* {
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 中的不同页面。我希望此解决方案可以帮助将来遇到此问题的其他人!