美文网首页
使用JS打印问题汇总

使用JS打印问题汇总

作者: RoyChina | 来源:发表于2019-05-24 14:16 被阅读0次
页面内打印任意元素(最优解:使用生成Iframe的方式)
const frame = document.createElement("iframe");
// add css to adapt to pdf size
const doc = new Blob(
  [
    `<html><body style="margin:0px;padding:0px;height:1160px;width:820px;display:flex;align-items:center;justify-content:center;"><img src="${
      dataUrl
    }"></body></html>`,
  ],
  {
    type: "text/html",
  }
);
frame.onload = () => {
  if (frame.contentWindow && frame.contentWindow.print) {
    frame.contentWindow.print();
    frame.remove();
  } else {
    showToast($.t("admin.operationFailed"));
  }
};
frame.src = URL.createObjectURL(doc); // 这里创建同域资源防止跨域无法操作iframe
document.body.appendChild(frame);

页面大小

-PDF文件对应的HTML页面的宽度为【820px】。
-一页PDF文件对应的HTML页面的高度为【1160px】,多页类推。
-记得要将【body】元素的外边距【margin】清零。

相关文章

网友评论

      本文标题:使用JS打印问题汇总

      本文链接:https://www.haomeiwen.com/subject/gupgzqtx.html