Javascript打印功能如何工作?我可以使用javascript创建文档并将其打印出来吗?

Mat*_*att 6 html javascript printing dom

我知道你可以使用window.print()来打印当前页面......但是我想知道的是我可以使用javascript构建一个文档以便用数据填充并打印出来吗?

就像你可以将html/xml作为javascript对象一样,你可以做类似的事情:

var name = "Matt";
var htmlDocumentToPrint = "<html><body><div style='width:300px; height:20px; background-color:#000; text-align:center;'>My name is " + name + "</div></body></html>";

htmlDocumentToPrint.print();
Run Code Online (Sandbox Code Playgroud)

我并不真正关心添加多少颜色 - 只想格式化文档,用数据填充它并打印出来.这可能吗?

tva*_*son 5

Print()是窗口对象上的一种方法.如果您使用javascript在窗口中创建文档,然后在该窗口对象上调用print,它应该可以工作.

<script type="text/javascript">
    var myWindow = window.open('','','width=200,height=100')
    myWindow.document.write("This is 'myWindow'")
    myWindow.print();
</script>
Run Code Online (Sandbox Code Playgroud)

w3schools.com窗口打开示例修改的示例.

  • 您还可以使用隐藏的iframe打印隐藏的文档! (2认同)