Poppler-24.09.0

Introduction to Poppler

The Poppler package contains a PDF rendering library and command line tools used to manipulate PDF files. This is useful for providing PDF rendering functionality as a shared library.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

  • Download (HTTP): https://poppler.freedesktop.org/poppler-24.09.0.tar.xz

  • Download MD5 sum: c4a92a7ee9cd8137c50273bcc5252646

  • Download size: 1.8 MB

  • Estimated disk space required: 76 MB (with Qt6 library; add 13 MB for tests)

  • Estimated build time: 1.0 SBU (with parallelism=4, tests, and Qt6 library)

Additional Downloads

Poppler Encoding Data

The additional package consists of encoding files for use with Poppler. The encoding files are optional and Poppler will automatically read them if they are present. When installed, they enable Poppler to render CJK and Cyrillic properly.

Poppler Dependencies

Required

CMake-3.30.5, Fontconfig-2.15.0, and GLib-2.82.2 (with GObject Introspection)

Recommended

Optional

cURL-8.10.1, gdk-pixbuf-2.42.12, git-2.47.0 (for downloading test files), GTK-Doc-1.34.0 and GTK+-3.24.43

Installation of Poppler

Now, install Poppler by running the following commands:

mkdir build                         &&
cd    build                         &&

cmake -D CMAKE_BUILD_TYPE=Release   \
      -D CMAKE_INSTALL_PREFIX=/usr  \
      -D TESTDATADIR=$PWD/testfiles \
      -D ENABLE_QT5=OFF             \
      -D ENABLE_UNSTABLE_API_ABI_HEADERS=ON \
      -G Ninja ..                   &&
ninja

In order to run the test suite, some testcases are needed and can be obtained only from a git repository. The command to download them is: git clone --depth 1 https://gitlab.freedesktop.org/poppler/test.git testfiles. Then issue: LC_ALL=en_US.UTF-8 ninja test. One subtest of check_qt6_signature_basics is known to fail.

Now, as the root user:

ninja install

To install the documentation, run the following commands as root:

install -v -m755 -d           /usr/share/doc/poppler-24.09.0 &&
cp -vr ../glib/reference/html /usr/share/doc/poppler-24.09.0

Poppler Data

If you downloaded the additional encoding data package, install it by issuing the following commands:

tar -xf ../../poppler-data-0.4.12.tar.gz &&
cd poppler-data-0.4.12

Now, as the root user:

make prefix=/usr install

Command Explanations

-D CMAKE_BUILD_TYPE=Release: This switch is used to apply a higher level of compiler optimizations.

-D TESTDATADIR=$PWD/testfiles: Tells the test programs where the auxiliary files are located.

-D ENABLE_QT5=OFF: This switch is needed to prevent an error when Qt5 is not installed.

-D ENABLE_UNSTABLE_API_ABI_HEADERS=ON: Installs some old Xpdf headers required by certain programs.

-D ENABLE_GTK_DOC=ON: Use this parameter if GTK-Doc is installed and you wish to rebuild and install the API documentation.

-D ENABLE_QT6=OFF: Use this parameter if Qt-6.8.0 is not installed.

-D ENABLE_BOOST=OFF: Use this parameter if you have not installed boost (the Splash backend for Qt5 recommends boost).

-D ENABLE_NSS3=OFF: Use this parameter if you have not installed nss.

-D ENABLE_GPGME=OFF: Use this parameter if you have not installed gpgme.

-D ENABLE_LIBTIFF=OFF: Use this parameter if you have not installed libtiff.

LC_ALL=en_US.UTF-8 ninja test: Runs the test suite. The environment variable LC_ALL=en_US.UTF-8 is only needed if the default locale does not include UTF-8.

Contents

Installed Programs: pdfattach, pdfdetach, pdffonts, pdfimages, pdfinfo, pdfseparate, pdfsig, pdftocairo, pdftohtml, pdftoppm, pdftops, pdftotext, and pdfunite
Installed Libraries: libpoppler.so, libpoppler-cpp.so, libpoppler-glib.so, and (optionally) libpoppler-qt6.so
Installed Directories: /usr/include/poppler, /usr/share/poppler, and /usr/share/doc/poppler-24.09.0

Short Descriptions

pdfattach

adds a new embedded file to an existing PDF file

pdfdetach

lists or extracts embedded files from PDF files

pdffonts

lists the fonts used in a PDF file along with various information for each font

pdfimages

saves images from a PDF file as PPM, PBM, or JPEG files

pdfinfo

prints the contents of the 'Info' dictionary (plus some other useful information) from a PDF file

pdfseparate

extracts single pages from a PDF file

pdfsig

verifies the digital signatures in a PDF document

pdftocairo

converts a PDF file to one of several formats (PNG, JPEG, PDF, PS, EPS, SVG) using the cairo output device of the poppler library

pdftohtml

converts a PDF file to HTML

pdftoppm

converts PDF files to PBM, PGM and PPM formats

pdftops

converts PDF files to Postscript format

pdftotext

converts PDF files to plain text

pdfunite

merges several PDF files, in the order of their occurrence on the command line, to one PDF output file

libpoppler.so

contains the API functions to render PDF files

libpoppler-cpp.so

is a C++ backend for rendering PDF files

libpoppler-glib.so

is a wrapper library used to interface the PDF rendering functions with GTK+

libpoppler-qt6.so

is a wrapper library used to interface the PDF rendering functions with Qt6