Poppler --- PDF ビューア・操作ツール

Poppler は,PDF ドキュメントのレンダリングに利用されるライブラリで,ベースとなった Xpdf 3.0 に比べてレンダリングが向上されています。 ビューアとして Poppler を使用して問題が発生する場合は MuPDF を使用することを検討してください。 以下のプログラムが PDF ビューアとして Poppler を使用しています。

また,Xpdf と同様に PDF ユーティリティとしても有用です。



公式サイト

お知らせ

インストール

Windows

TeX Live 2017 以降あるいは W32TeX [2017/02/20] 以降をインストールしている場合は poppler utilities が使用できます. 以下のコマンドが利用できます:

pdfdetach, pdffonts, pdfimages, pdfinfo, pdfseparate, pdftocairo, pdftohtml, pdftoppm, pdftops, pdftotext, pdfunite

MSYS2 の pacman でインストールすることもできます。

64-bit Poppler の場合は

pacman -S mingw-w64-x86_64-poppler mingw-w64-x86_64-poppler-data

32-bit Poppler の場合は

pacman -S mingw-w64-i686-poppler mingw-w64-i686-poppler-data

を実行します.

Poppler for Windows から,Poppler のユーティリティのバイナリを入手することもできます。

macOS

Homebrew あるいは MacPorts を利用したインストールが可能です。

Homebrew の場合は poppler をインストールします。

$ brew install poppler

MacPorts の場合は poppler と poppler-data という名前の Port をインストールします。

$ sudo port install poppler poppler-data

poppler をインストールすると下記の便利なコマンドが使えます。

$ port contents poppler | grep /bin
  /opt/local/bin/pdfdetach
  /opt/local/bin/pdffonts
  /opt/local/bin/pdfimages
  /opt/local/bin/pdfinfo
  /opt/local/bin/pdfseparate
  /opt/local/bin/pdftocairo
  /opt/local/bin/pdftohtml
  /opt/local/bin/pdftoppm
  /opt/local/bin/pdftops
  /opt/local/bin/pdftotext
  /opt/local/bin/pdfunite

なお,Xpdf 関連の Port(具体的には xpdf-tools と pdftohtml が該当)がインストールされていると衝突してインストールできなくなります。 Poppler をインストールしたい場合は,xpdf-tools と pdftohtml をアンインストールしてください。

Arch Linux

sudo pacman -S poppler poppler-data

Linux Mint/Debian/Ubuntu

Linux Mint や Debian GNU/Linux や Ubuntu では poppler ライブラリは libpoppler80 という名前だったり,libpoppler73 という名前だったりします。 poppler-utils をインストールすれば,依存関係で適宜判断されますので,poppler-utils をインストールします。 日本語を使う場合は poppler-data も必要です。

sudo apt install poppler-utils poppler-data

Fedora

sudo dnf install poppler-utils poppler-data

openSUSE

sudo zypper install poppler poppler-data

ビルド

Windows

MinGW を利用してソースからビルドすることができます。

GLib と pkg-config がインストールされていない場合は

をダウンロードして,展開後 bin フォルダーにある

を C:\MinGW\bin にコピーします。

日本語の PDF ファイルを表示できるようにするため,poppler-data を適切な場所に配置します。

poppler-data を C:\MinGW\share にコピーします。

$ mkdir poppler-data
$ pushd poppler-data
$ powershell -Command "& {Invoke-WebRequest -Uri 'https://cgit.freedesktop.org/poppler/poppler-data/snapshot/master.tar.xz' -OutFile 'master.tar.xz'}"
$ tar xvf master.tar.xz
$ cp -pR master /mingw/share/poppler
$ popd
Poppler は --with-font-configuration=win32 または -DFONT_CONFIGURATION=win32 でビルドすると日本語のフォントが埋め込まれていない PDF ファイルが MS-Mincho で表示されます。
ただし font configuration: win32 の場合 GothicBBB-Medium (ゴシック体) でも Ryumin-Light (明朝体) と同様 MS-Mincho で表示されます。
GothicBBB-Medium (ゴシック体) をきちんと表示したい場合は font configuration: fontconfig でビルドして fontconfig を適切に設定します。
configure の場合は --with-font-configuration=fontconfig で fontconfig を使用できます。
CMake の場合は -DFONT_CONFIGURATION=fontconfig で fontconfig を使用できます。
$ mkdir poppler
$ pushd poppler
$ powershell -Command "& {Invoke-WebRequest -Uri 'https://cgit.freedesktop.org/poppler/poppler/snapshot/master.tar.xz' -OutFile 'master.tar.xz'}"
$ tar xvf master.tar.xz
$ pushd master

