@allmaps/iiif-parser

中文文档
1.0.0-beta.49发布于 2026/09/22MITES Module近 30 天下载 1.5万

Allmaps IIIF 解析器

中文使用文档
文档目录121 节
  1. 安装
  2. 使用量
  3. 国 际
  4. 许可证
  5. API 密码
  6. new Canvas(parsedCanvas)
  7. Canvas#annotations?
  8. Canvas#description?
  9. Canvas#height
  10. Canvas#homepage?
  11. Canvas#image
  12. Canvas#label?
  13. Canvas#metadata?
  14. Canvas#navDate?
  15. Canvas#navPlace?
  16. Canvas#provider?
  17. Canvas#rendering?
  18. Canvas#requiredStatement?
  19. Canvas#rights?
  20. Canvas#seeAlso?
  21. Canvas#summary?
  22. Canvas#thumbnail?
  23. Canvas#type
  24. Canvas#uri
  25. Canvas#width
  26. new Collection(parsedCollection, options)
  27. Collection#annotations?
  28. Collection#canvases
  29. Collection#embedded
  30. Collection#fetchAllItems(options)
  31. Collection#fetchItemWithId(id, fetchFn)
  32. Collection#fetchItemWithIndex(index, fetchFn)
  33. Collection#fetchNextItem(options, depth)
  34. Collection#fetchUntilPath(path)
  35. Collection#getItemAtPath(path)
  36. Collection#homepage?
  37. Collection#images
  38. Collection#items
  39. Collection#provider?
  40. Collection#rendering?
  41. Collection#requiredStatement?
  42. Collection#rights?
  43. Collection#seeAlso?
  44. Collection#source?
  45. Collection#summary?
  46. Collection.parse(iiifCollection, options)
  47. new EmbeddedCollection(parsedCollection)
  48. EmbeddedCollection#description?
  49. EmbeddedCollection#embedded
  50. EmbeddedCollection#label?
  51. EmbeddedCollection#majorVersion
  52. EmbeddedCollection#metadata?
  53. EmbeddedCollection#navDate?
  54. EmbeddedCollection#navPlace?
  55. EmbeddedCollection#thumbnail?
  56. EmbeddedCollection#type
  57. EmbeddedCollection#uri
  58. EmbeddedCollection.parse(iiifCollection, options)
  59. new EmbeddedImage(parsedImage, options)
  60. EmbeddedImage#embedded
  61. EmbeddedImage#getImageRequest(size, mode)
  62. EmbeddedImage#getImageUrl(imageRequest, options)
  63. EmbeddedImage#height
  64. EmbeddedImage#majorVersion
  65. EmbeddedImage#maxArea
  66. EmbeddedImage#maxHeight
  67. EmbeddedImage#maxWidth
  68. EmbeddedImage#preferredFormats?
  69. EmbeddedImage#supportedFormats
  70. EmbeddedImage#supportsAnyRegionAndSize
  71. EmbeddedImage#type
  72. EmbeddedImage#uri
  73. EmbeddedImage#width
  74. new EmbeddedManifest(parsedManifest)
  75. EmbeddedManifest#description?
  76. EmbeddedManifest#embedded
  77. EmbeddedManifest#label?
  78. EmbeddedManifest#majorVersion
  79. EmbeddedManifest#metadata?
  80. EmbeddedManifest#navDate?
  81. EmbeddedManifest#navPlace?
  82. EmbeddedManifest#thumbnail?
  83. EmbeddedManifest#type
  84. EmbeddedManifest#uri
  85. new IIIF()
  86. IIIF.parse(iiifResource, options)
  87. new Image(parsedImage, options)
  88. Image#embedded
  89. Image#getImageRequest(size, mode)
  90. Image#getTileImageRequest(zoomLevel, column, row)
  91. Image#sizes?
  92. Image#source?
  93. Image#tileZoomLevels
  94. Image.parse(iiifImage, parseOptions)
  95. ImageRequest
  96. ImageUrlOptions
  97. LanguageString
  98. MajorVersion
  99. new Manifest(parsedManifest, options)
  100. Manifest#annotations?
  101. Manifest#canvases
  102. Manifest#embedded
  103. Manifest#fetchAllItems(fetchFn)
  104. Manifest#fetchImageByUri(imageUri, fetchFn)
  105. Manifest#fetchNextItem(fetchFn, depth)
  106. Manifest#homepage?
  107. Manifest#images
  108. Manifest#provider?
  109. Manifest#rendering?
  110. Manifest#requiredStatement?
  111. Manifest#rights?
  112. Manifest#seeAlso?
  113. Manifest#source?
  114. Manifest#summary?
  115. Manifest.parse(iiifManifest, options)
  116. Metadata
  117. ProfileProperties
  118. Region
  119. Size
  120. TileZoomLevel
  121. Tileset

