ブックリーダー Kavita を Ubuntu でセットアップして PDF 文献の整理に使ってみる

「朝のモクモク読書会オンライン」で Kavita いいよ! と教えてもらったので、試してみます。

# Kavita とは

- 電子書籍リーダー
- サーバーインストールしてブラウザを使って読むタイプ
- Acrobat Reader などと比べて軽い
- マルチプラットフォームで Windows/Linux/OSX
- Docker も用意されている

文献調査するときに、膨大な pdf を使うのだけれども散らかって仕方がない。これを使うと整理できるかな?

# 環境

- Ubuntu 22.04 LTS
- Kavita 0.8.1


# セットアップ


https://github.com/Kareadita/Kavita/releases
こちらからダウンロード。試した release は 0.8.1 で、kavita-linux-x64.tar.gz を用いてネイティブインストールで試してみました。



解凍
```
$ tar xzvf kavita-linux-x64.tar.gz 
$ cd Kavita/
$ ls -alh Kav*
-rw-r--r-- 1 nanbuwks nanbuwks 71K  4月 13 07:02 Kavita
-rwxr-xr-x 1 nanbuwks nanbuwks 16K  4月 13 07:01 Kavita.Common.dll
-rw-r--r-- 1 nanbuwks nanbuwks 19K  4月 13 07:01 Kavita.Common.pdb
$ chmod a+x Kavita
$ ./Kavita
```

ちなみに、kavita-linux-musl-x64.tar.gz をダウンロードしたら、以下のようにダメだった。 musl って何かな?


解凍
```
$ tar xzvf kavita-linux-musl-x64.tar.gz 
$ cd Kavita/
$ ls -alh Kav*
-rw-r--r-- 1 nanbuwks nanbuwks 73K  4月 23 04:06 Kavita
-rwxr-xr-x 1 nanbuwks nanbuwks 16K  4月 23 04:02 Kavita.Common.dll
-rw-r--r-- 1 nanbuwks nanbuwks 19K  4月 23 04:02 Kavita.Common.pdb
$ chmod a+x Kavita
$ ./Kavita
bash: ./Kavita: そのようなファイルやディレクトリはありません
```

ブラウザから

http://localhost:5000/registration/register
にアクセスすると以下のように出るので適当に登録する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/d5dfebe1-5e21-c7cd-9e61-270be386900c.png)
先に登録したアカウントでログイン
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/5936fac7-5df4-e2ef-2e77-554574b42f0d.png)

ログイン直後。「Server settings.」をしてみる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/de24ed11-f294-1c6b-d1de-1f13fab1a347.png)

ライブラリを作ってみます。日本語もOKのようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/a28497b5-c62c-16db-0899-8248cfe80843.png)

ライブラリの Folder を適当に pdf のあるディレクトリに設定して、以下の更新ボタンを押しますが何も起きませんでした。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/a2772b40-40b4-bc08-2253-060285b2e1df.png)

どうやらライブラリの Folder 直下には文書ファイルを置けないらしいです。適当にフォルダに分けて pdf を再配置しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/5d0ed473-26a5-b754-2fa0-b007440c0480.png)
スキャンし直します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/9c5cf98b-91ff-e270-4fcc-b19f90a625ab.png)

フォルダが配置した pdf サムネイル表示で出てきました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/5899ffdb-7dff-8cdb-00ea-2d3e16f08373.png)

文書を読んでみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/1bfea4e0-629c-ebb5-642e-43ed066bc59a.png)

右上のココらへんを適当に押すと
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/5832834c-a393-5de5-d70e-b9fdd283c3b4.png)
縦配置、横配置、2ページ配置などができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/a3c78667-3906-d611-009c-249431dcc813.png)

良さそうですね。しばらく使ってみることにします。

# 問題点


2024/6/2 時点での問題として、いまのところ僕が読んでいる文献では遭遇していないのですが、 bcmap 使う PDF で問題が起きるようです。
「朝のモクモク読書会オンライン」 でKavita 教えてもらった方が issue 立てています。
https://github.com/Kareadita/Kavita/issues/2970

> Received. I'll work on this soon. I'm currently without power due to a big storm hitting Texas.

テキサスが嵐に襲われているそうで、しばらくしてバージョンアップしたらいいかも。

# バージョンアップ

その後、テキサスの天候が回復して修正がプッシュアップされました。
管理者画面でバージョンアップのボタンがあるけれども、コレを押しても github ページに行くだけでした。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/7ddd8dc5-bd2a-d66a-6721-eb60b9e3a507.png)

こちらにアップデートの方法がありました。
https://wiki.kavitareader.com/guides/updating

今回はネイティブ実行なので、上書きで良さそうです。

https://github.com/Kareadita/Kavita/releases/

リリースの場合はこちらから、ダウンロードして解凍します。

今回はリリース前の develop branch を試して笑みました。 https://github.com/Kareadita/Kavita/pull/2977 

Kavita を止めて上書きします。
```
$ unzip Kavita-develop.zip 
$ cd Kavita-develop/
$ cp -a * ../Kavita
```

Kavita を起動し直すと、うまく動きました。


# PDF 文献の整理に使ってみる

ライブラリとして登録したディレクトリのフォルダ構成を以下のようにしてみました。
```
$ tree -d
.
├── NASA
├── SPSS
├── fungi
├── tether
├── zeroG
├── その他
│   ├── 化学合成
│   └── 酵母
├── デブリ
└── 気体組成
```
このディレクトリは以下のように出てきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/5cbdb86a-c534-4058-2203-cac665b60b59.png)

階層化ディレクトリは階層化ライブラリにはならないようですね。

ディレクトリは Series として登録され、そのうちの1つを開いてみます。

zeroG ディレクトリ内部には以下のように pdf が収録されていますが、
```
zeroG
├── 20211022.pdf
├── 2030763507.pdf
├── 34_KJ00001586627.pdf
├── BSJ-Review11A_60-74.pdf
├── NASATM2020-5008832NASAsContributionstoVerticalFarming.pdf
├── Plant Cell   Environment - 2008 - HANGARTER - Gravity  light and plant form.pdf
├── SA6000132018.pdf
├── np-2016-06-016-jsc_plant_research_mini_book508c.pdf
├── s41598-024-51573-y.pdf
└── st_space_63E.pdf

```

Kavita では以下のように表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/89ab3443-ec75-fa2c-71e6-1aa187f7d13d.png)

それぞれについて、タグとか登録できないかな?

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/6142cc0a-de04-0a53-7333-d01817fd6241.png)
Metadata とか書けないかなと思ったけれどもうまくいきません。
そのような機能は、Series に対して行う感じかな?
小さな pdf の整理をしようとすると、ちょっと工夫が必要かな。