GithubHelp home page GithubHelp logo

mjg / pdfpc Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pdfpc/pdfpc

0.0 3.0 0.0 9.9 MB

A presenter console with multi-monitor support for PDF files.

Home Page: https://pdfpc.github.io/

License: GNU General Public License v2.0

CMake 4.59% CSS 0.35% Vala 94.34% C 0.73%

pdfpc's Introduction

pdfpc

About

pdfpc is a GTK based presentation viewer application which uses Keynote like multi-monitor output to provide meta information to the speaker during the presentation. It is able to show a normal presentation window on one screen, while showing a more sophisticated overview on the other one providing information like a picture of the next slide, as well as the left over time till the end of the presentation. The input files processed by pdfpc are PDF documents, which can be created using nearly any of today's presentation software.

More information, including screenshots and a demo presentation, can be found at https://pdfpc.github.io/

Installation

  • On Ubuntu or Debian systems:

    sudo apt-get install pdf-presenter-console
    
  • On Fedora:

    sudo dnf install pdfpc
    
  • On archlinux:

    sudo pacman -S pdfpc
    
  • On FreeBSD:

    It's available under graphics/pdfpc. A pre built binary is also available.
    
  • On macOS with MacPorts:

    # Nice macOS integration, but no video support currently
    sudo port -v install pdfpc +quartz
    
    # Video support, but window placing might not work well
    sudo port -v install pdfpc +x11
    
  • On Windows 10 (with Windows Subsystem for Linux (WSL)):

    Install:
    1. Windows: Activate WSL: https://msdn.microsoft.com/en-us/commandline/wsl/install_guide
    2. Windows: Open CMD and run: 'bash' in order to start the WSL-bash
    3. WSL-Bash: run: 'sudo apt-get install pdf-presenter-console'
    
    Run:
    1. Windows: Install a Windows X-Server like VcXsrv: https://sourceforge.net/projects/vcxsrv
    2. Windows: Make the presentation screen your secondary screen and disable the taskbar on that screen
    3. Windows: Start the X-Server with: 'vcxsrv -nodecoration -screen 0 @1 -screen 1 @2 +xinerama'
    4. Windows: Open CMD and run: 'bash' in order to start the WSL-bash
    5. WSL-Bash: run: 'DISPLAY=:0 pdfpc <your PDF file>' to open your presentation with pdfpc
    

Sample presentations

Try it out:

pdfpc pdfpc-demo.pdf

Compile and install

Requirements

In order to compile and run pdfpc the following requirements need to be met:

  • CMake Version >=3.0
  • vala >= 0.34
  • GTK+ >= 3.22
  • gee 0.8
  • poppler with glib bindings
  • gstreamer 1.0
  • pangocairo

On Ubuntu 18.04 onwards, you can install these dependencies with:

sudo apt-get install cmake valac libgee-0.8-dev libpoppler-glib-dev libgtk-3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-gtk3

(the latter is a run-time dependence). You should also consider installing all plugins to support required video formats; chances are they are already present through dependencies of ubuntu-desktop.

Compiling from source tarballs

You can download the latest stable release of pdfpc in the release section of github (https://github.com/pdfpc/pdfpc/releases). Uncompress the tarball (we use v4.2.1 as an example here):

tar xvf pdfpc-4.2.1.tar.gz

Change to the extracted directory:

cd pdfpc-4.2.1

Compile and install:

mkdir build/
cd build/
cmake ..
make
sudo make install

If there are no errors in the process, you just installed pdfpc on your system. Congratulations! If there were errors, they are probably due to missing dependencies. Please check that you have all the necessary libraries (in some distributions you may have to install -devel packages).

Note: You may alter the final installation prefix in the cmake call. By default the pdfpc files will be installed under /usr/local/. If you want to change that, for example to be installed under /usr/, with config files under /etc/ you may specify another installation prefix as follows:

cmake -DCMAKE_INSTALL_PREFIX="/usr" -DSYSCONFDIR=/etc ..

By default, pdfpc includes support for movie playback. This requires several gstreamer dependencies as well as gdk-x11. The requirement for these packages can be removed by compiling without support for movie playback by passing -DMOVIES=OFF to the cmake command.

Compiling on Windows

First a cygwin installation with the following dependencies is needed:

  • cmake
  • automake
  • make
  • gcc
  • gcc-c++
  • libstdc++-4.8-dev
  • x11

For pdfpc the following compile time dependencies are necessary:

  • vala
  • gtk
  • gee
  • libpoppler
  • gstreamer
  • libgstinterfaces1.0-devel (has gstreamer.audio included)

Compiling Trouble Shooting

Some distributions do not have a valac executable. Instead they ship with a version suffix like valac-0.28. If cmake can not find your compiler you can try running cmake with:

cmake -DVALA_EXECUTABLE:NAMES=valac-0.28 ..

Usage

Now download some [sample presentations](#sample-presentations) and load them up:

pdfpc pdfpc-demo.pdf

If you encounter problems while running pdfpc, please consult the FAQ first.

Acknowledgements

pdfpc was initially developed as pdfpc-presenter-console by Jakob Westhoff (https://github.com/jakobwesthoff/Pdf-Presenter-Console) then further extended by davvil (https://github.com/davvil/pdfpc).

pdfpc's People

Contributors

jakobwesthoff avatar andreasbilke avatar rschroll avatar fnevgeny avatar andybarry avatar davvil avatar phillipberndt avatar barak avatar tschager avatar nomeata avatar maikelsteneker avatar renewagner avatar jasperla avatar stefanct avatar severin-lemaignan avatar ammarnajjar avatar googol42 avatar bapt avatar charlesreiss avatar devmotion avatar eklenske avatar the-compiler avatar tg-x avatar jbms avatar nijoakim avatar krlmlr avatar slardiere avatar leomao avatar marcelwaldvogel avatar nerdyprojects avatar

Watchers

Michael J Gruber avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.