-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Building
###- 欲速则不达。
- Haste makes waste.
pdf2htmlEX can be built in a Unix-like environment:
- Linux (for Ubuntu 12.10+)
- OS X
- Windows/Cygwin
- Windows/Mingw-w64
- Windows/MinGW, with some modifications to pdf2htmlEX. See pdf2htmlEX on TeX Wiki (in Japanese), special thanks to Haruhiko Okumura.
An easy way to instal pdf2htmlEX on Mac OS X is to use brew. After installing brew, open a terminal:
brew install pdf2htmlEX
An easy way to build pdf2htmlEX on Windows is MSYS2 + mingw-w64. Build-pdf2htmlEX-on-Windows (in Chinese)
Fedora
sudo yum install cmake gcc gnu-getopt java-1.8.0-openjdk libpng-devel fontforge-devel cairo-devel poppler-devel libspiro-devel freetype-devel poppler-data libjpeg-turbo-devel git make gcc-c++
Manual
- CMake, pkg-config
- GNU Getopt
- C++ Compiler that supports C++11, for example
- GCC >= 4.6.3
- A recent version of Clang
- libspiro
-
poppler >= 0.25.0 with xpdf headers (compile with
--enable-xpdf-headers
) - Install libpng (and headers) BEFORE you compile poppler if you want PNG background images generated
- Install libjpeg (and headers) BEFORE you compile poppler if you want JPG background images generated
- Install poppler-data if your want CJK support
- fontforge (with header files)
- A recent version or my fork, use the
pdf2htmlEX
branch, which is a modified version of the 20140101 release. - Older versions may or may not work.
- To generate SVG background images and process Type 3 fonts
- cairo >= 1.10.0 with SVG support
- FreeType
- Add
-DENABLE_SVG=OFF
tocmake
to disable it. - To add hinting information for TTF fonts
- ttfautohint
- Run pdf2htmlEX with
--external-hint-tool=ttfautohint
- To optimize CSS and JavaScript code with YUI Compressor and closure-compiler
- java >= 6
git clone git://github.com/coolwanglu/pdf2htmlEX.git
cd pdf2htmlEX
cmake . && make && sudo make install
Stable releases can be found at https://github.com/coolwanglu/pdf2htmlEX/releases.
In order to create the debug version, add -DCMAKE_BUILD_TYPE=Debug
to cmake
.
If you installed poppler or fontforge into a place other than /usr
(If you install them from source code, they are installed to /usr/local
by default), you need to set up environment variables for pkg-config, and maybe also INCLUDE_PATH
, LIBRARY_PATH
and LD_LIBRARY_PATH
because some Linux distributions do not set them up for you (e.g. Fedora). If you are not sure about this, just install those libraries to /usr
by passing --prefix=/usr
to configure
.
If you see error messages about:
-
goo/GooString.h
, read the dependencies again,poppler
should be compiled with--enable-xpdf-headers
-
spiroentrypoints.h
, install header files of libspiro -
undefined reference of Py_xxx
, install header files of python-2.x -
libintl.h
, install gettext and set your system include path accordingly. -
glib.h: No such file or directory
, install the development header files ofglib-2.0
, and make sure that the location ofglib.h
is inINCLUDE_PATH
. -
.../libfontforge.so: undefined reference to ...
, it should be caused by a bug of FontForge, please leave comments there such that FontForge developers may fix it soon. - Try to configure FontForge with
--without-libzmq --without-x --without-iconv --disable-python-scripting --disable-python-extension
, then rebuild it.
These scripts have been reported to be useful in various situations. They have NOT been tested by pdf2htmlEX's authors, use at your own risk! If you want to contribute, please create your own gist somewhere, and post a link and description here.
- rajeevkannav/pdf2htmlEX.sh for Ubuntu 15.05