# @briancullen/aws-textract-parser 中文文档

规范地址：https://npmcn.com/package/%40briancullen/aws-textract-parser/

版本：0\.0\.2
npm 元数据更新时间：2022-04-04T20:31:58.613Z
中文译文更新时间：2026-11-08T14:55:06.513Z
软件包许可：ISC

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40briancullen/aws-textract-parser
原文对照：https://npmcn.com/package/%40briancullen/aws-textract-parser/?lang=original
项目主页：https://github.com/briancullen/aws-textract-parser#readme
源码仓库：https://github.com/briancullen/aws-textract-parser

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：47.3 kB，32 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：aws-sdk ^2\.556\.0
- 首次发布：2019-11-08T11:50:20.854Z
- 最新版本发布：2019-11-08T11:50:21.182Z
- 近 30 天下载量：42783（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：2（近 12 个月 0 个）

## 中文简介

用于将 AWS Textract 响应转换为更可用结构的库.

## 安装

```sh
npm install @briancullen/aws-textract-parser
```

也可以使用：`pnpm add @briancullen/aws-textract-parser`、`yarn add @briancullen/aws-textract-parser`、`bun add @briancullen/aws-textract-parser`

## README

# AWS 文本截取解析器

[![Build Status](https://travis-ci.org/briancullen/aws-textract-parser.svg?branch=master)](https://travis-ci.org/briancullen/aws-textract-parser) [![Maintainability](https://api.codeclimate.com/v1/badges/566b704c4b4d35be1ea9/maintainability)](https://codeclimate.com/github/briancullen/aws-textract-parser/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/566b704c4b4d35be1ea9/test_coverage)](https://codeclimate.com/github/briancullen/aws-textract-parser/test_coverage)

Textract是一种AWS服务,它允许您从图片或PDF文档中提取出文本. 这个图书馆的建立是为了处理这个服务的反应,并把它变成一些可以管理的东西.

> **页:1**: 目前此库只用于处理来自检测DocumentText呼叫的响应, 无论是同步还是同步响应 。 分析分析文档的电话可能会在稍后日期被添加.

## 理由

Textract 返回 json 表示它在输入中检测到的页面,行和单词. 下面是您可以期望的由两个单词组成的一行文字数据的简化示例. 如所见,数据描述了一棵树,其中一行被指为一行的孩子,一行被指为一行的孩子.

```json
{
  "DocumentMetaData": {
    "Pages": 1
  },
  "Blocks": [
    {
      "Id": "1",
      "BlockType": "PAGE",
      "Relationships": [{
        "Type": "CHILD",
        "Ids": [ "2" ]
      }]
    },
    { 
      "Id": "1",
      "BlockType": "LINE",
      "Relationships": [{
        "Type": "CHILD",
        "Ids": [ "3", "4" ]
      }]
    },
    { "Id": "3", "BlockType": "WORD" },
    { "Id": "4", "BlockType": "WORD" }
  ]
}
```

不幸的是,这棵树的结构被平整成一个阵列,这让它更尴尬,它应该是。 这个库的目的是处理这个平地的json来提供它所描述的树结构.

> 在一些测试中,与一行有关的词的顺序与文本的顺序不符. 这不是你期望的处理文件。 要解决这个问题, 库会将单词排序为左到右顺序( 根据他们在页面上的位置) .

## 使用量

模块的默认导出是一个支持三种不同方法的解析实例, `handleDetectTextCallback`, (中文(简体) ), `handleDetectTextResponse`,以及 `parseGetTextDetection`。 。 。 .

`handleDetectTextCallback` 是一种帮助方法,可以作为标准的回调方式传递到Textract方法。 反过来,它将与经过加工的树一起唤起另一个召回。 这种使用的例子如下:.

```typescript
import { Textract } from 'aws-sdk'
import textractParser from '<TBD>'

const textract = new Textract()
const myCallback = (err, data) => {
  if(err) {
    console.log(err)
  } else {
    console.log(data)
  }
}

const request = {
  Document: {
    S3Object: {
      Bucket: "your-s3-bucket",
      Name: "your-object-key"
    }
  }
}

textract.detectDocumentText(request,
  textractParser.handleDetectTextCallback(myCallback))
```

`handleDetectTextResponse` 将取类型值 `Textract.DetectDocumentTextResponse` 并同步处理它。 这可以和AWS SDK提供的承诺一起使用. 下文举例说明如何以这种方式使用.

```typescript
textract.detectDocumentText(request).promise()
  .then(data => textractParser.parseDetectTextResponse(data))
  .then(parsedData => console.log(parsedData))
  .catch(err => console.log(err))
```

`parseGetTextDetection` 是用于GetDocumentText Detection操作的辅助方法。 此操作可以在多个请求中返回已处理的信息, 这在试图构建完整树时会产生问题 。 如果所有结果都以单一回复方式返回,则 `handleDetectTextResponse` 可按以上所示使用.

然而,如果情况并非如此,那么这个呼叫可以用来检索所有数据并构建树,如下所示. 要让 SDK 在不同环境中以不同方式配置,必须为此方法提供即时文本格式客户端.

```typescript
const jobId = 'your-job-id'
const client = new AWS.Textract()

textract.detectDocumentText(client, jobId)
 .then(parsedData => console.log(parsedData))
 .catch(err => console.log(err))
```

**页:1** 这种方法将把整个结果集装入内存,这可能会给真正的大文档带来问题. 为10页文本文件提供一些上下文,从文本中返回的结果大小为7MB.

## API 密码

见 [API 文档](https://briancullen.github.io/aws-textract-parser/) 更多信息.

特别提及文档类的 API , 因为它构成了返回的树根 .

## 常见问题

### @briancullen/aws-textract-parser 是什么？

用于将 AWS Textract 响应转换为更可用结构的库\.

### 如何安装 @briancullen/aws-textract-parser？

在项目目录运行 npm install @briancullen/aws-textract-parser，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：aws-sdk（^2\.556\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @briancullen/aws-textract-parser 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @briancullen/aws-textract-parser 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @briancullen/aws-textract-parser 可以商用吗？

@briancullen/aws-textract-parser 使用 ISC 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @briancullen/aws-textract-parser 的下载量有多少？

根据 npm 官方下载统计，@briancullen/aws-textract-parser 在 2026/10/09 – 2026/11/07 这 30 天内被下载 42,783 次，日均约 1,426 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @briancullen/aws-textract-parser 还在维护吗？

最新版本 0\.0\.2 发布于 2019/11/08（7 年前）；至今共发布 2 个版本，其中过去 12 个月发布了 0 个；首次发布于 2019/11/08。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

