gpt4 book ai didi

javascript - 在浏览器中打印图像

转载 作者:行者123 更新时间:2023-11-28 06:18:11 25 4
gpt4 key购买 nike

我正在尝试在 html 页面中打印 图像。说大约 100 张图片,每页一张。我在 html 内容中添加了图像并将其添加到 iframe 标记中并尝试打印。图像在底部被 chop ,其余部分移至下一页。我该如何克服这个问题?

我附上了一个简单的代码片段来打印一个简单的图像。请尝试运行代码片段并建议我在所有浏览器(即 ff 和 chrome)中在单个页面中打印图像的解决方案

<!DOCTYPE html>
<html moznomarginboxes mozdisallowselectionprint>

<head>

</head>

<body>

<button id="btn1" type="button" onclick="myFunction()">Print</button>
<br/>
<img src="http://i.stack.imgur.com/bFvfE.jpg" style="border:1px solid" />

</body>

<script>
function myFunction() {
//window.print();
var iframe = document.createElement('iframe');
iframe.name = "printFrame";
iframe.style.position = "absolute";
iframe.style.top = "-100000000px";
document.body.appendChild(iframe);
var frameDoc = iframe.contentWindow ? iframe.contentWindow : iframe.contentDocument.document ? iframe.contentDocument.document : iframe.contentDocument;
frameDoc.document.open();
frameDoc.document.write('<html moznomarginboxes mozdisallowselectionprint><head><style>@media print {div { page-break-inside: avoid;} @page{margin:0;} body{margin:0;}}</style></head><body><center>');
frameDoc.document.write('<div><img src="http://i.stack.imgur.com/bFvfE.jpg" style="border:1px solid;margin:0px;display:block"/></div><br/>');
frameDoc.document.write('</center></body></html>');
frameDoc.document.close();
setTimeout(function() {
window.frames["printFrame"].focus();
window.frames["printFrame"].print();
document.body.removeChild(iframe);
}, 500);
}
</script>

</html>

最佳答案

给你的文档一个高度,然后设置图像以填充父元素 (html,body) 允许的尽可能多的空间:

CSS

html, body { height: 100%; }
img { height: 100%; width: auto; }

这似乎解决了所有问题:

html, body { height: 100%; }
img { height: 100%; width: auto; display: block; }
@media print {
body { margin: 0; }
img { box-sizing: border-box; }
br, button { display: none; }
}

关于javascript - 在浏览器中打印图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35765097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com