@nativescript-community/document-scanner
A NativeScript 插件用于扫描文档
npm i --save @nativescript-community/document-scanner

@nativescript-community/document-scanner

Downloads per month NPM Version

A NativeScript 插件用于扫描文档


iOS 演示 Android 演示

目录

安装

从您的项目根目录运行以下命令

ns plugin add @nativescript-community/document-scanner

使用方法

要使用该插件,您需要摄像头权限。请记住在运行时请求它,例如

    import { request } from '@nativescript-community/perms';
await request('camera');

之后

    const documentScanner = new DocumentScanner();
try {
const result: string[] | any[] /* UIImage[] on iOS */ = await documentScanner.startScan();
console.log('scan result', result);
} catch (error) {
console.error(error);
}

您可以在类型定义中看到选项。

iOS

在 iOS 上,结果是 UIImage 的数组

演示

此仓库包含 Svelte 演示。为了运行这些演示,请在您的 shell 中执行以下操作

$ git clone https://github.com/@nativescript-community/document-scanner
$ cd document-scanner
$ npm run i
$ npm run setup
$ npm run build
$ cd demo-svelte
$ ns run ios|android

演示和开发

仓库设置

此仓库使用子模块。如果您没有使用 --recursive 克隆,则需要调用

git submodule update --init

用于安装和链接依赖项的包管理器必须是 pnpmyarnnpm 不会工作。

为了开发和测试:如果您使用 yarn,则运行 yarn;如果您使用 pnpm,则运行 pnpm i

交互式菜单

要启动交互式菜单,请运行 npm start(或 yarn startpnpm start)。这将列出所有常用脚本。

构建

npm run build.all

警告:似乎 yarn build.all 不会始终工作(找不到 node_modules/.bin 中的二进制文件),这就是为什么文档明确使用 npm run

演示

npm run demo.[ng|react|svelte|vue].[ios|android]

npm run demo.svelte.ios # Example

演示设置有些特别,如果您想修改/添加演示,您不必直接在 demo-[ng|react|svelte|vue] 中工作。相反,您应该在 demo-snippets/[ng|react|svelte|vue] 中工作。您可以从每种风格的 install.ts 开始,以了解如何注册新演示

贡献

更新仓库

您可以很容易地更新仓库文件

首先更新子模块

npm run update

然后提交更改,然后更新公共文件

npm run sync

然后您可以运行 yarn|pnpm,如果有任何更改,请提交更改的文件

更新说明文档

npm run readme

更新文档

npm run doc

发布

发布完全由 lerna 处理(您可以使用 -- --bump major 强制发布主要版本)只需运行

npm run publish

修改子模块

此仓库使用 https:// 子模块,这意味着您无法直接将推送推送到子模块。一个简单的解决方案是修改 ~/.gitconfig 并添加

[url "ssh://[email protected]/"]
pushInsteadOf = https://github.com/

问题

如果您有任何问题/问题/评论,请随时创建一个问题或在 NativeScript 社区 Discord 中开始对话。