f

アーカイブ

2014-11-16

Install pdf2htmlEX from source on Ubuntu 14.04

あらゆるpdfファイルをhtmlに変換できるpdf2htmlEXという非常に優れた自由ソフトをソースからインストールする。

このpdf2htmlEXはTUG2013 (https://tug.org/tug2013/)の初日の発表で初めて知った。発表自体も素晴らしくて印象に残っている。既存のpdfからhtmlを生成するソフト では,大きく以下2点の問題があった。

  • 数式を再現できない
  • pdfを画像として変換

こうした問題に不満をもったWANG LuとWanmin Liuが作った。TUGboatにも論文として寄稿されておりWanmin LIUのページ(http://ihome.ust.hk/~wmliu/)のURLから閲覧できる。

プロジェクトのホームページは以下のサイトであり,GitHubからソースコードへもアクセスできる。

GitHubページ: http://coolwanglu.github.io/pdf2htmlEX/

以下のようなロゴまで用意されている。


image/svg+xml pdf2htmlEX logo 2013-09-27 Lu Wang <coolwanglu@gmail.com>
Copyright (c) 2013 Lu Wang (https://github.com/coolwanglu/pdf2htmlEX/tree/master/logo)

Ubuntuでは以前はaptでインストールできたようだが,Ubuntuのバージョンがあがりできなくなったようだ。

と思っていたが2014-11-11にUbuntu PPAが登録されたようだ。

http://pdf2htmlex.blogspot.jp/2014/11/ppa-is-back.html

よって以下の手順でAPTにより簡単にpdf2htmlEXをインストールできる。

sudo add-apt-repository ppa:coolwanglu/pdf2htmlex
sudo apt-get update
sudo apt-get install pdf2htmlex
参考:http://linux.ikoinoba.net/index.php?UID=1349019363

せっかくソースコードからのインストール方法をメモしておいたことだし,またAPTでインストールできないこともありえるので,ソースコードからインストー ルのインストール方法を記しておく。ソースコードからのインストールにあたっては以下のページにしたがう。

Building · coolwanglu/pdf2htmlEX Wiki https://github.com/coolwanglu/pdf2htmlEX/wiki/Building

バージョンなどの関係から自力でのビルドが必要な依存ライブラリとして以下がある。

  • poppler >= 0.20.0 with xpdf headers (compile with --enable-xpdf-headers)
  • fontforge

以下では上記2ライブラリもソースコードからインストールして,pdf2htmlEXをソースコードからインストールする。

Install poppler

popplerのビルドの前に,必須ではないがlibpngやlibjpegもインストールしておくとよい。APTで他のパッケージのインストール時に一緒 にインストールしているかもしれない。また,CJK言語のサポートのためpoppler-dataもインストールする。

参考: Popplerをインストール - oosukaの日記 http://d.hatena.ne.jp/oosuka/20110709
配布元: Poppler http://poppler.freedesktop.org/
cd ~/local/src
VER=0.26.5
wget -nc http://poppler.freedesktop.org/poppler-$VER.tar.xz
tar Jxf poppler-$VER.tar.xz
cd poppler-$VER ./configure --prefix=$HOME/local/stow/poppler-$VER --enable-xpdf-headers
make
make install
cd ~/local/stow/
stow poppler-$VER
cd ~/local/src
wget -nc http://poppler.freedesktop.org/poppler-data-0.4.7.tar.gz
tar xzf poppler-data-0.4.7.tar.gz
cd poppler-data-0.4.7
make install datadir=$HOME/local/stow/poppler-$VER/share

Install Fontforge

配布元: FontForge is a font editor http://fontforge.github.io/en-US/
以下のようにtarballからインストールするとconfigureのときにエラーが起きる。
cd ~/local/src
wget -nc https://github.com/fontforge/fontforge/releases/download/20141014/fontforge-20141014.tar.gz
tar zxf 20140813.tar.gz
tar zxf fontforge-20141014.tar.gz
cd fontforge-20141014
./configure --prefix=$HOME/local/stow/fontforge-2.0.20141018
configure: error: cannot find install-sh, install.sh, or shtool in config "."/config
仕方がないのでgitで持ってきてインストールする。
cd ~/local/src
git clone --depth 1 https://github.com/fontforge/fontforge.git
cd fontforge
./bootstrap
./configure --prefix=$HOME/local/stow/fontforge-2.0.20141018
make
make install
cd ~/local/stow
stow fontforge-2.0.20141018

Environmental variable for pgk-config

pdf2htmlEX はcmakeを使っている。cmake .の実行時にパッケージが見つからないというエラーが起きた。

-- checking for module 'poppler>=0.20.0'
--   package 'poppler>=0.20.0' not found
CMake Error at /usr/share/cmake-2.8/Modules/FindPkgConfig.cmake:283 (message):
  A required package was not found

pkg-configがインストールされたパッケージを見つけられていないため起きている。

以下のサイトを参考に環境変数を設定すれば解決した。

selinux - Compiling Awesome from source on CentOS: cannot find libraries - Unix & Linux Stack Exchangehttp://unix.stackexchange.com/questions/151642/compiling-awesome-from-source-on-centos-cannot-find-libraries
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH=$HOME/local/lib/pkgconfig:$PKG_CONFIG_PATH

Install pdf2htmlEX

cd ~/local/src
git clone --depth 1 git://github.com/coolwanglu/pdf2htmlEX.git
cd pdf2htmlEX
cmake -DCMAKE_INSTAL_PREFIX=$HOME/local/stow/pdf2htmlEX-0.12 .
make
make install
cd ~/local/stow
stow pdf2htmlEX-0.12

これでpdf2htmlEXのインストールが完了した。あとは適当なpdfを引数にして以下のようにコマンドを入力すればhtmlが作成される。

pdf2htmlEX hoge.pdf

pdf2htmlEXは大量のオプションがあり,たとえば画像を別々のファイルにしたり,ページを別々のhtmlファイルにしたりできる。

何かpdfをhtmlのようなテキストに変換する必要があるときにpdf2htmlEXが役に立つだろう。

0 件のコメント:

コメントを投稿