首页 新闻 会员 周边 捐助

微搭低代码打印页面不显示图片

0
悬赏园豆:5 [待解决问题]

使用腾讯的微搭低代码平台弄了一个页面,想要打印出来图片,但在打印预览页总是显示不出来,换了浏览器也不行,有大佬知道是什么原因吗

下面是代码:
/*

  • 可通过 $page.handler.xxx 访问这里定义的方法

  • 注意:该方法仅在所属的页面有效

  • 如果需要 async-await,请修改成 export default async function() {}

*/

export default async function({event, data}) {

console.log('打印', event, data)

/**把内容转换成图片格式进行打印 */

await new Promise((resolve,reject) => {

const s = document.createElement('script')

s.src= 'https://html2canvas.hertzen.com/dist/html2canvas.min.js'

s.onload = resolve

s.onerror = reject

document.head.appendChild(s)

})

const element = document.querySelector(#container3) // 选择到要打印的组件id或者class,转换为canvas,其中 idXXX 表示要打印的元素

// const hide_element = element.querySelector(#button1);// 选择要隐藏的元素,其中 idXXX 表示要隐藏的元素

// hide_element.style.visibility = 'hidden'

$w.page.dataset.state.show = false;

if(!element) {

throw new Error('要打印的内容不存在')

}

const { width, height } = element.getBoundingClientRect()

const canvas = await window.html2canvas(element)

// 打印

let winPrint = window.open('', '', left=0,top=0,width=${width},height=${height},toolbar=0,scrollbars=0,status=0);

winPrint.document.body.appendChild(canvas);

winPrint.document.close();

winPrint.focus();

winPrint.print();

//hide_element.style.visibility = 'visible';// 恢复被隐藏的元素 ,其中 idXXX 表示要隐藏的元素

$w.page.dataset.state.show = true;

winPrint.close();

}

qiannangao的主页 qiannangao | 初学一级 | 园豆:3
提问于:2023-10-20 13:01
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册