翻译者:宋杰

原文地址:https://iiif.io/api/cookbook/recipe/0035-foldouts/

用例

书籍(和其他物品)有时包括折页或纸张,例如历史作品中的地图。在数字化过程中,折页可能以其折叠和展开的状态被捕获。

在前面的专题中,在单一视图中的多个图像选择中,翻页被作为同一视图的图像选择提供给用户。但请考虑这个例子。

image.png

在这里,这一页已经被捕捉到折叠和展开的情况。与前面的例子不同,这不是同一个视图。没有一个单一的IIIF Canvas可以用来表示这两个空间范围—我们不能在逻辑上将这两个图像放在同一个空间视图上。

虽然目前的例子和《单一视图中的图像的多重选择》中给出的例子明显不同,但建模的决定可能并不总是那么明显。会有一些案例可以用两种方式建模,这取决于出版商想要呈现的内容。

实施说明

展开的视图只是 manifest.items 所给序列中的一个额外 Canvas。

这些页面来自一本印刷好的分页书,它的行为 behavior 值可能是 paged,以便在支持该行为的查看器中生成正确的recto-verso-recto-verso 表示。如果我们在 Manifest 的项目 items 中插入一个额外的 Canvas,我们就会破坏这个序列,除非我们在 Canvas 上引入一个额外的行为 behavior 属性,让折页使用 non-paged 的值来表示它不是分页序列的一部分。

例子

这个例子改编自https://wellcomelibrary.org/iiif/b29346423/manifest,但为了表达基本观点,对其进行了大幅缩减。

清单 Manifest 被赋予了分页 paged 的行为 behavior。在没有其他限定词的情况下,这表示一个从左到右的序列,第一项是直角。

这个顺序是

