This commit is contained in:
gyq
2024-03-21 14:29:15 +08:00
parent 5e3d3c91f1
commit 154a362af6
3 changed files with 190 additions and 26 deletions

View File

@@ -1,5 +1,6 @@
import path from "path";
import { app, BrowserWindow, ipcMain } from "electron";
const { PosPrinter } = require("electron-pos-printer-vue");
let win;
app.whenReady().then(() => {
@@ -22,7 +23,7 @@ app.whenReady().then(() => {
if (process.env.VITE_DEV_SERVER_URL) {
win.loadURL(process.env.VITE_DEV_SERVER_URL);
// 使用vite开发服务的url路径访问应用
win.webContents.openDevTools();
// win.webContents.openDevTools();
} else {
win.loadFile(path.resolve(__dirname, "../dist/index.html")); // 打包后使用文件路径访问应用
}
@@ -41,7 +42,7 @@ app.whenReady().then(() => {
// 创建打印小票子窗口
// const printWin = new BrowserWindow({
// show: false,
// show: true,
// webPreferences: {
// // 集成网页和 Node.js也就是在渲染进程中可以调用 Node.js 方法
// nodeIntegration: true,
@@ -67,15 +68,89 @@ app.whenReady().then(() => {
// 执行打印操作
ipcMain.on('printStart', (event, arg) => {
// console.log('开始打印', arg)
console.log('开始打印', arg)
// let name = 'Xprinter XP-365B'
// // let name = 'Generic / Text Only'
let name = 'Xprinter XP-365B'
// let name = 'Generic / Text Only'
const options = {
silent: true,
preview: false, // width of content body
margin: '0 0 0 0', // margin of content body
copies: 1, // Number of copies to print
printerName: name, // printerName: string, check with webContent.getPrinters()
// timeOutPerLine: 400,
pageSize: { height: 22860, width: 30480 } // page size
}
const data = [
{
type: 'text', // 'text' | 'barCode' | 'qrCode' | 'image' | 'table
value: '#B5 B6',
style: { "font-weight": "700", "font-size": "18px" }
}, {
type: 'text', // 'text' | 'barCode' | 'qrCode' | 'image' | 'table
value: '#B5 B6',
style: { "font-weight": "700", "font-size": "18px" }
}, {
type: 'text', // 'text' | 'barCode' | 'qrCode' | 'image' | 'table
value: '#B5 B6',
style: { "font-weight": "700", "font-size": "18px" }
}, {
type: 'text', // 'text' | 'barCode' | 'qrCode' | 'image' | 'table
value: '#B5 B6',
style: { "font-weight": "700", "font-size": "18px" }
}, {
type: 'text', // 'text' | 'barCode' | 'qrCode' | 'image' | 'table
value: '#B5 B6',
style: { "font-weight": "700", "font-size": "18px" }
}, {
type: 'text', // 'text' | 'barCode' | 'qrCode' | 'image' | 'table
value: '#B5 B6',
style: { "font-weight": "700", "font-size": "18px" }
}, {
type: 'text', // 'text' | 'barCode' | 'qrCode' | 'image' | 'table
value: '#B5 B6',
style: { "font-weight": "700", "font-size": "18px" }
}, {
type: 'text', // 'text' | 'barCode' | 'qrCode' | 'image' | 'table
value: '#B5 B6',
style: { "font-weight": "700", "font-size": "18px" }
}, {
type: 'text', // 'text' | 'barCode' | 'qrCode' | 'image' | 'table
value: '#B5 B6',
style: { "font-weight": "700", "font-size": "18px" }
},
{
type: 'text', // 'text' | 'barCode' | 'qrCode' | 'image' | 'table'
value: '喔喔奶茶 x100',
style: { "font-size": "18px" },
},
{
type: 'text', // 'text' | 'barCode' | 'qrCode' | 'image' | 'table'
value: '麻辣味',
style: { "font-size": "18px" },
},
{
type: 'text', // 'text' | 'barCode' | 'qrCode' | 'image' | 'table'
value: '03-08 16:32 ¥123.00',
style: { "font-size": "18px" },
}
]
PosPrinter.print(data, options)
.then(() => { })
.catch((error) => {
console.error(error);
});
// printWin.webContents.print({
// silent: true,
// printBackground: true,
// deviceName: name
// deviceName: name,
// pageSize: {
// width: 30480,
// height: 22860
// }
// })
})
});