Okular can view and annotate documents of various formats, including PDF, Postscript, Comic Book, and various image formats. It supports native PDF annotations.
For download and installation instructions, see https://okular.kde.org/download.php
https://docs.kde.org/?application=okular&branch=stable5
https://bugs.kde.org/buglist.cgi?product=okular
Please report bugs on Bugzilla (https://bugs.kde.org/enter_bug.cgi?product=okular), and not on our GitLab instance (https://invent.kde.org).
https://mail.kde.org/mailman/listinfo/okular-devel
https://invent.kde.org/graphics/okular.git
The Okular repository contains the source code for:
- the
okular
desktop application (the “shell”), - the
okularpart
KParts plugin, - the
okularkirigami
mobile application, - several
okularGenerator_xyz
plugins, which provide backends for different document types.
https://api.kde.org/okular/html/index.html
Okular uses the merge request workflow. Merge requests are required to run pre-commit CI jobs; please don’t push to the master branch directly. See https://community.kde.org/Infrastructure/GitLab for an introduction.
Okular can be built like many other applications developed by KDE. See https://community.kde.org/Get_Involved/development for an introduction.
If your build environment is set up correctly, you can also build Okular using CMake:
git clone https://invent.kde.org/graphics/okular.git
cd okular
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/path/to/your/install/dir ..
make
make install
If you install Okular in a different path than your system install directory it is possible that you need to run
source build/prefix.sh; okular
so that the correct Okular instance and libraries are picked up.
As stated above, Okular has various build targets. Two of them are executables. You can choose which executable to build by passing a flag to CMake:
cmake -DCMAKE_INSTALL_PREFIX=/path/to/your/install/dir -DOKULAR_UI=desktop ..
Available options are desktop
, mobile
, and both
.
The Okular project uses clang-format to enforce source code formatting. See README.clang_format for more information.