Next.jsでUniversal Viewerのnpmパッケージを使用する

概要 Next.jsでUniversal Viewerのnpmパッケージを使用する方法の備忘録です。 インストール 以下でインストールします。 n p m i u n i v e r s a l v i e w e r 実装 useEffectを使うため、クライアントコンポーネントとして実装する必要があるようでした。 またdivタグにuvクラスを与えることで、cssが当たるようになりました。 ' i i i } f } c } e u m m n u o ) x s p p t m c x n u } r n s l ) p e o o e a v y コ c s , e S s s o , o r r r n ? w ン t e c r i t < S t r a < r c t t f i : h ポ i E o e n [ u d R : d d / t l a f ? ー o f n q i m r i を V i i s } ビ d i { d c e n : ネ n f u s u t a n v 無 i f n v t } ュ i d e y e s u ン e n t i ( n 効 e a g y w h d j a b ー v e n u n t m s ト V c i r ' i ( i 化 w l : l i e i u l a ワ > f t s a V : b t の i t v { e u f d し e s e d i s s i c ー a ' e m i e r 実 e ( e ( v e = 、 r e = t g p t g k を u E i e s r i 装 w ( r i ' ' s " ク , { h h l i n g 読 l f c w t n e ) s n u , t u ラ = { : t a f I r み t f e r g r a i n , v イ = : y y t o 込 e f r i C = l t i { " ア d > ' : C e u み V c r P n o > v v c ン y 1 ' o m n 中 i t o r g m i } e m v c ト n 0 6 ' n s d . e m o p { e r a , l サ a 0 0 f t : : . w } p o w = s n a イ m % v l e . e ' s n e a i x s ド i ' h e n ' ' r f n e r r l f y s で c , ' x t c # r e { n を e v e w N の ( , ' : e f o x t イ q i s h a み ( , n 0 m t ( ン u e t ] m レ ) ' t f { ポ i w , ) e ン c e 0 ' d ー r e = ダ = e r f r y m ト e r c " リ > n ' 0 e n a し ( a u ン t , ' a a n て ' d n v グ P e , c m i 初 u i v " す r r t i f 期 n s a る o ' ' c e 化 i t s s コ m , ' s v / I t ン i t e e n y ポ s , r s d l ー e s m e e ネ . c a / x = ン r v l i : { ト e , v n { s i d c o x e e v w l y w x , i v w e . d e h r c x t ( ' s y h V } ) s w : i : ' h e ) ' w V } 1 e i ) 0 r e 0 C w % o e ' m r , p P o r h n o e e p i n s g t ) h ) t , { : { ' 6 0 v h ' } } > < / d i v > 他にも使用可能なオプションがあるかと思いますが、cvで処理ロードするcanvasのインデックス、xywhで表示する矩形を指定することができました。 ...

2025年3月23日 · 4 分 · Nakamura

Universal Viewerにおける画像のコマ指定方法の一例

近年、博物館や図書館、文書館などにおいて、画像共有のための国際的な枠組みであるInternational Image Interoperability Framework(IIIF)を用いた画像公開が一般的になりつつあります。 https://iiif.io/ このIIIF画像の公開にあたり、MiradorやUniversal Viewerなどのビューアが使用されます。 https://projectmirador.org/ https://universalviewer.io/ 特に後者のUniversal Viewerが採用されたデジタルアーカイブシステムにおいては、「#?cv={画像のコマのインデックス}」を与えることで、コマを指定したURLを取得できることが多いです。 注意点として、インデックスは0からスタートしますので、2コマ目を指定したい場合には1を指定します。 「京都大学貴重資料デジタルアーカイブ」の例は以下です。 https://rmda.kulib.kyoto-u.ac.jp/item/rb00000125#?cv=1 「同志社大学デジタルコレクション」の例は以下です。 https://dgcl.doshisha.ac.jp/digital/collections/MD00000380/#?cv=1 ビューアがカスタマイズされている場合など、上記のパラメータが使用できない場合もありますが、コマ数を指定した画像共有のためのURL取得にあたり、参考になりましたら幸いです。

2024年2月2日 · 1 分 · Nakamura

Universal Viewer v4を使ったページの作成例

概要 以下のように、ページ全体にUniversal Viewerが表示されるページを作成しましたので、その備忘録です。Universal Viewer v4を使用しています。 https://nuxt3-demo-nine.vercel.app/uv/?manifest=https://dl.ndl.go.jp/api/iiif/3437686/manifest.json ソースコード 以下のソースコードを参考にしてください。 https://github.com/nakamura196/nuxt3-demo/blob/main/public/uv/index.html 以下のページにある https://github.com/UniversalViewer/universalviewer/wiki/UV-Examples 以下のサンプルを参考に、ページのリサイズに応じて、ビューアのサイズも変更されるようにしています。 https://codesandbox.io/s/uv-url-adapter-example-9d6x8 また、manifestというクエリパラメータを受け取る記述も含めています。 参考 以下を参考に、cdnを利用しない形でのNuxt3への導入を試みましたが、うまく動作させることができませんでした。こちらについては、引き続き調査を行いたいと思います。 https://codesandbox.io/s/uv-vite-example-9ie3rh まとめ 以下のページで、v3を用いた全画面表示の例が公開されていますが、本記事執筆時点では、v4の例が見当たりませんでした。 https://universalviewer.io/examples/uv/uv.html#?manifest=https://dl.ndl.go.jp/api/iiif/3437686/manifest.json 参考になりましたら幸いです。

2023年11月24日 · 1 分 · Nakamura