PDF and image viewer for the Linux framebuffer.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.clang-format Apply clang-format. Oct 19, 2018
.gitignore Update copyright notice. Oct 19, 2018
.ycm_extra_conf.py Update copyright notice. Oct 19, 2018
Makefile Fix Makefile for MuPDF 1.14. Oct 19, 2018
README Update formatting for installation instructions Oct 22, 2018
README.md Copy README to README.md. Jun 9, 2014
cache.hpp Update copyright notice. Oct 19, 2018
command.cpp Update copyright notice. Oct 19, 2018
command.hpp Update copyright notice. Oct 19, 2018
cpp_compat.hpp Update copyright notice. Oct 19, 2018
document.cpp Update copyright notice. Oct 19, 2018
document.hpp Update copyright notice. Oct 19, 2018
framebuffer.cpp Update copyright notice. Oct 19, 2018
framebuffer.hpp Update copyright notice. Oct 19, 2018
image_document.cpp Update copyright notice. Oct 19, 2018
image_document.hpp Update copyright notice. Oct 19, 2018
jfbview.1 Change e-mail address. Oct 19, 2014
jpdfcat.cpp Update copyright notice. Oct 19, 2018
jpdfgrep.cpp Update copyright notice. Oct 19, 2018
main.cpp Update copyright notice. Oct 19, 2018
multithreading.cpp Update copyright notice. Oct 19, 2018
multithreading.hpp Update copyright notice. Oct 19, 2018
mupdf_version.cpp Update copyright notice. Oct 19, 2018
outline_view.cpp Update copyright notice. Oct 19, 2018
outline_view.hpp Update copyright notice. Oct 19, 2018
pdf_document.cpp Fix compilation errors against MuPDF 1.14. Oct 19, 2018
pdf_document.hpp Update copyright notice. Oct 19, 2018
pixel_buffer.cpp Update copyright notice. Oct 19, 2018
pixel_buffer.hpp Update copyright notice. Oct 19, 2018
search_view.cpp Update copyright notice. Oct 19, 2018
search_view.hpp Update copyright notice. Oct 19, 2018
string_utils.cpp Update copyright notice. Oct 19, 2018
string_utils.hpp Update copyright notice. Oct 19, 2018
ui_view.cpp Update copyright notice. Oct 19, 2018
ui_view.hpp Update copyright notice. Oct 19, 2018
viewer.cpp Update copyright notice. Oct 19, 2018
viewer.hpp Update copyright notice. Oct 19, 2018

README.md

JFBView

JFBView is a PDF and image viewer for the Linux framebuffer. It is very fast and has a number of advanced and unique features including:

  • Arbitrary zoom (10% - 1000%) and rotation;
  • Table of Contents (TOC) viewer for PDF documents;
  • Interactive text search for PDF documents;
  • Multi-threaded rendering;
  • Asynchronous background pre-caching;
  • Customizable multi-threaded caching.

The home page of JFBView is at https://github.com/jichu4n/jfbview.

Please refer to the home page for more information, including installation instructions and usage.

INSTALLATION

Arch Linux:

Debian / Ubuntu:

  • Install dependencies:
    sudo apt-get install \
      libssl-dev \
      libopenjp2-7-dev \
      libjbig2dec-dev \
      libharfbuzz-dev \
      libncurses5-dev \
      libimlib2-dev \
      libmupdf-dev
    
  • Clone this repo and build:
    git clone https://github.com/jichu4n/jfbview.git
    cd jfbview
    make
    

BUILDING

JFBView depends on MuPDF 1.x for PDF rendering and Imlib2 for image rendering. Note that the 1.x MuPDF API is incompatible with the pre-1.0 MuPDF API, wich means you cannot build JFBView against a pre-1.0 MuPDF library.

JFBView makes use of C++14 features where available, so you will need a compatible C++ compiler (GCC 4.9+, Clang 3.5+) to build it.

To build JFBView, just run make.

It is also possible to build a variant of JFBView without support for images and without dependency on Imlib2, which has a rather large list of dependencies itself. This target is called JFBPDF. To build, run make jfbpdf.

MUPDF VERSIONS

JFBView can be compiled against MuPDF 1.3 and up. To test compilation against a particular version of MuPDF:

  1. Obtain MuPDF headers and libraries at the particular version. For Arch Linux, historical package versions can be obtained at https://archive.archlinux.org/packages/l/libmupdf/.

  2. Set CXXFLAGS to point to location of extracted package when invoking make, e.g.:

     make CXXFLAGS="-I../mupdf-1.12.0-2/usr/include -L../mupdf-1.12.0-2/usr/lib"
    

DOCUMENTATION

The key bindings and command line options available are described in the man page of JFBView. To view it, do man jfbview, or check out the online version.

ABOUT

JFBView is written by Chuan Ji, and is distributed under the Apache License v2.

HISTORY

JFBView started as a fork of FBPDF by Ali Gholami Rudi with improvements and bug fixes, and was named JFBPDF. The JFBPDF code (in C) grew steadily more convoluted as features were added, and finally was completely rewritten from scratch in November 2012, with added support for images through Imlib2.