封面
封面内页
折叠的,折叠的
折页,展开(给定行为 behavior 非分页 non-paged,表示它不构成清单分页序列的一部分)。
折页,折叠(背面)。
标题页
标题页的背面
正常的页数会在这里继续;为了简洁起见,在本说明书中被删除了
封面内侧
封面背面
Canvases上的 “非分页 non-page “行为还没有被浏览者支持,这使得它很难被可视化。在缩略图视图中产生的布局将看起来像这样。
image.png
JSON-LD

  1. {
  2. "@context": "http://iiif.io/api/presentation/3/context.json",
  3. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/manifest.json",
  4. "type": "Manifest",
  5. "label": {
  6. "en": [
  7. "Outlines of geology being the substance of a course of lectures delivered in the Theatre of the Royal Institution in the year 1816"
  8. ]
  9. },
  10. "behavior": [
  11. "paged"
  12. ],
  13. "items": [
  14. {
  15. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/1",
  16. "type": "Canvas",
  17. "height": 4429,
  18. "width": 2533,
  19. "label": {
  20. "en": [
  21. "Front cover"
  22. ]
  23. },
  24. "items": [
  25. {
  26. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/1/1",
  27. "type": "AnnotationPage",
  28. "items": [
  29. {
  30. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0001-image",
  31. "type": "Annotation",
  32. "motivation": "painting",
  33. "body": {
  34. "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-1_frontcover/full/max/0/default.jpg",
  35. "type": "Image",
  36. "format": "image/jpeg",
  37. "height": 4429,
  38. "width": 2533,
  39. "service": [
  40. {
  41. "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-1_frontcover",
  42. "type": "ImageService3",
  43. "profile": "level1"
  44. }
  45. ]
  46. },
  47. "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/1"
  48. }
  49. ]
  50. }
  51. ]
  52. },
  53. {
  54. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/2",
  55. "type": "Canvas",
  56. "height": 4315,
  57. "width": 2490,
  58. "label": {
  59. "en": [
  60. "Inside front cover"
  61. ]
  62. },
  63. "items": [
  64. {
  65. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/2/1",
  66. "type": "AnnotationPage",
  67. "items": [
  68. {
  69. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0002-image",
  70. "type": "Annotation",
  71. "motivation": "painting",
  72. "body": {
  73. "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-2_insidefrontcover/full/max/0/default.jpg",
  74. "type": "Image",
  75. "format": "image/jpeg",
  76. "height": 4315,
  77. "width": 2490,
  78. "service": [
  79. {
  80. "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-2_insidefrontcover",
  81. "type": "ImageService3",
  82. "profile": "level1"
  83. }
  84. ]
  85. },
  86. "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/2"
  87. }
  88. ]
  89. }
  90. ]
  91. },
  92. {
  93. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/3",
  94. "type": "Canvas",
  95. "height": 4278,
  96. "width": 2197,
  97. "label": {
  98. "en": [
  99. "Foldout, folded"
  100. ]
  101. },
  102. "items": [
  103. {
  104. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/3/1",
  105. "type": "AnnotationPage",
  106. "items": [
  107. {
  108. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0003-image",
  109. "type": "Annotation",
  110. "motivation": "painting",
  111. "body": {
  112. "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-folded/full/max/0/default.jpg",
  113. "type": "Image",
  114. "format": "image/jpeg",
  115. "height": 4278,
  116. "width": 2197,
  117. "service": [
  118. {
  119. "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-folded",
  120. "type": "ImageService3",
  121. "profile": "level1"
  122. }
  123. ]
  124. },
  125. "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/3"
  126. }
  127. ]
  128. }
  129. ]
  130. },
  131. {
  132. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/4",
  133. "type": "Canvas",
  134. "behavior": [
  135. "non-paged"
  136. ],
  137. "height": 1968,
  138. "width": 3688,
  139. "label": {
  140. "en": [
  141. "Foldout, unfolded"
  142. ]
  143. },
  144. "items": [
  145. {
  146. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/4/1",
  147. "type": "AnnotationPage",
  148. "items": [
  149. {
  150. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0004-image",
  151. "type": "Annotation",
  152. "motivation": "painting",
  153. "body": {
  154. "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-4_foldout/full/max/0/default.jpg",
  155. "type": "Image",
  156. "format": "image/jpeg",
  157. "height": 1968,
  158. "width": 3688,
  159. "service": [
  160. {
  161. "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-4_foldout",
  162. "type": "ImageService3",
  163. "profile": "level1"
  164. }
  165. ]
  166. },
  167. "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/4"
  168. }
  169. ]
  170. }
  171. ]
  172. },
  173. {
  174. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/5",
  175. "type": "Canvas",
  176. "height": 1968,
  177. "width": 3688,
  178. "label": {
  179. "en": [
  180. "Foldout, folded (recto)"
  181. ]
  182. },
  183. "items": [
  184. {
  185. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/5/1",
  186. "type": "AnnotationPage",
  187. "items": [
  188. {
  189. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0005-image",
  190. "type": "Annotation",
  191. "motivation": "painting",
  192. "body": {
  193. "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-rotated/full/max/0/default.jpg",
  194. "type": "Image",
  195. "format": "image/jpeg",
  196. "height": 1968,
  197. "width": 3688,
  198. "service": [
  199. {
  200. "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-3_foldout-rotated",
  201. "type": "ImageService3",
  202. "profile": "level1"
  203. }
  204. ]
  205. },
  206. "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/5"
  207. }
  208. ]
  209. }
  210. ]
  211. },
  212. {
  213. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/6",
  214. "type": "Canvas",
  215. "height": 4315,
  216. "width": 2490,
  217. "label": {
  218. "en": [
  219. "Title page"
  220. ]
  221. },
  222. "items": [
  223. {
  224. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/6/1",
  225. "type": "AnnotationPage",
  226. "items": [
  227. {
  228. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0006-image",
  229. "type": "Annotation",
  230. "motivation": "painting",
  231. "body": {
  232. "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-5_titlepage/full/max/0/default.jpg",
  233. "type": "Image",
  234. "format": "image/jpeg",
  235. "height": 4315,
  236. "width": 2490,
  237. "service": [
  238. {
  239. "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-5_titlepage",
  240. "type": "ImageService3",
  241. "profile": "level1"
  242. }
  243. ]
  244. },
  245. "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/6"
  246. }
  247. ]
  248. }
  249. ]
  250. },
  251. {
  252. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/7",
  253. "type": "Canvas",
  254. "height": 4315,
  255. "width": 2490,
  256. "label": {
  257. "en": [
  258. "Back of title page"
  259. ]
  260. },
  261. "items": [
  262. {
  263. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/7/1",
  264. "type": "AnnotationPage",
  265. "items": [
  266. {
  267. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0007-image",
  268. "type": "Annotation",
  269. "motivation": "painting",
  270. "body": {
  271. "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-6_titlepage-recto/full/max/0/default.jpg",
  272. "type": "Image",
  273. "format": "image/jpeg",
  274. "height": 4315,
  275. "width": 2490,
  276. "service": [
  277. {
  278. "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-6_titlepage-recto",
  279. "type": "ImageService3",
  280. "profile": "level1"
  281. }
  282. ]
  283. },
  284. "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/7"
  285. }
  286. ]
  287. }
  288. ]
  289. },
  290. {
  291. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/8",
  292. "type": "Canvas",
  293. "height": 4315,
  294. "width": 2490,
  295. "label": {
  296. "en": [
  297. "Inside back cover"
  298. ]
  299. },
  300. "items": [
  301. {
  302. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/8/1",
  303. "type": "AnnotationPage",
  304. "items": [
  305. {
  306. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0008-image",
  307. "type": "Annotation",
  308. "motivation": "painting",
  309. "body": {
  310. "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-8_insidebackcover/full/max/0/default.jpg",
  311. "type": "Image",
  312. "format": "image/jpeg",
  313. "height": 4315,
  314. "width": 2490,
  315. "service": [
  316. {
  317. "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-8_insidebackcover",
  318. "type": "ImageService3",
  319. "profile": "level1"
  320. }
  321. ]
  322. },
  323. "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/8"
  324. }
  325. ]
  326. }
  327. ]
  328. },
  329. {
  330. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/9",
  331. "type": "Canvas",
  332. "height": 4315,
  333. "width": 2490,
  334. "label": {
  335. "en": [
  336. "Back cover"
  337. ]
  338. },
  339. "items": [
  340. {
  341. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/page/9/1",
  342. "type": "AnnotationPage",
  343. "items": [
  344. {
  345. "id": "https://iiif.io/api/cookbook/recipe/0035-foldouts/annotation/0009-image",
  346. "type": "Annotation",
  347. "motivation": "painting",
  348. "body": {
  349. "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-9_backcover/full/max/0/default.jpg",
  350. "type": "Image",
  351. "format": "image/jpeg",
  352. "height": 4315,
  353. "width": 2490,
  354. "service": [
  355. {
  356. "id": "https://iiif.io/api/image/3.0/example/reference/0a469c27256eda739d43124cc448a3ba-9_backcover",
  357. "type": "ImageService3",
  358. "profile": "level1"
  359. }
  360. ]
  361. },
  362. "target": "https://iiif.io/api/cookbook/recipe/0035-foldouts/canvas/9"
  363. }
  364. ]
  365. }
  366. ]
  367. }
  368. ]
  369. }

相关专题

  • 在一个视图中选择多种图像
  • 由多个图像源组成一个视图