【问题标题】:how to take a print of server side response file on click of button?如何在单击按钮时打印服务器端响应文件?
【发布时间】:2021-05-09 13:32:14
【问题描述】:

我创建了一个带有 react 和 material ui 的网页。在网页上我定义了打印图标。我必须在单击打印图标时打印文件。从后端获取文件作为响应。我不知道如何打印文件? 下面是打印图标点击的功能代码

const printFiles = (email:any,data:any) => {
    var request = new Request('http://localhost:3030/node/express/companyfiles/download/' + email + '/', {
        method:'GET',
        headers: new Headers({ 'Content-Type': 'application/zip',}),
       })
fetch(request)
 .then(response => ( response.json() ))
    
 .then(data)
   console.log(data)
 }

【问题讨论】:

    标签: node.js reactjs material-ui


    【解决方案1】:

    JavaScript 没有任何与输出设备交互的方法,这意味着您不能使用纯 JS 进行打印。但是,您可以在 Printjs 使用像 Print.js 这样的库。

    这样安装

    npm install print-js --save

    像这样将它导入到您的组件中

    import printJS from 'print-js'

    然后将您需要打印的文件/数据传递给它

    printJS('docs/PrintJS.pdf')

    你的情况

        var request = new Request('http://localhost:3030/node/express/companyfiles/download/' + email + '/', {
            method:'GET',
            headers: new Headers({ 'Content-Type': 'application/zip',}),
           })
    fetch(request)
     .then(response => ( response.json() ))
        
     .then(data)
       printJS(data)
     }
    

    【讨论】:

      最近更新 更多