$ ./autogen.sh
$ POPPLER_QT5_CFLAGS="-IC:/Qt/Qt5.11.2/5.11.2/mingw53_32/include" POPPLER_QT5_LIBS="-LC:/Qt/Qt5.11.2/5.11.2/mingw53_32/lib -lQt5Core -lQt5Gui -lQt5Xml -lQt5Widgets -lQt5Test" POPPLER_QT5_TEST_CFLAGS="-IC:/Qt/Qt5.11.2/5.11.2/mingw53_32/include" POPPLER_QT5_TEST_LIBS="-LC:/Qt/Qt5.11.2/5.11.2/mingw53_32/bin" LIBOPENJPEG_CFLAGS="`pkg-config --cflags libopenjp2`" LIBOPENJPEG_LIBS="`pkg-config --libs libopenjp2`" ./configure --prefix=/mingw --with-font-configuration=fontconfig --enable-xpdf-headers --enable-zlib --enable-libcurl --enable-poppler-glib --disable-gtk-test
Building poppler with support for:
  font configuration:   fontconfig
  splash output:        yes
  cairo output:         yes
  qt4 wrapper:          no
  qt5 wrapper:          yes
  glib wrapper:         yes
    introspection:      no
  cpp wrapper:          yes
  use gtk-doc:          no
  use libjpeg:          yes
  use libpng:           yes
  use libtiff:          yes
  use zlib compress:    yes
  use zlib uncompress:  no
  use nss3:             no
  use curl:             yes
  use libopenjpeg:      yes
      with openjpeg2
  use cms:              yes
      with lcms2
  command line utils:   yes
  test data dir:

  Warning: Using zlib is not totally safe
$ make
$ make install

$ mkdir build
$ pushd build
$ cmake .. -G "MSYS Makefiles" -DCMAKE_INSTALL_PREFIX=/mingw -DFONT_CONFIGURATION=fontconfig -DENABLE_XPDF_HEADERS=ON -DENABLE_ZLIB=ON -DZLIB_LIBRARY=C:/MinGW/bin/zlib1.dll -DENABLE_LIBCURL=ON -DLIBOPENJPEG_INCLUDE_DIR=C:/MinGW/include/openjpeg-2.1 -DLIBOPENJPEG_LIBRARIES=C:/MinGW/bin/libopenjp2.dll
Building Poppler with support for:
  font configuration:   fontconfig
  splash output:        yes
  cairo output:         yes
  qt4 wrapper:          no
  qt5 wrapper:          yes
  glib wrapper:         yes
    introspection:      no
  cpp wrapper:          yes
  use gtk-doc:          not supported with this CMake build system
  use libjpeg:          yes
  use libpng:           yes
  use libtiff:          yes
  use zlib compress:    yes
  use zlib uncompress:  no
  use nss3:             no
  use curl:             yes
  use libopenjpeg:      yes
      with openjpeg2
  use cms:              yes
      with lcms2
  command line utils:   yes
  test data dir:
$ make
$ make install
$ popd

$ popd
$ popd
$ strings -a /mingw/bin/libpoppler.dll | grep poppler | head
...
C:/MinGW/share/poppler
...

font configuration

Poppler は font configuration で win32 を選択した場合,日本語のフォントを埋め込んでいない PDF ファイルは MS-Mincho で表示されます。 ただし font configuration が win32 の場合 GothicBBB-Medium (ゴシック体) でも Ryumin-Light (明朝体) と同様 MS-Mincho で表示されます。 GothicBBB-Medium (ゴシック体) をきちんと表示したい場合は font configuration を fontconfig でビルドして fontconfig を適切に設定します。

Issues

関連リンク

License

GPLv3, GPLv2

ChangeLog


Last-modified: 2018-11-21 (水) 19:11:04 (19d)