# @allmaps/iiif-parser 中文文档

规范地址：https://npmcn.com/package/%40allmaps/iiif-parser/

版本：1\.0\.0-beta\.49
npm 元数据更新时间：2026-10-01T09:24:33.357Z
中文译文更新时间：2026-11-05T21:54:44.866Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：1.1 MB，45 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：1 个
- 首次发布：2021-04-13T07:43:46.556Z
- 最新版本发布：2026-09-22T07:06:22.186Z
- 近 30 天下载量：14867（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：60（近 12 个月 4 个）

## 中文简介

Allmaps IIIF 解析器

## 安装

```sh
npm install @allmaps/iiif-parser
```

也可以使用：`pnpm add @allmaps/iiif-parser`、`yarn add @allmaps/iiif-parser`、`bun add @allmaps/iiif-parser`

## README

# @allmaps/if-parser (英语)

这是用于解析 IIIF 的 JavaScript 模块 [收款](https://iiif.io/api/presentation/3.0/#51-collection), (中文(简体) ), [声明](https://iiif.io/api/presentation/3.0/#52-manifest) 财务报告和审定财务报表 [图像](https://iiif.io/api/image/3.0/#5-image-information)这是一个核心模块 [所有图](https://allmaps.org/) 并用于其所有应用和组件.

_注:本模块将IIIF数据解为Allmaps内部使用的中间格式. 它没有分析 **全部** 由 IIIF 图像和演示文稿 APIs 定义的属性,只有 Allmaps 函数所需的属性. 参见 [`src/classes`](https://npmcn.com/package/%40allmaps/iiif-parser/src/classes) 财务报告和审定财务报表 [`src/schemas`](https://npmcn.com/package/%40allmaps/iiif-parser/src/schemas) 这些 proeprties 的细节目录 ._

@allmaps/iiif-parser 使用 TypeScript 书写并使用 [佐德语Name](https://zod.dev/)。 。 。 .

支持IIIF图像和演示API的版本1、2和3.

这个模块已经在各种IIIF服务器上进行了测试. 运行 `npm test` 运行所有测试.

## 安装

这是一个只在浏览器和Node.js中工作的无害环境管理模块.

节点.js:

第一,跑开 `pnpm install @allmaps/iiif-parser` 中添加此模块.

```js
import { IIIF } from '@allmaps/iiif-parser'
```

浏览器 :

```html
<script type="module">
  import { IIIF } from 'https://unpkg.com/@allmaps/iiif-parser?module'
</script>
```

## 使用量

```js
import { IIIF } from '@allmaps/iiif-parser'

const manifestUrl =
  'https://collections.leventhalmap.org/search/commonwealth:wd376720z/manifest'
const manifest = await fetch(manifestUrl).then((response) => response.json())
const parsedManifest = IIIF.parse(manifest)
console.log(parsedManifest)
```

这个会日志 `parsedManifest` 转到控制台 :

```json
{
  "embedded": false,
  "type": "manifest",
  "uri": "https://ark.digitalcommonwealth.org/ark:/50959/wd376720z/manifest",
  "majorVersion": 2,
  "label": {
    "none": [
      "Map of Boston and vicinity showing tracks operated by the Boston Elevated Railway Co., surface lines"
    ]
  },
  "canvases": [
    {
      "type": "canvas",
      "width": 7486,
      "height": 9138,
      "uri": "https://ark.digitalcommonwealth.org/ark:/50959/wd376720z/canvas/wd3767217",
      "label": {
        "none": ["image 1"]
      },
      "image": {
        "embedded": true,
        "type": "image",
        "uri": "https://iiif.digitalcommonwealth.org/iiif/2/commonwealth:wd3767217",
        "majorVersion": 2,
        "supportsAnyRegionAndSize": true,
        "width": 7486,
        "height": 9138
      }
    }
  ],
  "metadata": [
    {
      "label": {
        "none": ["Title"]
      },
      "value": {
        "none": [
          "Map of Boston and vicinity showing tracks operated by the Boston Elevated Railway Co., surface lines"
        ]
      }
    },
    {
      "label": {
        "none": ["Date"]
      },
      "value": {
        "none": ["1898"]
      }
    },
    {
      "label": {
        "none": ["Publisher"]
      },
      "value": {
        "none": ["Boston, Mass : [Geo. H. Walker & Co.]"]
      }
    },
    {
      "label": {
        "none": ["Type of Resource"]
      },
      "value": {
        "none": ["Cartographic"]
      }
    },
    {
      "label": {
        "none": ["Format"]
      },
      "value": {
        "none": ["Maps"]
      }
    },
    {
      "label": {
        "none": ["Language"]
      },
      "value": {
        "none": ["English"]
      }
    },
    {
      "label": {
        "none": ["Subjects"]
      },
      "value": {
        "none": [
          "Boston Elevated Railway Company",
          "Street-railroads--Massachusetts--Boston--Maps",
          "Boston (Mass.)--Maps",
          "Massachusetts--Maps"
        ]
      }
    },
    {
      "label": {
        "none": ["Location"]
      },
      "value": {
        "none": ["Boston Public Library"]
      }
    },
    {
      "label": {
        "none": ["Collection (local)"]
      },
      "value": {
        "none": ["Norman B. Leventhal Map Center Collection"]
      }
    },
    {
      "label": {
        "none": ["Identifier"]
      },
      "value": {
        "none": [
          "https://ark.digitalcommonwealth.org/ark:/50959/wd376720z",
          "06_01_003041",
          "G3764.B6P33 1898 .M3",
          "39999058997337"
        ]
      }
    },
    {
      "label": {
        "none": ["Terms of Use"]
      },
      "value": {
        "none": [
          "No known copyright restrictions.",
          "No known restrictions on use."
        ]
      }
    }
  ]
}
```

也可以打电话 `parse` 函数在特定的 IIIF 类上:

```js
import { Image } from '@allmaps/iiif-parser'

const imageUrl =
  'https://iiif.digitalcommonwealth.org/iiif/2/commonwealth:wd3767217'
const image = await fetch(`${imageUrl}/info.json`).then((response) =>
  response.json()
)
const parsedImage = Image.parse(image)
console.log(parsedImage)
```

这个会日志 `parsedImage` 转到控制台 :

```json
{
  "embedded": false,
  "type": "image",
  "uri": "https://iiif.digitalcommonwealth.org/iiif/2/commonwealth:wd3767217",
  "majorVersion": 2,
  "supportsAnyRegionAndSize": true,
  "width": 7486,
  "height": 9138,
  "tileZoomLevels": [
    {
      "scaleFactor": 1,
      "width": 1024,
      "height": 1024,
      "originalWidth": 1024,
      "originalHeight": 1024,
      "columns": 8,
      "rows": 9
    },
    {
      "scaleFactor": 2,
      "width": 1024,
      "height": 1024,
      "originalWidth": 2048,
      "originalHeight": 2048,
      "columns": 4,
      "rows": 5
    },
    {
      "scaleFactor": 4,
      "width": 1024,
      "height": 1024,
      "originalWidth": 4096,
      "originalHeight": 4096,
      "columns": 2,
      "rows": 3
    },
    {
      "scaleFactor": 8,
      "width": 1024,
      "height": 1024,
      "originalWidth": 8192,
      "originalHeight": 8192,
      "columns": 1,
      "rows": 2
    },
    {
      "scaleFactor": 16,
      "width": 1024,
      "height": 1024,
      "originalWidth": 16384,
      "originalHeight": 16384,
      "columns": 1,
      "rows": 1
    },
    {
      "scaleFactor": 32,
      "width": 1024,
      "height": 1024,
      "originalWidth": 32768,
      "originalHeight": 32768,
      "columns": 1,
      "rows": 1
    },
    {
      "scaleFactor": 64,
      "width": 1024,
      "height": 1024,
      "originalWidth": 65536,
      "originalHeight": 65536,
      "columns": 1,
      "rows": 1
    }
  ],
  "sizes": [
    {
      "width": 117,
      "height": 143
    },
    {
      "width": 234,
      "height": 286
    },
    {
      "width": 468,
      "height": 571
    },
    {
      "width": 936,
      "height": 1142
    },
    {
      "width": 1872,
      "height": 2285
    },
    {
      "width": 3743,
      "height": 4569
    },
    {
      "width": 7486,
      "height": 9138
    }
  ]
}
```

您可以使用 `instanceof` 操作员或检查 `type` 属性 :

```ts
import { IIIF } from '@allmaps/iiif-parser'

const url =
  'https://collections.leventhalmap.org/search/commonwealth:wd376720z/manifest'
const iiif = await fetch(url).then((response) => response.json())
const parsedIiif = IIIF.parse(manifest)

if (parsedIiif.type === 'manifest') {
  console.log('This is a IIIF Manifest!')
}
```

## 国 际

分析 IIIF 资源也可以使用 [图像 CLI](https://github.com/allmaps/allmaps/tree/main/apps/cli)。 。 。 .

例如:

```sh
curl https://collections.leventhalmap.org/search/commonwealth:wd376720z/manifest | allmaps iiif parse
```

## 许可证

麻省理工学院

## API 密码

### `new Canvas(parsedCanvas)`

###### 参数

-   `parsedCanvas` (单位:千美元)`{ '@id': string; '@type'?: "sc:Canvas" | undefined; width: number; height: number; images: Array<{ resource: { width?: number | undefined; height?: number | undefined; service: { '@id': string; '@type'?: "ImageService1" | "ImageService2" | "ImageService3" | undefined; profile: string | ValidImage2ProfileArray; width...`(中文(简体) )

###### 回返

`Canvas`。 。 。 .

### `Canvas#annotations?`

###### 类型

```ts
Array<{id: string; type: 'AnnotationPage'; items?: unknown[]}>
```

### `Canvas#description?`

###### 类型

```ts
{[language: string]: Array<string | number | boolean>}
```

### `Canvas#height`

###### 类型

```ts
number
```

### `Canvas#homepage?`

###### 类型

```ts
Array<{
  id: string
  type?: string
  label?: LanguageString
  format?: string
  language?: string | string[]
}>
```

### `Canvas#image`

###### 类型

```ts
EmbeddedImage | Image
```

### `Canvas#label?`

###### 类型

```ts
{[language: string]: Array<string | number | boolean>}
```

### `Canvas#metadata?`

###### 类型

```ts
Array<MetadataItem>
```

### `Canvas#navDate?`

###### 类型

```ts
Date
```

### `Canvas#navPlace?`

###### 类型

```ts
object
```

### `Canvas#provider?`

###### 类型

```ts
Array<Agent>
```

### `Canvas#rendering?`

###### 类型

```ts
Array<{
  id: string
  type?: string
  label?: LanguageString
  format?: string
}>
```

### `Canvas#requiredStatement?`

###### 类型

```ts
{label: LanguageString; value: LanguageString}
```

### `Canvas#rights?`

###### 类型

```ts
string
```

### `Canvas#seeAlso?`

###### 类型

```ts
Array<{id: string; type?: string; format?: string; profile?: string}>
```

### `Canvas#summary?`

###### 类型

```ts
{[language: string]: Array<string | number | boolean>}
```

### `Canvas#thumbnail?`

###### 类型

```ts
Array<{
  id: string
  type?: string
  format?: string
  width?: number
  height?: number
}>
```

### `Canvas#type`

###### 类型

```ts
CanvasTypeString
```

### `Canvas#uri`

###### 类型

```ts
string
```

### `Canvas#width`

###### 类型

```ts
number
```

### `new Collection(parsedCollection, options)`

###### 参数

-   `parsedCollection` (单位:千美元)`{ '@id': string; '@type': "sc:Collection"; manifests?: Array<{ '@id': string; '@type': "sc:Collection"; manifests?: Array<... | { '@id': string; '@type': "sc:Manifest"; label?: string | Array<string> | Array<{ '@value': string | Array<string>; '@language'?: string | undefined; }> | { '@value': string | Array<string>...`(中文(简体) )
-   `options?` (单位:千美元)`Partial<ConstructorOptions> | undefined`(中文(简体) )

###### 回返

`Collection`。 。 。 .

###### 扩展

-   `EmbeddedCollection`

### `Collection#annotations?`

###### 类型

```ts
Array<{id: string; type: 'AnnotationPage'; items?: unknown[]}>
```

### `Collection#canvases`

###### 类型

```ts
Array<Canvas>
```

### `Collection#embedded`

###### 类型

```ts
false
```

### `Collection#fetchAllItems(options)`

###### 参数

-   `options?` (单位:千美元)`Partial<FetchNextItemOptions> | undefined`(中文(简体) )

###### 回返

`Promise<Array<FetchNextItemResults<Collection | Image | Manifest>>>`。 。 。 .

### `Collection#fetchItemWithId(id, fetchFn)`

###### 参数

-   `id` (单位:千美元)`string`(中文(简体) )
-   `fetchFn` (单位:千美元) `| ((input: RequestInfo | URL, init?: RequestInit) => Promise<Response>) | undefined`(中文(简体) )

###### 回返

`Promise<EmbeddedCollection | EmbeddedManifest | undefined>`。 。 。 .

### `Collection#fetchItemWithIndex(index, fetchFn)`

###### 参数

-   `index` (单位:千美元)`number`(中文(简体) )
-   `fetchFn` (单位:千美元) `| ((input: RequestInfo | URL, init?: RequestInit) => Promise<Response>) | undefined`(中文(简体) )

###### 回返

`Promise<Collection | EmbeddedCollection | EmbeddedManifest | Manifest>`。 。 。 .

### `Collection#fetchNextItem(options, depth)`

###### 参数

-   `options?` (单位:千美元)`Partial<FetchNextItemOptions> | undefined`(中文(简体) )
-   `depth` (单位:千美元)`number | undefined`(中文(简体) )

###### 回返

`AsyncGenerator< FetchNextItemResults<Collection | Image | Manifest>, void, void >`。 。 。 .

### `Collection#fetchUntilPath(path)`

###### 参数

-   `path` (单位:千美元)`Array<number>`(中文(简体) )

###### 回返

`Promise<void>`。 。 。 .

### `Collection#getItemAtPath(path)`

###### 参数

-   `path` (单位:千美元)`Array<number>`(中文(简体) )

###### 回返

`Canvas | EmbeddedCollection | EmbeddedManifest | undefined`。 。 。 .

### `Collection#homepage?`

###### 类型

```ts
Array<{
  id: string
  type?: string
  label?: LanguageString
  format?: string
  language?: string | string[]
}>
```

### `Collection#images`

###### 类型

```ts
Array<EmbeddedImage | Image>
```

### `Collection#items`

###### 类型

```ts
Array<never>
```

### `Collection#provider?`

###### 类型

```ts
Array<Agent>
```

### `Collection#rendering?`

###### 类型

```ts
Array<{
  id: string
  type?: string
  label?: LanguageString
  format?: string
}>
```

### `Collection#requiredStatement?`

###### 类型

```ts
{label: LanguageString; value: LanguageString}
```

### `Collection#rights?`

###### 类型

```ts
string
```

### `Collection#seeAlso?`

###### 类型

```ts
Array<{id: string; type?: string; format?: string; profile?: string}>
```

### `Collection#source?`

###### 类型

```ts
unknown
```

### `Collection#summary?`

###### 类型

```ts
{[language: string]: Array<string | number | boolean>}
```

### `Collection.parse(iiifCollection, options)`

解析 IIIF 收藏并返回 a [收藏](https://npmcn.com/package/%40allmaps/iiif-parser/#readme-collection) 包含解析版本

###### 参数

-   `iiifCollection` (单位:千美元)`unknown`(中文(简体) )
    -   IIIF收集的原始数据
-   `options?` (单位:千美元)`Partial<ParseOptions> | undefined`(中文(简体) )

###### 回返

已解析的 IIIF 收藏`Collection`) (中文(简体) ).

### `new EmbeddedCollection(parsedCollection)`

###### 参数

-   `parsedCollection` (单位:千美元)`{ '@id': string; '@type': "sc:Collection"; manifests?: Array<{ '@id': string; '@type': "sc:Collection"; manifests?: Array<... | { '@id': string; '@type': "sc:Manifest"; label?: string | Array<string> | Array<{ '@value': string | Array<string>; '@language'?: string | undefined; }> | { '@value': string | Array<string>...`(中文(简体) )

###### 回返

`EmbeddedCollection`。 。 。 .

### `EmbeddedCollection#description?`

###### 类型

```ts
{[language: string]: Array<string | number | boolean>}
```

### `EmbeddedCollection#embedded`

###### 类型

```ts
true
```

### `EmbeddedCollection#label?`

###### 类型

```ts
{[language: string]: Array<string | number | boolean>}
```

### `EmbeddedCollection#majorVersion`

###### 类型

```ts
1 | 2 | 3
```

### `EmbeddedCollection#metadata?`

###### 类型

```ts
Array<MetadataItem>
```

### `EmbeddedCollection#navDate?`

###### 类型

```ts
Date
```

### `EmbeddedCollection#navPlace?`

###### 类型

```ts
object
```

### `EmbeddedCollection#thumbnail?`

###### 类型

```ts
Array<{
  id: string
  type?: string
  format?: string
  width?: number
  height?: number
}>
```

### `EmbeddedCollection#type`

###### 类型

```ts
CollectionTypeString
```

### `EmbeddedCollection#uri`

###### 类型

```ts
string
```

### `EmbeddedCollection.parse(iiifCollection, options)`

解析 IIIF 收藏并返回 a [收藏](https://npmcn.com/package/%40allmaps/iiif-parser/#readme-collection) 包含解析版本

###### 参数

-   `iiifCollection` (单位:千美元)`unknown`(中文(简体) )
    -   IIIF收集的原始数据
-   `options?` (单位:千美元)`Partial<ParseOptions> | undefined`(中文(简体) )

###### 回返

已解析的 IIIF 收藏`Collection`) (中文(简体) ).

### `new EmbeddedImage(parsedImage, options)`

###### 参数

-   `parsedImage` (单位:千美元)`{ '@context': "http://library.stanford.edu/iiif/image-api/1.1/context.json"; '@id': string; profile?: string | undefined; width: number; height: number; scale_factors?: Array<number> | undefined; tile_width?: number | undefined; tile_height?: number | undefined; } | { ...; } | { ...; } | EmbeddedImageType`(中文(简体) )
-   `options?` (单位:千美元)`Partial<ImageConstructorOptions> | undefined`(中文(简体) )

###### 回返

`EmbeddedImage`。 。 。 .

### `EmbeddedImage#embedded`

###### 类型

```ts
true
```

### `EmbeddedImage#getImageRequest(size, mode)`

###### 参数

-   `size` (单位:千美元)`{width: number; height: number}`(中文(简体) )
-   `mode` (单位:千美元)`Fit | undefined`(中文(简体) )

###### 回返

`Array<Array<ImageRequest>> | ImageRequest`。 。 。 .

### `EmbeddedImage#getImageUrl(imageRequest, options)`

生成用于请求区域和大小的 IIIF 图像 API URL

###### 参数

-   `imageRequest` (单位:千美元)`{region?: Region; size?: SizeObject}`(中文(简体) )
    -   图像请求对象, 包含想要的区域和请求图像的大小
-   `options?` (单位:千美元)`ImageUrlOptions | undefined`(中文(简体) )
    -   生成请求的图像 URL 的选项

###### 回返

图像 API URL 用于获取请求的图像(`string`) (中文(简体) ).

### `EmbeddedImage#height`

###### 类型

```ts
number
```

### `EmbeddedImage#majorVersion`

###### 类型

```ts
1 | 2 | 3
```

### `EmbeddedImage#maxArea`

###### 类型

```ts
number | undefined
```

### `EmbeddedImage#maxHeight`

###### 类型

```ts
number | undefined
```

### `EmbeddedImage#maxWidth`

###### 类型

```ts
number | undefined
```

### `EmbeddedImage#preferredFormats?`

###### 类型

```ts
Array<string>
```

### `EmbeddedImage#supportedFormats`

###### 类型

```ts
Array<string>
```

### `EmbeddedImage#supportsAnyRegionAndSize`

###### 类型

```ts
boolean
```

### `EmbeddedImage#type`

###### 类型

```ts
ImageTypeString
```

### `EmbeddedImage#uri`

###### 类型

```ts
string
```

### `EmbeddedImage#width`

###### 类型

```ts
number
```

### `new EmbeddedManifest(parsedManifest)`

###### 参数

-   `parsedManifest` (单位:千美元)`{ '@id': string; '@type': "sc:Manifest"; sequences: Array<{ canvases: Array<{ '@id': string; '@type'?: "sc:Canvas" | undefined; width: number; height: number; images: Array<{ resource: { width?: number | undefined; height?: number | undefined; service: { ...; } | ... 2 more ... | { ...; }; }; }>; ... 9 more ...; nav...`(中文(简体) )

###### 回返

`EmbeddedManifest`。 。 。 .

### `EmbeddedManifest#description?`

###### 类型

```ts
{[language: string]: Array<string | number | boolean>}
```

### `EmbeddedManifest#embedded`

###### 类型

```ts
true
```

### `EmbeddedManifest#label?`

###### 类型

```ts
{[language: string]: Array<string | number | boolean>}
```

### `EmbeddedManifest#majorVersion`

###### 类型

```ts
1 | 2 | 3
```

### `EmbeddedManifest#metadata?`

###### 类型

```ts
Array<MetadataItem>
```

### `EmbeddedManifest#navDate?`

###### 类型

```ts
Date
```

### `EmbeddedManifest#navPlace?`

###### 类型

```ts
object
```

### `EmbeddedManifest#thumbnail?`

###### 类型

```ts
Array<{
  id: string
  type?: string
  format?: string
  width?: number
  height?: number
}>
```

### `EmbeddedManifest#type`

###### 类型

```ts
ManifestTypeString
```

### `EmbeddedManifest#uri`

###### 类型

```ts
string
```

### `new IIIF()`

包含 IIIF 资源静态剖析函数的基础类

###### 参数

没有参数.

###### 回返

`IIIF`。 。 。 .

### `IIIF.parse(iiifResource, options)`

作为 IIIF 资源解析并返回包含解析版本的类

###### 参数

-   `iiifResource` (单位:千美元)`unknown`(中文(简体) )
    -   IIIF资源的来源数据
-   `options?` (单位:千美元)`Partial<ParseOptions> | undefined`(中文(简体) )

###### 回返

已解析的 IIIF 资源( R)`Collection | Image | Manifest`) (中文(简体) ).

### `new Image(parsedImage, options)`

###### 参数

-   `parsedImage` (单位:千美元)`{ '@context': "http://library.stanford.edu/iiif/image-api/1.1/context.json"; '@id': string; profile?: string | undefined; width: number; height: number; scale_factors?: Array<number> | undefined; tile_width?: number | undefined; tile_height?: number | undefined; } | { ...; } | { ...; }`(中文(简体) )
-   `options?` (单位:千美元)`Partial<ConstructorOptions> | undefined`(中文(简体) )

###### 回返

`Image`。 。 。 .

###### 扩展

-   `EmbeddedImage`

### `Image#embedded`

###### 类型

```ts
false
```

### `Image#getImageRequest(size, mode)`

返回所请求区域的图像请求对象和大小

###### 参数

-   `size` (单位:千美元)`{width: number; height: number}`(中文(简体) )
    -   请求缩略图的大小
-   `mode` (单位:千美元)`Fit | undefined`(中文(简体) )
    -   所请求缩略图的理想匹配模式

###### 回返

图像请求对象, 可用于获取请求的缩略图( Q)`Array<Array<ImageRequest>> | ImageRequest`) (中文(简体) ).

### `Image#getTileImageRequest(zoomLevel, column, row)`

返回一个带有所请求的缩放级别、列和行的平板的图像请求对象

###### 参数

-   `zoomLevel` (单位:千美元)`{ scaleFactor: number width: number height: number originalWidth: number originalHeight: number columns: number rows: number }`(中文(简体) )
    -   所请求的平板的预期缩放水平
-   `column` (单位:千美元)`number`(中文(简体) )
    -   所请求的瓦片的列
-   `row` (单位:千美元)`number`(中文(简体) )
    -   所请求的平板字行

###### 回返

图像请求对象, 可用于取取请求的平板 (`{region?: Region; size?: SizeObject}`) (中文(简体) ).

### `Image#sizes?`

###### 类型

```ts
Array<SizeObject>
```

### `Image#source?`

###### 类型

```ts
unknown
```

### `Image#tileZoomLevels`

###### 类型

```ts
Array<TileZoomLevel>
```

### `Image.parse(iiifImage, parseOptions)`

解析一个 IIIF 图像并返回 a [图像](https://npmcn.com/package/%40allmaps/iiif-parser/#readme-image) 包含解析版本

###### 参数

-   `iiifImage` (单位:千美元)`unknown`(中文(简体) )
    -   IIIF图像的来源数据
-   `parseOptions?` (单位:千美元)`Partial<ParseOptions> | undefined`(中文(简体) )

###### 回返

解析的 IIIF 图像 (`Image`) (中文(简体) ).

### `ImageRequest`

###### 字段

-   `region?` (单位:千美元)`{x: number; y: number; width: number; height: number}`(中文(简体) )
-   `size?` (单位:千美元)`{width: number; height: number}`(中文(简体) )

### `ImageUrlOptions`

###### 字段

-   `preferredFormats?` (单位:千美元)`Array<string>`(中文(简体) )

### `LanguageString`

###### 字段

-   `[language: string]` (单位:千美元)`Array<string | number | boolean>`(中文(简体) )

### `MajorVersion`

###### 类型

```ts
1 | 2 | 3
```

### `new Manifest(parsedManifest, options)`

###### 参数

-   `parsedManifest` (单位:千美元)`{ '@id': string; '@type': "sc:Manifest"; sequences: Array<{ canvases: Array<{ '@id': string; '@type'?: "sc:Canvas" | undefined; width: number; height: number; images: Array<{ resource: { width?: number | undefined; height?: number | undefined; service: { ...; } | ... 2 more ... | { ...; }; }; }>; ... 9 more ...; nav...`(中文(简体) )
-   `options?` (单位:千美元)`Partial<ConstructorOptions> | undefined`(中文(简体) )

###### 回返

`Manifest`。 。 。 .

###### 扩展

-   `EmbeddedManifest`

### `Manifest#annotations?`

###### 类型

```ts
Array<{id: string; type: 'AnnotationPage'; items?: unknown[]}>
```

### `Manifest#canvases`

###### 类型

```ts
Array<never>
```

### `Manifest#embedded`

###### 类型

```ts
false
```

### `Manifest#fetchAllItems(fetchFn)`

###### 参数

-   `fetchFn` (单位:千美元) `| ((input: RequestInfo | URL, init?: RequestInit) => Promise<Response>) | undefined`(中文(简体) )

###### 回返

`Promise<Array<FetchNextItemResults<Image>>>`。 。 。 .

### `Manifest#fetchImageByUri(imageUri, fetchFn)`

###### 参数

-   `imageUri` (单位:千美元)`string`(中文(简体) )
-   `fetchFn` (单位:千美元) `| ((input: RequestInfo | URL, init?: RequestInit) => Promise<Response>) | undefined`(中文(简体) )

###### 回返

`Promise<Image | undefined>`。 。 。 .

### `Manifest#fetchNextItem(fetchFn, depth)`

###### 参数

-   `fetchFn` (单位:千美元) `| ((input: RequestInfo | URL, init?: RequestInit) => Promise<Response>) | undefined`(中文(简体) )
-   `depth` (单位:千美元)`number | undefined`(中文(简体) )

###### 回返

`AsyncGenerator<FetchNextItemResults<Image>, void, void>`。 。 。 .

### `Manifest#homepage?`

###### 类型

```ts
Array<{
  id: string
  type?: string
  label?: LanguageString
  format?: string
  language?: string | string[]
}>
```

### `Manifest#images`

###### 类型

```ts
Array<EmbeddedImage | Image>
```

### `Manifest#provider?`

###### 类型

```ts
Array<Agent>
```

### `Manifest#rendering?`

###### 类型

```ts
Array<{
  id: string
  type?: string
  label?: LanguageString
  format?: string
}>
```

### `Manifest#requiredStatement?`

###### 类型

```ts
{label: LanguageString; value: LanguageString}
```

### `Manifest#rights?`

###### 类型

```ts
string
```

### `Manifest#seeAlso?`

###### 类型

```ts
Array<{id: string; type?: string; format?: string; profile?: string}>
```

### `Manifest#source?`

###### 类型

```ts
unknown
```

### `Manifest#summary?`

###### 类型

```ts
{[language: string]: Array<string | number | boolean>}
```

### `Manifest.parse(iiifManifest, options)`

分析 IIIF 资源并返回 a [声明](https://npmcn.com/package/%40allmaps/iiif-parser/#readme-manifest) 包含解析版本

###### 参数

-   `iiifManifest` (单位:千美元)`unknown`(中文(简体) )
    -   IIIF的原始数据
-   `options?` (单位:千美元)`Partial<ParseOptions> | undefined`(中文(简体) )

###### 回返

分析的 IIIF 宣言`Manifest`) (中文(简体) ).

### `Metadata`

###### 类型

```ts
Array<MetadataItem>
```

### `ProfileProperties`

###### 字段

-   `maxArea?` (单位:千美元)`number`(中文(简体) )
-   `maxHeight?` (单位:千美元)`number`(中文(简体) )
-   `maxWidth?` (单位:千美元)`number`(中文(简体) )
-   `supportsAnyRegionAndSize` (单位:千美元)`boolean`(中文(简体) )

### `Region`

###### 字段

-   `height` (单位:千美元)`number`(中文(简体) )
-   `width` (单位:千美元)`number`(中文(简体) )
-   `x` (单位:千美元)`number`(中文(简体) )
-   `y` (单位:千美元)`number`(中文(简体) )

### `Size`

两个数字表示 Bbox 的大小为 \[宽,高\] 或 \[xSize, ySize\] (`[number, number]`) (中文(简体) ). 或者,两个数字表示数字的最小和最大,例如: 或者,两个数字表示矩阵的尺寸:行,相(这是不同的手性!)

### `TileZoomLevel`

###### 字段

-   `columns` (单位:千美元)`number`(中文(简体) )
-   `height` (单位:千美元)`number`(中文(简体) )
-   `originalHeight` (单位:千美元)`number`(中文(简体) )
-   `originalWidth` (单位:千美元)`number`(中文(简体) )
-   `rows` (单位:千美元)`number`(中文(简体) )
-   `scaleFactor` (单位:千美元)`number`(中文(简体) )
-   `width` (单位:千美元)`number`(中文(简体) )

### `Tileset`

###### 类型

```ts
{
  width: number
  height?: number | undefined
  scaleFactors: Array<number>
}
```

## 常见问题

### @allmaps/iiif-parser 是什么？

Allmaps IIIF 解析器

### 如何安装 @allmaps/iiif-parser？

在项目目录运行 npm install @allmaps/iiif-parser，或使用 pnpm add / yarn add / bun add。

### @allmaps/iiif-parser 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/allmaps\_\_iiif-parser 是否存在。

### @allmaps/iiif-parser 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @allmaps/iiif-parser 可以商用吗？

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

### @allmaps/iiif-parser 的下载量有多少？

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

### @allmaps/iiif-parser 还在维护吗？

最新版本 1\.0\.0-beta\.49 发布于 2026/09/22（1 个月前）；至今共发布 60 个版本，其中过去 12 个月发布了 4 个；首次发布于 2021/04/13。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

