2025年在NW.js里面使用node-printer

在NW.js里面使用node-printer0 写在前面的一些提示 不要使用太高版本的 NW js 以及 Node js 因为 node printer 会有兼容性问题 目前笔者测试到 node printer 最高只能在 0 43 x 版本以及低于这个版本的 NW js 里面正常运行 高于这个版本就会在安装 node printer 时报错或者程序运行时直接崩溃闪退 并且使用的 Node

大家好,我是讯享网,很高兴认识大家。

0、写在前面的一些提示

  • 不要使用太高版本的 NW.js 以及 Node.js,因为 node-printer 会有兼容性问题,目前笔者测试到 node-printer 最高只能在 0.43.x 版本以及低于这个版本的 NW.js 里面正常运行,高于这个版本就会在安装 node-printer 时报错或者程序运行时直接崩溃闪退。并且使用的 Node.js版本应该与 NW.js 里面的 Node.js 版本一致,可以在双击 nw.exe 查看 NW.js 里面的 Node.js 版本,如图:
    在这里插入图片描述
    讯享网
    在这里插入图片描述

1、下载Nw.js

  • 在 https://dl.nwjs.io/ 里面挑选心仪的版本下载,里面有各个操作系统的 SDK 版本以及 NORMAL 版本。下载完解压即可。例如:
    在这里插入图片描述

2、安装Visual C++ Build Tools 以及 Python 环境

  • 为什么需要安装Visual C++ Build Tools 以及 Python 环境?
  • 因为要使用 node-printer 的话需要 node-gyp 进行 rebuild,才能在 NW.js 里面使用,不然无法正常使用
  • 如果电脑有安装过 Visual Studio 那就可以跳过这一步,如果没有那就需要安装。可以使用 windows-build-tools 来安装这个环境:npm install --global windows-build-tools
  • 这个 install 可能会比较久
  • 使用 windows-build-tools 安装可能会出现的问题以及缺陷如下:
    1、安装的 Python 的版本是 2.7 的,但是事实上最新的 node-gyp 已经要求是 3.x 版本了,我们需要去安装旧版本的 node-gyp。
    2、安装完 Python 后依然需要手动配置环境变量,不然无法检测到 Python 环境
    3、windows-build-tools 官网上说 npm 安装完会自动执行 windows-build-tools 来给我们安装 Visual C++ Build Tools 以及 Python2.7 环境,但是有时候安装完并没有执行,这时候我们需要到 path/node_modules/windows-build-tools 目录里执行 node ./dist.index.js
    4、安装 Visual C++ Build Tools 以及 Python2.7 环境时,可能会发生卡住的情况如下图:
    在这里插入图片描述
    这个时候只要去到 C:\Users\用户.windows-build-tools 下双击打开 vs_BuildTools.exe,进入之后勾选 Node.js MSBuild 、Visual C++ Build Tools 支持,然后下载安装即可
    5、如果电脑没有 .NET Framework 的环境,顺便下载安装一下:https://dotnet.microsoft.com/download/visual-studio-sdks
  • 如果不使用 windows-build-tools 安装,可以自行去 Visual C++ Build Tools 以及 Python 官网自行下载安装

3、安装node-gyp

  • 使用npm安装:npm install --global node-gyp
  • 安装完成把 npm-path/node_modules/node-gyp/src/win_delay_load_hook.cc 替换成 https://github.com/nwjs/nw.js/blob/nw43/tools/win_delay_load_hook.cc

4、安装node-printer

  • 使用npm安装:npm install printer

5、重新构建 node-printer

  • 进入 project_path/node_modules/printer 目录在里面执行重新构建的命令:node-gyp rebuild ,显示如下图,即为 rebuild 完成:
    在这里插入图片描述

6、完成了以上所有步骤之后,就可以在 NW.js 里面快乐的使用 node-printer 操作打印机了

  • 可以使用如下代码进行测试
<script> let printer = require("printer") let util = require('util') console.log("installed printers:\n"+util.inspect(printer.getPrinters(), { 
     colors:true, depth:10})); </script> 

讯享网
  • 控制台输出了打印机信息就证明可以正常使用了,例如:
    在这里插入图片描述

参考链接 & 一些有用的链接

  • NW.js官方:https://nwjs.io/
  • NW.js官方文档:https://nwjs.readthedocs.io/en/latest/,其中最重要的是这个:Use Native Node Modules
  • node-gyp:https://github.com/nodejs/node-gyp
  • node-printer:https://github.com/thiagoelg/node-printer
  • 在nw.js要如何优雅的使用node-printer:https://www.jianshu.com/p/b3c558ddb914
小讯
上一篇 2025-03-01 19:50
下一篇 2025-01-14 12:18

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/36828.html