@allmaps/if-parser (英语)

这是用于解析 IIIF 的 JavaScript 模块 收款, (中文(简体) ), 声明 财务报告和审定财务报表 图像这是一个核心模块 所有图 并用于其所有应用和组件.

注:本模块将IIIF数据解为Allmaps内部使用的中间格式. 它没有分析 全部 由 IIIF 图像和演示文稿 APIs 定义的属性,只有 Allmaps 函数所需的属性. 参见 src/classes 财务报告和审定财务报表 src/schemas 这些 proeprties 的细节目录 .

@allmaps/iiif-parser 使用 TypeScript 书写并使用 佐德语Name。 。 。 .

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

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

安装

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

节点.js:

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

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

浏览器 :

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

使用量

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 转到控制台 :

{
  "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 类上:

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 转到控制台 :

{
  "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 属性 :

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。 。 。 .

例如:

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?

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

Canvas#description?

类型
{[language: string]: Array<string | number | boolean>}

Canvas#height

类型
number

Canvas#homepage?

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

Canvas#image

类型
EmbeddedImage | Image

Canvas#label?

类型
{[language: string]: Array<string | number | boolean>}

Canvas#metadata?

类型
Array<MetadataItem>

Canvas#navDate?

类型
Date

Canvas#navPlace?

类型
object

Canvas#provider?

类型
Array<Agent>

Canvas#rendering?

类型
Array<{
  id: string
  type?: string
  label?: LanguageString
  format?: string
}>

Canvas#requiredStatement?

类型
{label: LanguageString; value: LanguageString}

Canvas#rights?

类型
string

Canvas#seeAlso?

类型
Array<{id: string; type?: string; format?: string; profile?: string}>

Canvas#summary?

类型
{[language: string]: Array<string | number | boolean>}

Canvas#thumbnail?

类型
Array<{
  id: string
  type?: string
  format?: string
  width?: number
  height?: number
}>

Canvas#type

类型
CanvasTypeString

Canvas#uri

类型
string

Canvas#width

类型
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?

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

Collection#canvases

类型
Array<Canvas>

Collection#embedded

类型
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?

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

Collection#images

类型
Array<EmbeddedImage | Image>

Collection#items

类型
Array<never>

Collection#provider?

类型
Array<Agent>

Collection#rendering?

类型
Array<{
  id: string
  type?: string
  label?: LanguageString
  format?: string
}>

Collection#requiredStatement?

类型
{label: LanguageString; value: LanguageString}

Collection#rights?

类型
string

Collection#seeAlso?

类型
Array<{id: string; type?: string; format?: string; profile?: string}>

Collection#source?

类型
unknown

Collection#summary?

类型
{[language: string]: Array<string | number | boolean>}

Collection.parse(iiifCollection, options)

解析 IIIF 收藏并返回 a 收藏 包含解析版本

参数
  • 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?

类型
{[language: string]: Array<string | number | boolean>}

EmbeddedCollection#embedded

类型
true

EmbeddedCollection#label?

类型
{[language: string]: Array<string | number | boolean>}

EmbeddedCollection#majorVersion

类型
1 | 2 | 3

EmbeddedCollection#metadata?

类型
Array<MetadataItem>

EmbeddedCollection#navDate?

类型
Date

EmbeddedCollection#navPlace?

类型
object

EmbeddedCollection#thumbnail?

类型
Array<{
  id: string
  type?: string
  format?: string
  width?: number
  height?: number
}>

EmbeddedCollection#type

类型
CollectionTypeString

EmbeddedCollection#uri

类型
string

EmbeddedCollection.parse(iiifCollection, options)

解析 IIIF 收藏并返回 a 收藏 包含解析版本

参数
  • 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

类型
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

类型
number

EmbeddedImage#majorVersion

类型
1 | 2 | 3

EmbeddedImage#maxArea

类型
number | undefined

EmbeddedImage#maxHeight

类型
number | undefined

EmbeddedImage#maxWidth

类型
number | undefined

EmbeddedImage#preferredFormats?

类型
Array<string>

EmbeddedImage#supportedFormats

类型
Array<string>

EmbeddedImage#supportsAnyRegionAndSize

类型
boolean

EmbeddedImage#type

类型
ImageTypeString

EmbeddedImage#uri

类型
string

EmbeddedImage#width

类型
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?

类型
{[language: string]: Array<string | number | boolean>}

EmbeddedManifest#embedded

类型
true

EmbeddedManifest#label?

类型
{[language: string]: Array<string | number | boolean>}

EmbeddedManifest#majorVersion

类型
1 | 2 | 3

EmbeddedManifest#metadata?

类型
Array<MetadataItem>

EmbeddedManifest#navDate?

类型
Date

EmbeddedManifest#navPlace?

类型
object

EmbeddedManifest#thumbnail?

类型
Array<{
  id: string
  type?: string
  format?: string
  width?: number
  height?: number
}>

EmbeddedManifest#type

类型
ManifestTypeString

EmbeddedManifest#uri

类型
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

类型
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?

类型
Array<SizeObject>

Image#source?

类型
unknown

Image#tileZoomLevels

类型
Array<TileZoomLevel>

Image.parse(iiifImage, parseOptions)

解析一个 IIIF 图像并返回 a 图像 包含解析版本

参数
  • 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

类型
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?

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

Manifest#canvases

类型
Array<never>

Manifest#embedded

类型
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?

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

Manifest#images

类型
Array<EmbeddedImage | Image>

Manifest#provider?

类型
Array<Agent>

Manifest#rendering?

类型
Array<{
  id: string
  type?: string
  label?: LanguageString
  format?: string
}>

Manifest#requiredStatement?

类型
{label: LanguageString; value: LanguageString}

Manifest#rights?

类型
string

Manifest#seeAlso?

类型
Array<{id: string; type?: string; format?: string; profile?: string}>

Manifest#source?

类型
unknown

Manifest#summary?

类型
{[language: string]: Array<string | number | boolean>}

Manifest.parse(iiifManifest, options)

分析 IIIF 资源并返回 a 声明 包含解析版本

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

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

Metadata

类型
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

类型
{
  width: number
  height?: number | undefined
  scaleFactors: Array<number>
}

版本与发布记录

@allmaps/iiif-parser 共发布 60 个版本,首次发布于 2021/04/13;过去 12 个月发布了 4 个版本。

版本发布日期距今
1.0.0-beta.49latest2026/09/221 个月前
1.0.0-beta.482026/05/295 个月前
1.0.0-beta.472025/11/2711 个月前
1.0.0-beta.462025/11/1111 个月前
1.0.0-beta.452025/07/101.3 年前
1.0.0-beta.442025/07/071.3 年前

其他发布通道:beta → 1.0.0-beta.43。

关于 @allmaps/iiif-parser 的常见问题

@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 和提交记录判断。