遅ればせながら gir で evince を使う方法がやっと解った。
以下のファイル形式がこの手段で開けるようです。
ようするに Evince で開けるファイルということですけど。
PDF, CBR/CBZ, PostScript, TIFF, XPS, Djvu
#!/usr/bin/env python3 import gi gi.require_version("EvinceDocument", "3.0") gi.require_version("EvinceView", "3.0") gi.require_version("Gtk", "3.0") from gi.repository import Gtk, EvinceDocument, EvinceView URI = "file:///home/sasakima-nao/doc/pdfs/gero-map.pdf" #URI = "file:///home/sasakima-nao/doc/pdfs/postscript.ps" #URI = "file:///home/sasakima-nao/doc/pdfs/kokomin.tiff" #URI = "file:///home/sasakima-nao/doc/pdfs/erohon.cbz" EvinceDocument.init() doc = EvinceDocument.Document.factory_get_document(URI) model = EvinceView.DocumentModel.new_with_document(doc) view = EvinceView.View() view.set_model(model) scroll = Gtk.ScrolledWindow() scroll.add(view) win = Gtk.Window() win.add(scroll) win.connect("delete-event", Gtk.main_quit) win.resize(600, 600) win.show_all() Gtk.main()
URI は各自の手持ちに書き換えてね。
init は必須、呼ばないとエラーになる。
EvinceDocument はファイル形式につては自動判別してくれるようです。
EvinceView は GtkScrolledWindow 以外には乗せることができないので注意。
マルチページ分はスクロールすると表示される。
Djvu なんて知らなかったし今後も普及するとは思えないけど。
CBR はもちろん unrar 必須です、HONDA のバイクじゃ(以下略
TIFF はマルチページを作る手段を知らないのでそれは試していない。
アーカイブして拡張子を変えるだけの CBR/CBZ のほうが使い勝手がいいしね。
ま、実際のところ PDF 以外での利用はほぼ無いと思う。