返回

让截图变成文字更便捷,基于Electron的截图识字APP(一)

前端

概述

您是否曾遇到过想从图片中提取文字却不知道如何着手的情况?借助OCR(Optical Character Recognition,光学字符识别)技术,您可以轻松地从图像中提取文字,并将其复制到剪贴板或保存为文本文件。

在这个由两部分组成的系列文章中,我们将创建一个基于Electron的截图识字App。Electron是一个跨平台的桌面应用程序框架,它允许您使用JavaScript、HTML和CSS来构建应用程序。

前提条件

在开始之前,您需要确保您的计算机上安装了以下软件:

  • Node.js
  • Electron
  • Tesseract OCR Engine

第一步:创建Electron应用

  1. 打开命令行工具,导航到您希望创建应用程序的目录。
  2. 运行以下命令来创建一个新的Electron应用:
electron-quick-start

这将创建一个名为“electron-quick-start”的目录,其中包含一个基本的Electron应用。

  1. 导航到“electron-quick-start”目录,并使用您喜欢的文本编辑器打开“main.js”文件。
  2. 在“main.js”文件中,将以下代码添加到“app.on('ready', () => {...})”函数中:
const {BrowserWindow} = require('electron')

function createWindow () {
  const win = new BrowserWindow({width: 800, height: 600})

  win.loadFile('index.html')

  win.on('closed', () => {
    app.quit()
  })
}

app.on('ready', createWindow)

这将创建一个800像素宽、600像素高的浏览器窗口,并加载“index.html”文件。

  1. 保存“main.js”文件,然后运行以下命令来启动应用程序:
electron .

这将在您的计算机上启动Electron应用。

第二步:集成Tesseract OCR引擎

  1. 下载Tesseract OCR引擎并将其解压到您的计算机上。
  2. 在“electron-quick-start”目录中创建一个名为“node_modules”的目录。
  3. 将Tesseract OCR引擎的“tessdata”目录复制到“node_modules”目录中。
  4. 在“package.json”文件中,将以下代码添加到“dependencies”对象中:
"tesseract.js": "^2.2.1"
  1. 保存“package.json”文件,然后运行以下命令来安装Tesseract OCR引擎:
npm install

这将安装Tesseract OCR引擎的Node.js模块。

  1. 在“main.js”文件中,将以下代码添加到“app.on('ready', () => {...})”函数中:
const tesseract = require('tesseract.js')

tesseract.recognize('path/to/image.png').then(({data: {text}}) => {
  console.log(text)
})

这将使用Tesseract OCR引擎识别“path/to/image.png”图像中的文字,并将识别的文字输出到控制台。

  1. 保存“main.js”文件,然后重新启动应用程序。

结论

现在,您已经创建了一个基本的截图识字App。在本系列文章的下一部分,我们将介绍如何创建一个用户界面,允许您截取屏幕截图并从中提取文字。