Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用“打印”实现打印;将表格放在一页上;使用javascript_Javascript_Jquery_Css_Excel_Printing - Fatal编程技术网

如何使用“打印”实现打印;将表格放在一页上;使用javascript

如何使用“打印”实现打印;将表格放在一页上;使用javascript,javascript,jquery,css,excel,printing,Javascript,Jquery,Css,Excel,Printing,我尝试在一页内打印数据表。它有200或300行。它应该像联机MS Excel打印选项一样以单页打印->在一页上调整工作表。我怎样才能做到这一点呢 我试过下面的代码 var tble = document.createElement("table"); tble.id = "tble"; document.body.appendChild(tble); var trtd = "<tr><td>123</td></tr>" for (var i = 0

我尝试在一页内打印数据表。它有200或300行。它应该像联机MS Excel打印选项一样以单页打印->在一页上调整工作表。我怎样才能做到这一点呢

我试过下面的代码

var tble = document.createElement("table");
tble.id = "tble";
document.body.appendChild(tble);
var trtd = "<tr><td>123</td></tr>"
for (var i = 0; i < 300; i++) {
  $("#tble").append(trtd);
}
var divs = "<div id='printing'></div>";
$("#printing").append($("#tble"));

$("#printData").click(function() {
  var printToDiv = $("#printing");
  var newWin = window.open("", "print-window");
  newWin.document.open();
  newWin.document.write('<html><body onload="window.print()">' + printToDiv.innerHTML + '</body></html>');
  newWin.document.close();
  setTimeout(function() {
    newWin.close();
  }, 10);
})
var-tble=document.createElement(“表”);
tble.id=“tble”;
文件.正文.附件(tble);
var trtd=“123”
对于(变量i=0;i<300;i++){
$(“#tble”)。追加(trtd);
}
var divs=“”;
$(“#打印”)。追加($(#tble”);
$(“#打印数据”)。单击(函数(){
var printToDiv=$(“#打印”);
var newWin=window.open(“,“打印窗口”);
newWin.document.open();
newWin.document.write(“”+printToDiv.innerHTML+“”);
newWin.document.close();
setTimeout(函数(){
newWin.close();
}, 10);
})

印刷内容应在一页上。有什么选择吗?

JavaSript代码除了启动打印过程外,对打印过程没有任何控制权。从那时起,它是特定于浏览器的,不受代码的控制


我能看到的唯一方法是询问用户使用的页面大小和边距(因为浏览器不会告诉您),然后确保您的表格在呈现时适合边距内的区域(例如,通过减小/放大字体大小等)。毕竟,您可以通过jQuery的
outerWidth
outerHeight
函数获得以像素为单位的渲染大小,通常您可以假设为96dpi(因此像素/96=英寸)。

我会搜索类似,谷歌在那里发现了一些有趣的Stackoverflow帖子。也许你可以用你的数据生成一个PDF或Excel文件,让用户自己打印出来?