pdf Presentation Controller
PDFをプレゼンテーションっぽく表示できるソフト

キーバインド

man pdfpc で見れるよ

  • 2 : ポインターモード
    • マウスカーソルに合わせてポインターが動く
  • Ctrl+N : ノートへの書き込みを開始(Escで終了)
  • Ctrl+T : タイマーのリセット
  • p : タイマーの停止・再開

発表ノート

以下のようなファイルを、PDFと同じディレクトリ・同じファイル名で、拡張子をpdfpcにして置いておくと、発表中にメモが見れる(e.g. slide.pdfと同じディレクトリに slide.pdfpc を置く)

{
  "pdfpcFormat": 2,
  "disableMarkdown": false,
  "noteFontSize": 20,
  "pages": [
    {
      "idx": 0,
      "note": "note here"
    }
  ]
}
 

idx は 0-indexed なページ番号

REST server

pdfpc -V で REST server が立ち上がる(デフォルトは 8088 ポート、-pで変更可)

つかいかた:

  1. ~/.config/pdfpc/pdfpcrc を作る
  2. option rest-passwd PASS という行を作る
    1. PASS の部分は任意のパスワードにする
  3. http://pdfpc:PASS@localhost:8088/api/helo に対してGET
    1. 先ほど設定したパスワードでBasic認証を行う
    2. /api/helo に対して最初にGETしたクライアントのみがRESTサーバーを経由して操作を行える
  4. あとはやるだけ
    1. /api/control{"action": "next"} を PUT すると次のスライド
    2. {"action": "prev"} を PUT すると前のスライド
    3. src/classes/presentation_controller.vala@add_actions() にアクションの一覧がある

src/classes/rest_server.vala"/api/ で検索すればエンドポイントがわかる

dbus-session

  • dbus-send --type=method_call --session --dest=io.github.pdfpc /io/github/pdfpc io.github.pdfpc.TriggerAction string:next で次のスライド
  • string:prev にすると前のスライド
  • 前述したとおり、 src/classes/presentation_controller.vala@add_actions() にアクションの一覧がある