5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

IoTLTAdvent Calendar 2020

Day 19

RaspberryPi zeroで高速にPDFを表示する(mac出力のPDFにも対応)

Last updated at Posted at 2020-12-25

この記事はIoTLTアドベントカレンダー19日目です!(本当に大遅刻です.ごめんなさい...)

さて,ご時世もあってオフラインでプレゼンする機会は減りましたが,思い返せばオフラインでプレゼンっていうのは問題が多かったですよね.
プロジェクターとパソコンの相性,コネクタ問題,スライドサイズ....めんどくさい!
スクリーンショット 2020-12-25 20.18.16.png

そんなめんどくささを解決するために,プロジェクターの入力にラズパイを繋ぎっぱなしにしておく方法を思いつきました.
繋ぎっぱなしのラズパイにスライドをアップロード・遠隔操作することでプロジェクターとパソコンの相性問題を解決します!
スクリーンショット 2020-12-25 20.18.41.png

RaspberryPi(CUI)でPDFを映したい

まずは第一段階,RaspberryPiからプレゼン資料(pdf)をHDMI出力したいです.
コストを考えてRaspberryPiのモデルはZeroを選びました.
「pdfを出力するだけにそんなスペックは要らないだろう!」と思ったわけです.
ですが,やはりRaspberryPi zeroはスペック的に貧弱.少しでも処理に余裕が持たせられるようにOSはRaspbian Lite(CUI)を選択しました.
と,なると.X WindowなどGUIシステムがない環境でPDFを表示する必要が出てきます.
実現は簡単で,表示したいデータをframebufferというメモリ領域に直接書き込めばHDMIにそのまま出力されます.
んで,世の中にはPDFをframebufferを使って表示するアプリがいくつかあります.便利ですね!
では何を使ったらいいんでしょうか...? いろいろ試してみました.

うまくいかなかったやつ

・fbi
・fbpdf
・fbgs
などなど...他にも試した気がするがどれもうまくいかなかった.
画質が悪かったり,raspberryPi zeroでは動作が重いものが多い.
あと,とにかくmacが出力したpdfに対応しているものが無い!
私はmacのkeynoteでプレゼン資料を作るので,これは致命的.(フォントの関係やpdfの仕様の違いなど問題の闇は深そう)

うまくいったやつ(jfbview)

サクサク動作でmac PDFも問題なく映せる,そんな夢のようなPDF Viewrがjfbviewです.
https://github.com/jichu4n/jfbview

インストールする

環境は以下の通り.
・Raspberry Pi Zero W Rev 1.1
・Raspbian GNU/Linux 10 (buster)

まずは公式リポジトリのリリースからdebファイルをダウンロードする.
https://github.com/jichu4n/jfbview/releases
いろんな環境向けにパッケージが用意されている.
今回私の環境はRaspberryPiでOSのバージョンはbusterなので, jfbview_0.6.0.buster_rpi.debをダウンロードする.自分の環境に合わせて適宜選んで欲しい.

$ wget https://github.com/jichu4n/jfbview/releases/download/0.6.0/jfbview_0.6.0.buster_rpi.deb

ダウンロードしたパッケージをインストールする

$ sudo apt install ./jfbview_0.6.0.buster_rpi.deb 

これでインストール完了!簡単!

使ってみる

使い方は簡単,基本は映したいファイルを渡すだけ.
オプションも充実で
--zoom_to_fit ・・・ 表示サイズを画面にフィットさせる
--cache_size=N ・・・ ページを先読み(キャッシュ)する数,多ければ多いほど高速なめくりに対応できるがRAMをいっぱい使う
など,他にも色々ある.

$ jfbview --zoom_to_fit iotlt.pdf

かなり綺麗にpdfが表示される.動きもサクサク!
output.gif

矢印キーの上下でページ送り. qキーで終了する.
その他基本操作はvimに似たような感じ,詳しくは以下manを参照.
https://htmlpreview.github.io/?https://github.com/jichu4n/jfbview/blob/master/doc/jfbview.1.html

まとめ

無事,サクサクにpdfが表示されました!(しかもmac出力の)
実際にプロジェクターにつないでテストもしてみましたが,問題なく動いています.
あとはネットワークを使ってファイルをアップロードしたり,スライドを遠隔操作したりする部分を作りたいですね!(そうしないとIoTじゃないので)
では,皆さん良い年末を〜

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?