首页 > 解决方案 > 我正在尝试在使用 javascript 打印页面时根据可滚动的屏幕宽度来缩放页面

问题描述

有没有更好的办法?我有一个在线工具,其中包含要打印的可变宽度表格...我想打印整个可滚动区域。当javascript检测到媒体被打印时的方法然后在主体上添加一个比例变换以使其适合......缩放的数量是一个常数(我通过反复试验发明)除以可滚动宽度......这可以改进吗之上?

function myFunction(x) {


  var scale = 800  / document.body.scrollWidth;
  
  console.log(scale);

  if (x.matches) { // If media query matches
    document.body.style.transform  = "scale("+scale+")";
    //document.body.style.backgroundColor = "yellow";

  } else {
    document.body.style.transform  = "scale(1)";
    //document.body.style.backgroundColor = "pink";
  }
}

var x = window.matchMedia("print")
myFunction(x) // Call listener function at run time
x.addListener(myFunction) // Attach listener function on state changes

标签: javascriptprinting

解决方案


推荐阅读