鸿蒙 PC 使用 Electron 打印服务实现详解 问题背景 在鸿蒙平台上开发 Electron 应用时,需要实现打印功能。 主进程实现(main.js) 在主进程中监听打印请求,并调用 Electron 的打印 API: const { app, BrowserWindow, ipcMain } = require('electron .button-container { margin: 20px0; } button { padding: 10px20px 官方文档 - webContents.print()[8] MDN - window.print()[9] CSS @media print[10] 作者:GitCode&坚果派 Electron 鸿蒙适配团队 contentsprintoptions-callback [9] MDN - window.print(): https://developer.mozilla.org/zh-CN/docs/Web/API/Window/print [10
http://efonfighting.imwork.net 本文目录: Win10 开发环境配置安装Node.js安装开发工具:VSCode安装Electron参考 这几年虽然随着移动互联网的崛起,移动端应用已经成了一片红得发紫的红海 近几年微软大力发展推广的IDE VsCode就是用electron开发的,可见electron的势头还是很猛的。 Win10 开发环境配置 安装Node.js 打开Node.js官网下载页面:https://nodejs.org/en/download/,点击下载Windows Installer,一番这里下载的node-v10.16.3 安装完后在终端输入如下命令查看安装信息: # 下面这行的命令会打印出Node.js的版本信息 node -v # 下面这行的命令会打印出npm的版本信息 npm -v npm是Node.js下的包管理器 这样可以保持每个app有一个独立的electron开发环境。 全局安装:npm install electron -g 这种方式意味着所有的项目共用一个electron版本。
【前言】 上一节讲了本地日志,本地数据(文件)的部分, 详见:Electron那些事09:本地数据_uikoo9的博客-CSDN博客 虽然本地日志可以记录日志信息, 本地数据可以记录简单的配置文件, 需要维护一个本地数据库进行查询,本节讲一下本地数据库sqlite 【sqlite】 sqlite是有名的本地数据库,在很多系统中都有应用,SQLite Home Page 当然也有nodejs的版本,一般配套和electron 使用,sqlite3 – npm 默认的版本是nodejs版本,electron内可以直接使用, 还有node-webkit版本,这个版本是给node-webkit类环境使用,例如nw框架使用 另外还有 ; for (var i = 0; i < 10; i++) { stmt.run("Ipsum " + i); } stmt.finalize(); db.each("SELECT row) { console.log(row); }); 【删除数据】 删除数据可以看这里,DELETE 【m1下问题】 sqlite3这个npm包,单独使用没有问题, 但是在mac m1+electron
web-print-pdf是一个基于Electron的跨平台Web打印解决方案,专为Web应用提供强大而灵活的打印能力。它通过创新的架构设计,完美解决了Web打印的各种技术难题。 核心优势**️ 多种打印方式**:支持HTML内容、URL、Base64等多种格式** PDF生成**:将HTML转换为高质量PDF文档**️ 图片打印**:支持图片URL和Base64格式打印** 批量打印 'rgb(0,0,0)', size: 12 }, // 页面范围 pageRanges: [{from: 1, to: 5}, {from: 7, to: 10 灵活的打印配置支持多种打印参数,满足不同打印需求:const printOptions = { // 指定打印机 printerName: 'HP LaserJet Pro', : 'A5', margin: { top: '10mm', bottom: '10mm', left: '10mm', right: '10mm' } }, printOptions
执行electron:build会出现这个问题 是因为打包时会检测cache中是否有electron 包,如果没有的话会从github上拉去, 国内网络环境中拉取的过程大概率会失败 解决 在项目根目录新增 .npmrc文件 写入 ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/ 重新打包就没问题
,命令如下: cnpm install -g electron 5、输入命令: electron -v 查看electron版本,若出现版本号,表示安装成功; 6、输入命令: cnpm install -g electron-packager 打包输出工具; 7、下载并安装electron客户端; 8、新建一个项目文件夹,自命名,例如:test1; 9、在 test1 中创建:pakage.json 、index.html、main.js 三个文件; 10、通过拖拽 test1 文件夹到 electron客户端,或者在cmd控制台中使用命令打开文件, F:\electron1\electron.exe </body> </html> main.js: const electron = require('electron'); // Module to control application life. const { app} = electron; // Module to create native browser window. const { BrowserWindow} = electron
Electron .npmrc 安装electron依赖经常会不成功 在项目目录下创建.npmrc文件,设置镜像地址 npm config set strict-ssl false registry =https://registry.npmmirror.com electron-mirror=https://registry.npmmirror.com/mirrors/electron/ 热更新/ 热加载 方案一 安装:npm install electron-reloader --save-dev 在主进程 js 文件 try { require("electron-reloader")(module 再次运行npm run start,仅当index.js内容变化时,就会自动重新执行electron .来重启应用 菜单栏与边框 app.on("ready", () => { mainWindow 在 Electron 中,借助 Tray 模块实现。 //app 模块,控制整个应用程序的事件生命周期。 //BrowserWindow 模块,它创建和管理程序的窗口。
前言 electron-vue框架中,我们如何使用webworker,请看下文; worker-loader: https://v4.webpack.js.org/loaders/worker-loader
/usr/bin/env python #-- coding: utf-8-- for i in range(1,10): if i % 2 == 1: print('%d 是一个奇数.'
使用 electron-builder 打包 Electron 程序 [001] 前言 在将 Electron 代码开发完成后,如果想要投入生产环境,那就必须经过很关键的一步——打包。 今天就将 MacOS 上使用 electron-builder 打包 Electron 应用的过程做一个记录。 调试 Electron 主进程代码》中用到的 electron-quick-start 目录 打包步骤 1.安装 electron-builder mkdir electron-builde cd electron-builde yarn init -y yarn add electron-builder -D 这里建议将 electron-builder 安装在单独的目录,方便复用。 /electron-builder/node_modules/.bin/electron-builder • electron-builder version=22.14.5 os=19.6.0
思路 3个线程A,B,C分别打印三个字母,每个线程循环10次,首先同步,如果不满足打印条件,则调用wait()函数一直等待;之后打印字母,更新state,调用notifyAll(),进入下一次循环。 final int PRINT_C = 2; private static class MyThread extends Thread { int which; // 0:打印 A;1:打印B;2:打印C static volatile int state; // 线程共有,判断所有的打印状态 static final Object t = new which; } @Override public void run() { for (int i = 0; i < 10 } } System.out.print(toABC(which)); // 执行到这里,表明满足条件,打印
一、使打印机处于联机状态。 如果打印机没有处于联机状态,自然是无法打印了。 二、重新开启打印机。 如果打印机处于联机状态仍无法打印文档,此时你可以重新开启打印机,不仅清除了打印机内存,还能解决不少的打印故障。 三、将打印机设置为默认打印机。 方法是:在“打印机”窗口,右键单击在用的打印机图标,然后单击以清除“暂停打印”选项前的对号“√”。 五、使硬盘上的可用空间不低于10MB。 如果可用硬盘空间小于10MB,必须释放更多的空间系统才能完成打印任务。这时,请单击“磁盘清理”按钮,然后在“要删除的文件”列表框中,选中要删除的文件类型,单击“确定”按钮。 如果使用打印切换设备,请先绕过切换设备,将打印机直接与计算机相连,然后尝试进行打印。 2.测试端口连接将打印机连接到另一个可用端口,重试打印文档,如果能够打印则表明原端口损坏。
背景 最近手头的 electron 项目需要做一个报告导出的功能,导出时要弹出个页面,可让用户自行补全相应的字段。 webview 简介 electron 的 webview 标签时基于 Chromium webview ,由于 Chromium 的架构变化巨大,会影响 electron webview 的稳定性,包括呈现 所以 electron 团队不建议使用 webview 标签。 注意:默认情况下,electron >= 5禁用 webview标签。 本篇属于 electron 初识,如有表述不当,望指出改正。 参考 1. electron文档 webview篇 2. electron webview加载远程preload方法 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。
一个 Electron 应用有且只有一个主进程。并且创建窗口等所有系统事件都要在主进程中进行。 使用Electron的API Electron 在主进程和渲染进程中提供了大量 API 去帮助开发桌面应用程序, 在主进程和渲染进程中,可以通过require() 方法将其包含在模块中,以此获取 Electron 引入 electron: const electron = require('electron'); 所有 Electron 的 API 都被指派给一种进程类型。 Electron 中的窗口是使用 BrowserWindow 类型创建的一个实例, 它只能在主进程中使用,如下所示: const { BrowserWindow } = require('electron 这个帮助函数可以使你获得指向系统目录的文件路径,如用户的桌面、系统临时文件 等等 electron - vue https://simulatedgreg.gitbooks.io/electron-vue
// 主进程 main.js const { app, BrowserWindow, Notification } = require('electron') app.on('ready', () =
electron-updater官方文档 安装electron-log是为了方便本地调试 yarn add electron-updater yarn add electron-log 版本号是根据你的 : 'http://update.xxx.com' 新建一个updater.js,对更新文件进行单独封装 与background.js同级 import { autoUpdater } from "electron-updater " const { dialog, BrowserWindow } = require('electron') const log = require("electron-log") autoUpdater.logger /div> </template> <script setup> import { onMounted, ref } from 'vue'; import { ipcRenderer } from 'electron 打印日志可以在电脑硬盘中查看,下面是我的地址,可供参考 C:\Users\Administrator\AppData\Roaming\qique\logs 更新下载的安装地址 C:\Users\Administrator
http://efonfighting.imwork.net 本文目录: 概述优点:缺点与 Python 前后台的构架对比:环境搭建第一个 electron 程序参考文档 概述 Electron 是基于 由于 VScode 的带动, 基于 Electron 的应用越来越多, 同时 nodejs 社区也持续的活跃. ? production windows-build-tools ● 从 https://code.visualstudio.com/download 下载安装 VScode, 作为开发 IDE 第一个 electron 程序 最简Demo 参考官方文档: https://electronjs.org/docs/tutorial/first-app 一 个 最 简 的 electron 程 序 , 由 package.json
前言 Electron 可以让你使用纯 JavaScript 调用丰富的原生(操作系统) APIs 来创造桌面应用。 这不意味着 Electron 是某个图形用户界面(GUI)库的 JavaScript 版本。 起步 git clone https://github.com/electron/electron-quick-start cd electron-quick-start npm install npm 一个 Electron 应用总是有且只有一个主进程。 每个 Electron 中的 web 页面运行在它自己的渲染进程中。 主进程管理所有的web页面和它们对应的渲染进程。 分别有以下几种解决方案: 方式一: 使用 Electron 官方论坛提供的方法,改变require的写法。
# electron-packager 打包 命令说明: electron-packager <location of project> <name of project> <platform> <architecture > <electron version> <optional options> location of project:项目所在路径 name of project:打包的项目名字 platform: architecture:决定了使用 x86 还是 x64 还是两个架构都用 (x64,ia32) electron version:electron 的版本 optional options:可选选项 例: electron-packager ./ pandacode --platform=mas --arch=x64 --overwrite
假设共享的打印机地址为: \\192.168.89.54\Brother DCP-T710W 连接步骤: 1. 右键 此电脑 -> 点击 属性 -> 点击 控制面板主页 2. 找到 硬件和声音 -> 点击 查看设备和打印机 3. 点击 添加打印机 4. 添加打印机 -> 直接点击 我所需的打印机未列出 5. 选择“按名称选择共享打印机”-> 输入连接地址 -> 点击 下一步 6. 添加打印机 成功 7. 完成