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
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.01.0.tar.xz
-
Download MD5 sum: dfbd19dc807ca0155f39009de4ffc044
-
Download size: 1.8 MB
-
Estimated disk space required: 92 MB (with Qt5 library; add 13 MB for tests)
-
Estimated build time: 0.8 SBU (with parallelism=4 and Qt5 library; add 3.8 SBU for tests)
Additional Downloads
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.28.1, Fontconfig-2.15.0, and gobject-introspection-1.78.1
Recommended
Boost-1.84.0, Cairo-1.18.0, GPGME-1.23.2, Little CMS-2.14, libjpeg-turbo-3.0.1, libpng-1.6.40, libtiff-4.6.0, nss-3.96.1, OpenJPEG-2.5.0, and (Qt-5.15.12 or qt-alternate-5.15.12) (required for PDF support in Okular-23.08.4)
Optional
cURL-8.5.0, gdk-pixbuf-2.42.10, git-2.43.0 (for downloading test files), GTK-Doc-1.33.2, GTK+-3.24.40, and Qt-6.6.1
Installation of Poppler
Install Poppler by running the following commands:
mkdir build &&
cd build &&
cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DTESTDATADIR=$PWD/testfiles \
-DENABLE_QT6=OFF \
-DENABLE_UNSTABLE_API_ABI_HEADERS=ON \
.. &&
make
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 make test.
Now, as the root
user:
make install
To install the documentation, run the following commands as root
:
install -v -m755 -d /usr/share/doc/poppler-24.01.0 &&
cp -vr ../glib/reference/html /usr/share/doc/poppler-24.01.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
-DCMAKE_BUILD_TYPE=Release
: This switch is used to apply a higher level of compiler optimizations.
-DTESTDATADIR=$PWD/testfiles
: Tells the test programs where the auxiliary files are located.
-DENABLE_QT6=OFF
: This switch is needed to prevent an error when Qt6 is not installed. Remove it if you have installed Qt-6.6.1.
-DENABLE_UNSTABLE_API_ABI_HEADERS=ON
: Installs some old Xpdf headers required by certain programs.
-DENABLE_GTK_DOC=ON
: Use this parameter if GTK-Doc is installed and you wish to rebuild and install the API documentation.
-DENABLE_QT5=OFF
: Use this parameter if (Qt-5.15.12 or qt-alternate-5.15.12) is not installed.
-DENABLE_BOOST=OFF
: Use this parameter if you have not installed boost (the Splash backend for Qt5 recommends boost).
-DENABLE_NSS3=OFF
: Use this parameter if you have not installed nss.
-DENABLE_GPGME=OFF
: Use this parameter if you have not installed gpgme.
-DENABLE_LIBTIFF=OFF
: Use this parameter if you have not installed libtiff.
LC_ALL=en_US.UTF-8 make 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, libpoppler-qt5.so, and (optionally) libpoppler-qt6.so
Installed Directories: /usr/include/poppler, /usr/share/poppler, and /usr/share/doc/poppler-24.01.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-qt5.so
|
is a wrapper library used to interface the PDF rendering functions with Qt5
|
libpoppler-qt6.so
|
is a wrapper library used to interface the PDF rendering functions with Qt6
|