先日開催された「鹿児島Linux勉強会 2026.10」の発表で「SBC再利用でディジタルサイネージを作る」というものがありました。
余っている古めのSBC(シングルボードコンピューター)をイベントの展示で利用するデジタルサイネージ取りて活用する話でした。
発表後デモ用のスライドを自動再生させたいという話に。
そういえば以前 #koedolug で @hatochan@mstdn.maud.io からhtmlでのプレゼンテーションツールのReveal.jsで同じようなことできないかなという話が出たときにAsciidoc Reveal.js で以下のようなスライドを試していました。
しかし今回はSBCでウェブブラウザは重いのでPDFスライドを自動再生させたいということで少し探してみました。
手元の端末に入っているいくつかのPDFプレゼンテーションツールのmanを見るとImpressiveにそれらしいオプションがあります。
-a <seconds> or --auto <seconds> Automatically advance to the next page after the given number of seconds. Together with the -w option (described below), this can be used to create automatic slideshows. Note that this option will not interrupt video playback: If a video is longer than the interval specified with --auto, it will be played until the end, but Impressive will change to the next page directly after that.
— man impressive
-w or --wrap If this option is set, Impressive will "wrap" over to the first page after the last page. In other words, advancing to the next page at the end of the presentation will restart the whole presentation.
— man impressive
この --auto と --wrap を使って実現できました.
ただ、ページ遷移時のトランジションがランダムでちょっと鬱陶しいようなということでトランジションのオプションも。
-t <trans1[,trans2...]> or --transition <trans1[,trans2...]> Using this switch, the set of transitions Impressive will randomly draw at page changes can be specified. If only one transition class is specified, this class will be used for all pages that do not have another transition ex‐ plicitly assigned in their page properties. Multiple transitions have to be separated by commas; they will be used in random order. The -l option can be used to get a list of available transitions.
— man impressive
-l でトランジションの一覧が表示できます。これを -t , --transition に指定することでトランジションを指定できました。
$ impressive -l 2>/dev/null Available transitions: Crossfade - simple crossfade FadeOutFadeIn - fade out to black and fade in again None - no transition PagePeel - an unrealistic, but nice page peel effect SlideDown - slide downwards SlideLeft - slide to the left SlideRight - slide to the right SlideUp - slide upwards SqueezeDown - squeeze downwards SqueezeLeft - squeeze to the left SqueezeRight - squeeze to the right SqueezeUp - squeeze upwards * WipeBlobs - wipe using nice "blob"-like patterns WipeBrightness1 - wipe based on the current slide's brightness WipeBrightness2 - wipe based on the next slide's brightness WipeCenterIn - wipe from the corners inwards * WipeCenterOut - wipe from the center outwards WipeClouds - wipe using cloud-like patterns * WipeDown - wipe downwards WipeDownLeft - wipe from the upper-right to the lower-left corner * WipeDownRight - wipe from the upper-left to the lower-right corner WipeLeft - wipe from right to left * WipeRight - wipe from left to right WipeUp - wipe upwards WipeUpLeft - wipe from the lower-right to the upper-left corner WipeUpRight - wipe from the lower-left to the upper-right corner (transitions with * are enabled by default)
ということで合わせてこんな感じで。
$ impressive \ --auto 30 \ (1) --wrap \ (2) --transition None \ (3) slide.pdf (4)
30秒でページ送り
最終ページから最初のページに遷移
トランジションを
Noneに(カンマ区切りで複数指定可能)スライドPDF
Impressive maual page
Reposts
Likes