Tips en Trucs 2015

HTML naar PDF naar HTML

PDF is reeds jaren de standaard om documenten door te geven, te verspreiden en te publiceren. Daarnaast speelt internet steeds een grotere rol en daar is het HTML formaat heer en meester. Elk systeem kan tegenwoordig beide formaten zonder problemen weergeven en kunnen dus beschouwd worden als standaardformaten. Toch is het handig om HTML naar PDF (en omgekeerd) te kunnen omzetten. Dit is echter niet zo eenvoudig.

HTML naar PDF

Er bestaan voldoende Add-ons voor nagenoeg elke browser om HTML pagina's naar PDF te converteren. Of je kunt pagina's in de browser naar een PDF bestand afdrukken. Maar als je het omzetten naar PDF met een script wilt automatiseren, heb je een terminalprogramma nodig om de conversie uit te voeren. Het terminalprogramma wkhtmltopdf installeer je als volgt:

dany@linux-oj7m:~> sudo /sbin/OCICLI http://software.opensuse.org/ymp/Publishing/openSUSE_13.2/wkhtmltopdf.ymp
root's password:
Als u verdergaat, dan worden de volgende installatiebronnen toegevoegd:
        * http://download.opensuse.org/repositories/Publishing/openSUSE_13.2/
Als verdergaat, dan zullen de volgende softwarepakketten worden geïnstalleerd op uw systeem:
        * wkhtmltopdf
Continue? y/N
y
Toevoegen van installatiebronnen...

Om een nieuwe softwarebron te activeren, moet je ze vertrouwen (met de Tab toets selecteer je de knop Vertrouwen en met Return bevestig je het vertrouwen). Met de volgende opdracht zet je een online webpagina om naar een PDF document:

dany@linux-oj7m:~> wkhtmltopdf https://pindanet.be pindanet.pdf
Loading page (1/2)
Printing pages (2/2)                                               
Warning: Received createRequest signal on a disposed ResourceObject's NetworkAccessManager. This migth be an indication of an iframe taking to long to load.
Done

Een waarschuwing vertelt ons dat er misschien een probleem is. Daar is in het PDF document echter niets van te merken (zie afbeelding). Bij sommige webpagina's ontbreken soms onderdelen, m.a.w. controleer steeds het resultaat. Meer informatie vind je op de webpagina van wkhtmltopdf.

html2pdfEX

PDF naar HTML

Dit lijkt mij een moeilijker klus, want veel programma's om deze conversie uit te voeren zijn er niet. Het terminalprogramma pdf2htmlEX levert echter prachtige resultaten af. Maar is niet aanwezig in de openSUSE softwarebronnen. Dit betekend dat we om een werkend pakket te krijgen de broncode zelf moeten compileren. Download de broncode met de opdracht:

dany@linux-oj7m:~> wget https://github.com/coolwanglu/pdf2htmlEX/archive/master.zip
--2015-03-28 18:12:56--  https://github.com/coolwanglu/pdf2htmlEX/archive/master.zip
Herleiden van github.com (github.com)... 192.30.252.128
Verbinding maken met github.com (github.com)|192.30.252.128|:443... verbonden.
HTTP-verzoek is verzonden; wachten op antwoord... 302 Found
Locatie: https://codeload.github.com/coolwanglu/pdf2htmlEX/zip/master [volgen...]
--2015-03-28 18:12:57--  https://codeload.github.com/coolwanglu/pdf2htmlEX/zip/master
Herleiden van codeload.github.com (codeload.github.com)... 192.30.252.146
Verbinding maken met codeload.github.com (codeload.github.com)|192.30.252.146|:443... verbonden.
HTTP-verzoek is verzonden; wachten op antwoord... 200 OK
Lengte: niet-opgegeven [application/zip]
Wordt opgeslagen als: ‘master.zip’

master.zip                      [                       <=>                    ]   6,70M  1,62MB/s   in 4,7s   

2015-03-28 18:13:02 (1,44 MB/s) - '‘master.zip’' opgeslagen [7027183]

Pak de broncode uit met de opdracht:

dany@linux-oj7m:~> unzip master.zip
Archive:  master.zip
8b166129d3e06e075d7b99032a75846be19e806f
   creating: pdf2htmlEX-master/
  inflating: pdf2htmlEX-master/.gitignore  
  inflating: pdf2htmlEX-master/.travis.yml  
   creating: pdf2htmlEX-master/3rdparty/
   creating: pdf2htmlEX-master/3rdparty/PDF.js/
  inflating: pdf2htmlEX-master/3rdparty/PDF.js/LICENSE  
  inflating: pdf2htmlEX-master/3rdparty/PDF.js/build.sh  
  inflating: pdf2htmlEX-master/3rdparty/PDF.js/compatibility.js  
  inflating: pdf2htmlEX-master/3rdparty/PDF.js/compatibility.min.js  
   creating: pdf2htmlEX-master/3rdparty/closure-compiler/
  inflating: pdf2htmlEX-master/3rdparty/closure-compiler/COPYING  
  inflating: pdf2htmlEX-master/3rdparty/closure-compiler/README  
  inflating: pdf2htmlEX-master/3rdparty/closure-compiler/compiler.jar  
   creating: pdf2htmlEX-master/3rdparty/poppler/
   creating: pdf2htmlEX-master/3rdparty/poppler/0.22.5/
  inflating: pdf2htmlEX-master/3rdparty/poppler/0.22.5/CairoFontEngine.cc  
  inflating: pdf2htmlEX-master/3rdparty/poppler/0.22.5/CairoFontEngine.h  
  inflating: pdf2htmlEX-master/3rdparty/poppler/0.22.5/CairoOutputDev.cc  
  inflating: pdf2htmlEX-master/3rdparty/poppler/0.22.5/CairoOutputDev.h  
  inflating: pdf2htmlEX-master/3rdparty/poppler/0.22.5/CairoRescaleBox.cc  
  inflating: pdf2htmlEX-master/3rdparty/poppler/0.22.5/CairoRescaleBox.h  
  inflating: pdf2htmlEX-master/3rdparty/poppler/COPYING3  
   creating: pdf2htmlEX-master/3rdparty/poppler/git/
  inflating: pdf2htmlEX-master/3rdparty/poppler/git/CairoFontEngine.cc  
  inflating: pdf2htmlEX-master/3rdparty/poppler/git/CairoFontEngine.h  
  inflating: pdf2htmlEX-master/3rdparty/poppler/git/CairoOutputDev.cc  
  inflating: pdf2htmlEX-master/3rdparty/poppler/git/CairoOutputDev.h  
  inflating: pdf2htmlEX-master/3rdparty/poppler/git/CairoRescaleBox.cc  
  inflating: pdf2htmlEX-master/3rdparty/poppler/git/CairoRescaleBox.h  
   creating: pdf2htmlEX-master/3rdparty/yuicompressor/
  inflating: pdf2htmlEX-master/3rdparty/yuicompressor/LICENSE.TXT  
  inflating: pdf2htmlEX-master/3rdparty/yuicompressor/yuicompressor-2.4.8.jar  
  inflating: pdf2htmlEX-master/AUTHORS  
  inflating: pdf2htmlEX-master/CMakeLists.txt  
  inflating: pdf2htmlEX-master/CONTRIBUTING.md  
  inflating: pdf2htmlEX-master/ChangeLog  
  inflating: pdf2htmlEX-master/INSTALL  
  inflating: pdf2htmlEX-master/LICENSE  
  inflating: pdf2htmlEX-master/LICENSE_GPLv3  
  inflating: pdf2htmlEX-master/README.md  
  inflating: pdf2htmlEX-master/TODO  
  inflating: pdf2htmlEX-master/build_for_ppa.py  
   creating: pdf2htmlEX-master/debian/
  inflating: pdf2htmlEX-master/debian/changelog  
 extracting: pdf2htmlEX-master/debian/compat  
  inflating: pdf2htmlEX-master/debian/control  
  inflating: pdf2htmlEX-master/debian/copyright  
 extracting: pdf2htmlEX-master/debian/dirs  
 extracting: pdf2htmlEX-master/debian/pdf2htmlex.NEWS  
 extracting: pdf2htmlEX-master/debian/pdf2htmlex.README  
 extracting: pdf2htmlEX-master/debian/pdf2htmlex.TODO  
  inflating: pdf2htmlEX-master/debian/rules  
   creating: pdf2htmlEX-master/debian/source/
 extracting: pdf2htmlEX-master/debian/source/format  
   creating: pdf2htmlEX-master/logo/
  inflating: pdf2htmlEX-master/logo/LICENSE  
  inflating: pdf2htmlEX-master/logo/LICENSE_CC-BY-3.0  
  inflating: pdf2htmlEX-master/logo/design.svg  
  inflating: pdf2htmlEX-master/logo/notes.txt  
  inflating: pdf2htmlEX-master/logo/pdf2htmlEX-256x256.png  
  inflating: pdf2htmlEX-master/logo/pdf2htmlEX-64x64.png  
  inflating: pdf2htmlEX-master/logo/pdf2htmlEX.svg  
  inflating: pdf2htmlEX-master/logo/update_png.sh  
  inflating: pdf2htmlEX-master/pdf2htmlEX.1.in  
   creating: pdf2htmlEX-master/share/
  inflating: pdf2htmlEX-master/share/LICENSE  
  inflating: pdf2htmlEX-master/share/base.css.in  
  inflating: pdf2htmlEX-master/share/build_css.sh  
  inflating: pdf2htmlEX-master/share/build_js.sh  
  inflating: pdf2htmlEX-master/share/fancy.css.in  
  inflating: pdf2htmlEX-master/share/manifest  
  inflating: pdf2htmlEX-master/share/pdf2htmlEX-64x64.png  
  inflating: pdf2htmlEX-master/share/pdf2htmlEX.js.in  
   creating: pdf2htmlEX-master/src/
  inflating: pdf2htmlEX-master/src/ArgParser.cc  
  inflating: pdf2htmlEX-master/src/ArgParser.h  
   creating: pdf2htmlEX-master/src/BackgroundRenderer/
  inflating: pdf2htmlEX-master/src/BackgroundRenderer/BackgroundRenderer.cc  
  inflating: pdf2htmlEX-master/src/BackgroundRenderer/BackgroundRenderer.h  
  inflating: pdf2htmlEX-master/src/BackgroundRenderer/CairoBackgroundRenderer.cc  
  inflating: pdf2htmlEX-master/src/BackgroundRenderer/CairoBackgroundRenderer.h  
  inflating: pdf2htmlEX-master/src/BackgroundRenderer/SplashBackgroundRenderer.cc  
  inflating: pdf2htmlEX-master/src/BackgroundRenderer/SplashBackgroundRenderer.h  
  inflating: pdf2htmlEX-master/src/Base64Stream.cc  
  inflating: pdf2htmlEX-master/src/Base64Stream.h  
  inflating: pdf2htmlEX-master/src/Color.cc  
  inflating: pdf2htmlEX-master/src/Color.h  
  inflating: pdf2htmlEX-master/src/CoveredTextDetector.cc  
  inflating: pdf2htmlEX-master/src/CoveredTextDetector.h  
  inflating: pdf2htmlEX-master/src/DrawingTracer.cc  
  inflating: pdf2htmlEX-master/src/DrawingTracer.h  
   creating: pdf2htmlEX-master/src/HTMLRenderer/
  inflating: pdf2htmlEX-master/src/HTMLRenderer/HTMLRenderer.h  
  inflating: pdf2htmlEX-master/src/HTMLRenderer/draw.cc  
  inflating: pdf2htmlEX-master/src/HTMLRenderer/font.cc  
  inflating: pdf2htmlEX-master/src/HTMLRenderer/general.cc  
  inflating: pdf2htmlEX-master/src/HTMLRenderer/image.cc  
  inflating: pdf2htmlEX-master/src/HTMLRenderer/link.cc  
  inflating: pdf2htmlEX-master/src/HTMLRenderer/outline.cc  
  inflating: pdf2htmlEX-master/src/HTMLRenderer/state.cc  
  inflating: pdf2htmlEX-master/src/HTMLRenderer/text.cc  
  inflating: pdf2htmlEX-master/src/HTMLState.h  
  inflating: pdf2htmlEX-master/src/HTMLTextLine.cc  
  inflating: pdf2htmlEX-master/src/HTMLTextLine.h  
  inflating: pdf2htmlEX-master/src/HTMLTextPage.cc  
  inflating: pdf2htmlEX-master/src/HTMLTextPage.h  
  inflating: pdf2htmlEX-master/src/Param.h  
  inflating: pdf2htmlEX-master/src/Preprocessor.cc  
  inflating: pdf2htmlEX-master/src/Preprocessor.h  
  inflating: pdf2htmlEX-master/src/StateManager.h  
  inflating: pdf2htmlEX-master/src/StringFormatter.cc  
  inflating: pdf2htmlEX-master/src/StringFormatter.h  
  inflating: pdf2htmlEX-master/src/TmpFiles.cc  
  inflating: pdf2htmlEX-master/src/TmpFiles.h  
  inflating: pdf2htmlEX-master/src/css_class_names.cmakelists.txt  
  inflating: pdf2htmlEX-master/src/pdf2htmlEX-config.h.in  
  inflating: pdf2htmlEX-master/src/pdf2htmlEX.cc  
   creating: pdf2htmlEX-master/src/util/
  inflating: pdf2htmlEX-master/src/util/const.cc  
  inflating: pdf2htmlEX-master/src/util/const.h  
  inflating: pdf2htmlEX-master/src/util/css_const.h.in  
  inflating: pdf2htmlEX-master/src/util/encoding.cc  
  inflating: pdf2htmlEX-master/src/util/encoding.h  
  inflating: pdf2htmlEX-master/src/util/ffw.c  
  inflating: pdf2htmlEX-master/src/util/ffw.h  
  inflating: pdf2htmlEX-master/src/util/math.cc  
  inflating: pdf2htmlEX-master/src/util/math.h  
  inflating: pdf2htmlEX-master/src/util/mingw.cc  
  inflating: pdf2htmlEX-master/src/util/mingw.h  
  inflating: pdf2htmlEX-master/src/util/misc.cc  
  inflating: pdf2htmlEX-master/src/util/misc.h  
  inflating: pdf2htmlEX-master/src/util/namespace.h  
  inflating: pdf2htmlEX-master/src/util/path.cc  
  inflating: pdf2htmlEX-master/src/util/path.h  
  inflating: pdf2htmlEX-master/src/util/unicode.cc  
  inflating: pdf2htmlEX-master/src/util/unicode.h  
   creating: pdf2htmlEX-master/test/
  inflating: pdf2htmlEX-master/test/test.py  
   creating: pdf2htmlEX-master/test/test_data/
  inflating: pdf2htmlEX-master/test/test_data/1-page.pdf  
  inflating: pdf2htmlEX-master/test/test_data/2-pages.pdf  
  inflating: pdf2htmlEX-master/test/test_data/3-pages.pdf  
  inflating: pdf2htmlEX-master/test/test_naming.py

Open de map met de broncode met de opdracht:

dany@linux-oj7m:~> cd pdf2htmlEX-master/

Volgens de handleiding worden de noodzakelijke afhankelijkheden gecontroleerd met de opdracht (let op de punt na de opdracht):

dany@linux-oj7m:~/pdf2htmlEX-master> cmake .
If 'cmake' is not a typo you can use command-not-found to lookup the package that contains it, like this:
    cnf cmake

De opdracht cmake blijkt niet op de computer geïnstalleerd te zijn, los dit op met de opdracht:

dany@linux-oj7m:~/pdf2htmlEX-master> sudo zypper install cmake
root's password:
Gegevens van installatiebron laden...
Lezen van geïnstalleerde pakketten...
Afhankelijkheden tussen pakketten oplossen...

Het volgende NIEUWE pakket zal worden geïnstalleerd:
  cmake 

1 nieuw te installeren pakket.
Totale downloadgrootte: 3,9 MiB. Reeds in de cache: 0 B  Na de operatie zal aanvullend 21,3 MiB worden gebruikt.
Doorgaan? [j/n/? alle opties tonen] (j): 
pakket cmake-3.2.1-196.1.x86_64 wordt opgehaald                           (1/1),   3,9 MiB ( 21,3 MiB uitgepakt)
Ophalen: cmake-3.2.1-196.1.x86_64.rpm .......................................................[klaar (1,5 MiB/s)]
Controleren op conflicten tussen bestanden: .............................................................[klaar]
(1/1) Installeert: cmake-3.2.1-196.1 ....................................................................[klaar]

En we voeren de opdracht opnieuw uit:

dany@linux-oj7m:~/pdf2htmlEX-master> cmake .
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:5 (project):
  No CMAKE_C_COMPILER could be found.

  Tell CMake where to find the compiler by setting either the environment
  variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
  the compiler, or to the compiler name if it is in the PATH.


CMake Error at CMakeLists.txt:5 (project):
  No CMAKE_CXX_COMPILER could be found.

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.


-- Configuring incomplete, errors occurred!
See also "/home/dany/pdf2htmlEX-master/CMakeFiles/CMakeOutput.log".
See also "/home/dany/pdf2htmlEX-master/CMakeFiles/CMakeError.log".

Deze keer blijkt de C++ compiler te ontbreken, installeer deze met de opdracht:

dany@linux-oj7m:~/pdf2htmlEX-master> sudo zypper install gcc-c++
Gegevens van installatiebron laden...
Lezen van geïnstalleerde pakketten...
Afhankelijkheden tussen pakketten oplossen...

De volgende 11 NIEUWE pakketten zullen worden geïnstalleerd:
  gcc gcc48 gcc48-c++ gcc-c++ glibc-devel libasan0 libatomic1-gcc49 libitm1-gcc49 libstdc++48-devel 
  libtsan0-gcc49 linux-glibc-devel 

11 nieuw te installeren pakketten.
Totale downloadgrootte: 18,8 MiB. Reeds in de cache: 0 B  Na de operatie zal aanvullend 79,0 MiB worden 
gebruikt.
Doorgaan? [j/n/? alle opties tonen] (j): 
pakket linux-glibc-devel-3.16-2.1.7.noarch wordt opgehaald               (1/11), 945,1 KiB (  3,9 MiB uitgepakt)
Ophalen: linux-glibc-devel-3.16-2.1.7.noarch.rpm ...........................................[klaar (10,4 KiB/s)]
pakket libasan0-4.8.3+r212056-2.2.4.x86_64 wordt opgehaald               (2/11),  74,2 KiB (166,9 KiB uitgepakt)
Ophalen: libasan0-4.8.3+r212056-2.2.4.x86_64.rpm ............................................[klaar (1,4 MiB/s)]
pakket libatomic1-gcc49-4.9.0+r211729-2.1.7.x86_64 wordt opgehaald       (3/11),  14,3 KiB ( 26,1 KiB uitgepakt)
Ophalen: libatomic1-gcc49-4.9.0+r211729-2.1.7.x86_64.rpm ................................................[klaar]
pakket libitm1-gcc49-4.9.0+r211729-2.1.7.x86_64 wordt opgehaald          (4/11),  33,9 KiB (134,4 KiB uitgepakt)
Ophalen: libitm1-gcc49-4.9.0+r211729-2.1.7.x86_64.rpm ...................................................[klaar]
pakket libtsan0-gcc49-4.9.0+r211729-2.1.7.x86_64 wordt opgehaald         (5/11), 209,3 KiB (697,1 KiB uitgepakt)
Ophalen: libtsan0-gcc49-4.9.0+r211729-2.1.7.x86_64.rpm ..................................................[klaar]
pakket glibc-devel-2.19-16.9.1.x86_64 wordt opgehaald                    (6/11), 637,3 KiB (  3,0 MiB uitgepakt)
Ophalen: glibc-devel-2.19-16.9.1.x86_64.rpm ...............................................[klaar (177,4 KiB/s)]
pakket libstdc++48-devel-4.8.3+r212056-2.2.4.x86_64 wordt opgehaald      (7/11),   2,8 MiB ( 23,5 MiB uitgepakt)
Ophalen: libstdc++48-devel-4.8.3+r212056-2.2.4.x86_64.rpm ...................................[klaar (1,6 MiB/s)]
pakket gcc48-4.8.3+r212056-2.2.4.x86_64 wordt opgehaald                  (8/11),   8,5 MiB ( 33,1 MiB uitgepakt)
Ophalen: gcc48-4.8.3+r212056-2.2.4.x86_64.rpm ...............................................[klaar (1,6 MiB/s)]
pakket gcc48-c++-4.8.3+r212056-2.2.4.x86_64 wordt opgehaald              (9/11),   5,6 MiB ( 14,6 MiB uitgepakt)
Ophalen: gcc48-c++-4.8.3+r212056-2.2.4.x86_64.rpm ...........................................[klaar (1,6 MiB/s)]
pakket gcc-4.8-7.1.2.x86_64 wordt opgehaald                               (10/11),   5,7 KiB (    0 B uitgepakt)
Ophalen: gcc-4.8-7.1.2.x86_64.rpm .......................................................................[klaar]
pakket gcc-c++-4.8-7.1.2.x86_64 wordt opgehaald                           (11/11),   4,8 KiB (    0 B uitgepakt)
Ophalen: gcc-c++-4.8-7.1.2.x86_64.rpm ...................................................................[klaar]
Controleren op conflicten tussen bestanden: .............................................................[klaar]
( 1/11) Installeert: linux-glibc-devel-3.16-2.1.7 .......................................................[klaar]
( 2/11) Installeert: libasan0-4.8.3+r212056-2.2.4 .......................................................[klaar]
( 3/11) Installeert: libatomic1-gcc49-4.9.0+r211729-2.1.7 ...............................................[klaar]
( 4/11) Installeert: libitm1-gcc49-4.9.0+r211729-2.1.7 ..................................................[klaar]
( 5/11) Installeert: libtsan0-gcc49-4.9.0+r211729-2.1.7 .................................................[klaar]
( 6/11) Installeert: glibc-devel-2.19-16.9.1 ............................................................[klaar]
( 7/11) Installeert: libstdc++48-devel-4.8.3+r212056-2.2.4 ..............................................[klaar]
( 8/11) Installeert: gcc48-4.8.3+r212056-2.2.4 ..........................................................[klaar]
( 9/11) Installeert: gcc48-c++-4.8.3+r212056-2.2.4 ......................................................[klaar]
(10/11) Installeert: gcc-4.8-7.1.2 ......................................................................[klaar]
(11/11) Installeert: gcc-c++-4.8-7.1.2 ..................................................................[klaar]

En nogmaals proberen:

dany@linux-oj7m:~/pdf2htmlEX-master> cmake .
-- The C compiler identification is GNU 4.8.3
-- The CXX compiler identification is GNU 4.8.3
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.28") 
-- checking for module 'poppler>=0.25.0'
--   package 'poppler>=0.25.0' not found
-- checking for module 'poppler>=0.23.0'
--   package 'poppler>=0.23.0' not found
-- checking for module 'poppler>=0.20.0'
--   package 'poppler>=0.20.0' not found
CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake:340 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPkgConfig.cmake:502 (_pkg_check_modules_internal)
  CMakeLists.txt:33 (pkg_check_modules)


-- Configuring incomplete, errors occurred!
See also "/home/dany/pdf2htmlEX-master/CMakeFiles/CMakeOutput.log".
See also "/home/dany/pdf2htmlEX-master/CMakeFiles/CMakeError.log".

Deze keer blijkt het poppler pakket te ontbreken. Dit installeer je met de volgende opdracht:

dany@linux-oj7m:~/pdf2htmlEX-master> sudo /sbin/OCICLI http://software.opensuse.org/ymp/openSUSE:13.2/standard/poppler.ymp
Als u verdergaat, dan worden de volgende installatiebronnen toegevoegd:
        * http://download.opensuse.org/distribution/13.2/repo/oss/
Als verdergaat, dan zullen de volgende softwarepakketten worden geïnstalleerd op uw systeem:
        * poppler
Continue? y/N
y
Toevoegen van installatiebronnen...
Installeren van pakketten...

Nu is het poppler pakket wel aanwezig (nodig om de opdracht pdf2htmlex te gebruiken), maar ontbreekt het pakket om pdf2htmlex tijdens het compileren aan poppler te koppelen. Daarvoor hebben we het -devel pakket nodig en dit installeer je met de opdracht:

dany@linux-oj7m:~/pdf2htmlEX-master> sudo zypper install libpoppler-devel
root's password:
Gegevens van installatiebron laden...
Lezen van geïnstalleerde pakketten...
Afhankelijkheden tussen pakketten oplossen...

De volgende 45 NIEUWE pakketten zullen worden geïnstalleerd:
  cairo-devel damageproto-devel fixesproto-devel fontconfig-devel freetype2-devel glib2-devel kbproto-devel 
  libcairo-script-interpreter2 libdrm-devel libexpat-devel libpcrecpp0 libpcreposix0 libpixman-1-0-devel 
  libpng16-compat-devel libpng16-devel libpoppler-cpp0 libpoppler-devel libstdc++-devel libX11-devel 
  libXau-devel libxcb-devel libxcb-dpms0 libxcb-record0 libxcb-res0 libxcb-screensaver0 libxcb-xevie0 
  libxcb-xf86dri0 libxcb-xinerama0 libxcb-xprint0 libxcb-xvmc0 libXdamage-devel libXext-devel libXfixes-devel 
  libXrender-devel libxshmfence-devel libXxf86vm-devel Mesa-libEGL-devel Mesa-libGL-devel pcre-devel 
  pthread-stubs-devel renderproto-devel xextproto-devel xf86vidmodeproto-devel xproto-devel zlib-devel 

Het volgende aanbevolen pakket was automatisch geselecteerd:
  libpng16-compat-devel 

45 nieuw te installeren pakketten.
Totale downloadgrootte: 7,3 MiB. Reeds in de cache: 0 B  Na de operatie zal aanvullend 48,9 MiB worden gebruikt.
Doorgaan? [j/n/? alle opties tonen] (j): 
pakket damageproto-devel-1.2.1-2.2.1.x86_64 wordt opgehaald              (1/45),   8,8 KiB ( 14,2 KiB uitgepakt)
Ophalen: damageproto-devel-1.2.1-2.2.1.x86_64.rpm .......................................................[klaar]
pakket kbproto-devel-1.0.6-2.2.1.x86_64 wordt opgehaald                 (2/45), 129,8 KiB (1017,4 KiB uitgepakt)
Ophalen: kbproto-devel-1.0.6-2.2.1.x86_64.rpm ...........................................................[klaar]
pakket libdrm-devel-2.4.58-1.1.x86_64 wordt opgehaald                    (3/45),  84,0 KiB (297,3 KiB uitgepakt)
Ophalen: libdrm-devel-2.4.58-1.1.x86_64.rpm .............................................................[klaar]
pakket libexpat-devel-2.1.0-14.1.2.x86_64 wordt opgehaald                (4/45),  18,6 KiB ( 44,8 KiB uitgepakt)
Ophalen: libexpat-devel-2.1.0-14.1.2.x86_64.rpm .........................................................[klaar]
pakket libpcrecpp0-8.35-3.2.3.x86_64 wordt opgehaald                     (5/45),  23,7 KiB ( 34,0 KiB uitgepakt)
Ophalen: libpcrecpp0-8.35-3.2.3.x86_64.rpm ..............................................................[klaar]
pakket libpcreposix0-8.35-3.2.3.x86_64 wordt opgehaald                   (6/45),  15,4 KiB ( 10,0 KiB uitgepakt)
Ophalen: libpcreposix0-8.35-3.2.3.x86_64.rpm ............................................................[klaar]
pakket libpixman-1-0-devel-0.32.6-2.1.2.x86_64 wordt opgehaald           (7/45),  22,8 KiB ( 45,6 KiB uitgepakt)
Ophalen: libpixman-1-0-devel-0.32.6-2.1.2.x86_64.rpm ....................................................[klaar]
pakket libpoppler-cpp0-0.26.5-1.1.x86_64 wordt opgehaald                 (8/45),  82,3 KiB ( 75,4 KiB uitgepakt)
Ophalen: libpoppler-cpp0-0.26.5-1.1.x86_64.rpm ............................................[klaar (250,8 KiB/s)]
pakket libstdc++-devel-4.8-7.1.2.x86_64 wordt opgehaald                    (9/45),   4,8 KiB (   72 B uitgepakt)
Ophalen: libstdc++-devel-4.8-7.1.2.x86_64.rpm ...........................................................[klaar]
pakket libxcb-dpms0-1.11-2.1.2.x86_64 wordt opgehaald                   (10/45),  10,5 KiB ( 10,1 KiB uitgepakt)
Ophalen: libxcb-dpms0-1.11-2.1.2.x86_64.rpm .............................................................[klaar]
pakket libxcb-record0-1.11-2.1.2.x86_64 wordt opgehaald                 (11/45),  12,0 KiB ( 14,1 KiB uitgepakt)
Ophalen: libxcb-record0-1.11-2.1.2.x86_64.rpm ...........................................................[klaar]
pakket libxcb-res0-1.11-2.1.2.x86_64 wordt opgehaald                    (12/45),  11,7 KiB ( 14,1 KiB uitgepakt)
Ophalen: libxcb-res0-1.11-2.1.2.x86_64.rpm ..............................................................[klaar]
pakket libxcb-screensaver0-1.11-2.1.2.x86_64 wordt opgehaald            (13/45),  11,0 KiB ( 10,1 KiB uitgepakt)
Ophalen: libxcb-screensaver0-1.11-2.1.2.x86_64.rpm ......................................................[klaar]
pakket libxcb-xevie0-1.11-2.1.2.x86_64 wordt opgehaald                  (14/45),  10,8 KiB ( 10,1 KiB uitgepakt)
Ophalen: libxcb-xevie0-1.11-2.1.2.x86_64.rpm ............................................................[klaar]
pakket libxcb-xf86dri0-1.11-2.1.2.x86_64 wordt opgehaald                (15/45),  11,8 KiB ( 18,1 KiB uitgepakt)
Ophalen: libxcb-xf86dri0-1.11-2.1.2.x86_64.rpm ..........................................................[klaar]
pakket libxcb-xinerama0-1.11-2.1.2.x86_64 wordt opgehaald               (16/45),  10,9 KiB ( 10,1 KiB uitgepakt)
Ophalen: libxcb-xinerama0-1.11-2.1.2.x86_64.rpm .........................................................[klaar]
pakket libxcb-xprint0-1.11-2.1.2.x86_64 wordt opgehaald                 (17/45),  15,2 KiB ( 30,2 KiB uitgepakt)
Ophalen: libxcb-xprint0-1.11-2.1.2.x86_64.rpm ...........................................................[klaar]
pakket libxcb-xvmc0-1.11-2.1.2.x86_64 wordt opgehaald                   (18/45),  11,8 KiB ( 14,1 KiB uitgepakt)
Ophalen: libxcb-xvmc0-1.11-2.1.2.x86_64.rpm .............................................................[klaar]
pakket libxshmfence-devel-1.1-3.1.2.x86_64 wordt opgehaald              (19/45),   5,2 KiB (  1,9 KiB uitgepakt)
Ophalen: libxshmfence-devel-1.1-3.1.2.x86_64.rpm ........................................................[klaar]
pakket pthread-stubs-devel-0.3-2.1.2.x86_64 wordt opgehaald             (20/45),   4,2 KiB (  1,4 KiB uitgepakt)
Ophalen: pthread-stubs-devel-0.3-2.1.2.x86_64.rpm .......................................................[klaar]
pakket renderproto-devel-0.11.1-2.2.1.x86_64 wordt opgehaald            (21/45),  18,3 KiB ( 57,4 KiB uitgepakt)
Ophalen: renderproto-devel-0.11.1-2.2.1.x86_64.rpm ......................................................[klaar]
pakket xextproto-devel-7.3.0-2.2.1.x86_64 wordt opgehaald               (22/45), 108,4 KiB (655,3 KiB uitgepakt)
Ophalen: xextproto-devel-7.3.0-2.2.1.x86_64.rpm .........................................................[klaar]
pakket xf86vidmodeproto-devel-2.3.1-2.2.1.x86_64 wordt opgehaald        (23/45),   7,0 KiB ( 20,2 KiB uitgepakt)
Ophalen: xf86vidmodeproto-devel-2.3.1-2.2.1.x86_64.rpm ..................................................[klaar]
pakket xproto-devel-7.0.26-2.2.1.x86_64 wordt opgehaald                 (24/45), 149,6 KiB (  1,1 MiB uitgepakt)
Ophalen: xproto-devel-7.0.26-2.2.1.x86_64.rpm ...........................................................[klaar]
pakket zlib-devel-1.2.8-5.1.2.x86_64 wordt opgehaald                    (25/45),  63,2 KiB (189,4 KiB uitgepakt)
Ophalen: zlib-devel-1.2.8-5.1.2.x86_64.rpm ..............................................................[klaar]
pakket pcre-devel-8.35-3.2.3.x86_64 wordt opgehaald                     (26/45), 223,3 KiB (262,3 KiB uitgepakt)
Ophalen: pcre-devel-8.35-3.2.3.x86_64.rpm ...................................................[klaar (1,2 MiB/s)]
pakket fixesproto-devel-5.0-2.2.1.x86_64 wordt opgehaald                (27/45),  13,9 KiB ( 40,1 KiB uitgepakt)
Ophalen: fixesproto-devel-5.0-2.2.1.x86_64.rpm ..........................................................[klaar]
pakket libXau-devel-1.0.8-5.1.2.x86_64 wordt opgehaald                  (28/45),  10,2 KiB (  6,1 KiB uitgepakt)
Ophalen: libXau-devel-1.0.8-5.1.2.x86_64.rpm ............................................................[klaar]
pakket freetype2-devel-2.5.3-2.1.3.x86_64 wordt opgehaald               (29/45), 227,0 KiB (  2,1 MiB uitgepakt)
Ophalen: freetype2-devel-2.5.3-2.1.3.x86_64.rpm .........................................................[klaar]
pakket libxcb-devel-1.11-2.1.2.x86_64 wordt opgehaald                   (30/45), 161,0 KiB (  2,0 MiB uitgepakt)
Ophalen: libxcb-devel-1.11-2.1.2.x86_64.rpm .................................................[klaar (1,0 MiB/s)]
pakket fontconfig-devel-2.11.1-2.1.2.x86_64 wordt opgehaald             (31/45), 194,4 KiB (832,5 KiB uitgepakt)
Ophalen: fontconfig-devel-2.11.1-2.1.2.x86_64.rpm .......................................................[klaar]
pakket libX11-devel-1.6.2-5.1.2.x86_64 wordt opgehaald                  (32/45),   1,5 MiB (  8,3 MiB uitgepakt)
Ophalen: libX11-devel-1.6.2-5.1.2.x86_64.rpm ................................................[klaar (1,5 MiB/s)]
pakket libXrender-devel-0.9.8-4.1.2.x86_64 wordt opgehaald              (33/45),  12,1 KiB ( 29,4 KiB uitgepakt)
Ophalen: libXrender-devel-0.9.8-4.1.2.x86_64.rpm ........................................................[klaar]
pakket libXfixes-devel-5.0.1-4.1.2.x86_64 wordt opgehaald               (34/45),   8,8 KiB (  9,0 KiB uitgepakt)
Ophalen: libXfixes-devel-5.0.1-4.1.2.x86_64.rpm .........................................................[klaar]
pakket libXext-devel-1.3.3-2.1.2.x86_64 wordt opgehaald                 (35/45),  89,7 KiB (220,7 KiB uitgepakt)
Ophalen: libXext-devel-1.3.3-2.1.2.x86_64.rpm ...........................................................[klaar]
pakket libXdamage-devel-1.1.4-8.1.2.x86_64 wordt opgehaald              (36/45),   5,3 KiB (  2,5 KiB uitgepakt)
Ophalen: libXdamage-devel-1.1.4-8.1.2.x86_64.rpm ........................................................[klaar]
pakket libXxf86vm-devel-1.1.3-4.1.2.x86_64 wordt opgehaald              (37/45),  12,9 KiB ( 11,2 KiB uitgepakt)
Ophalen: libXxf86vm-devel-1.1.3-4.1.2.x86_64.rpm ........................................................[klaar]
pakket libcairo-script-interpreter2-1.14.0-7.8.1.x86_64 wordt opgehaald (38/45),  69,5 KiB (147,0 KiB uitgepakt)
Ophalen: libcairo-script-interpreter2-1.14.0-7.8.1.x86_64.rpm .............................[klaar (396,8 KiB/s)]
pakket libpng16-devel-1.6.13-2.4.1.x86_64 wordt opgehaald               (39/45), 179,8 KiB (658,0 KiB uitgepakt)
Ophalen: libpng16-devel-1.6.13-2.4.1.x86_64.rpm .........................................................[klaar]
pakket glib2-devel-2.42.2-9.1.x86_64 wordt opgehaald                    (40/45),   2,7 MiB ( 26,0 MiB uitgepakt)
Ophalen: glib2-devel-2.42.2-9.1.x86_64.rpm ..................................................[klaar (1,5 MiB/s)]
pakket Mesa-libGL-devel-10.3.7-91.6.1.x86_64 wordt opgehaald            (41/45), 509,1 KiB (  1,6 MiB uitgepakt)
Ophalen: Mesa-libGL-devel-10.3.7-91.6.1.x86_64.rpm ..........................................[klaar (1,0 MiB/s)]
pakket Mesa-libEGL-devel-10.3.7-91.6.1.x86_64 wordt opgehaald           (42/45),  76,2 KiB ( 67,3 KiB uitgepakt)
Ophalen: Mesa-libEGL-devel-10.3.7-91.6.1.x86_64.rpm .....................................................[klaar]
pakket libpng16-compat-devel-1.6.13-2.4.1.x86_64 wordt opgehaald        (43/45), 103,5 KiB ( 78,3 KiB uitgepakt)
Ophalen: libpng16-compat-devel-1.6.13-2.4.1.x86_64.rpm ..................................................[klaar]
pakket cairo-devel-1.14.0-7.8.1.x86_64 wordt opgehaald                  (44/45), 186,9 KiB (  1,8 MiB uitgepakt)
Ophalen: cairo-devel-1.14.0-7.8.1.x86_64.rpm ............................................................[klaar]
pakket libpoppler-devel-0.26.5-1.1.x86_64 wordt opgehaald               (45/45), 229,2 KiB (  1,1 MiB uitgepakt)
Ophalen: libpoppler-devel-0.26.5-1.1.x86_64.rpm .............................................[klaar (1,1 MiB/s)]
Controleren op conflicten tussen bestanden: .............................................................[klaar]
( 1/45) Installeert: damageproto-devel-1.2.1-2.2.1 ......................................................[klaar]
( 2/45) Installeert: kbproto-devel-1.0.6-2.2.1 ..........................................................[klaar]
( 3/45) Installeert: libdrm-devel-2.4.58-1.1 ............................................................[klaar]
( 4/45) Installeert: libexpat-devel-2.1.0-14.1.2 ........................................................[klaar]
( 5/45) Installeert: libpcrecpp0-8.35-3.2.3 .............................................................[klaar]
( 6/45) Installeert: libpcreposix0-8.35-3.2.3 ...........................................................[klaar]
( 7/45) Installeert: libpixman-1-0-devel-0.32.6-2.1.2 ...................................................[klaar]
( 8/45) Installeert: libpoppler-cpp0-0.26.5-1.1 .........................................................[klaar]
( 9/45) Installeert: libstdc++-devel-4.8-7.1.2 ..........................................................[klaar]
(10/45) Installeert: libxcb-dpms0-1.11-2.1.2 ............................................................[klaar]
(11/45) Installeert: libxcb-record0-1.11-2.1.2 ..........................................................[klaar]
(12/45) Installeert: libxcb-res0-1.11-2.1.2 .............................................................[klaar]
(13/45) Installeert: libxcb-screensaver0-1.11-2.1.2 .....................................................[klaar]
(14/45) Installeert: libxcb-xevie0-1.11-2.1.2 ...........................................................[klaar]
(15/45) Installeert: libxcb-xf86dri0-1.11-2.1.2 .........................................................[klaar]
(16/45) Installeert: libxcb-xinerama0-1.11-2.1.2 ........................................................[klaar]
(17/45) Installeert: libxcb-xprint0-1.11-2.1.2 ..........................................................[klaar]
(18/45) Installeert: libxcb-xvmc0-1.11-2.1.2 ............................................................[klaar]
(19/45) Installeert: libxshmfence-devel-1.1-3.1.2 .......................................................[klaar]
(20/45) Installeert: pthread-stubs-devel-0.3-2.1.2 ......................................................[klaar]
(21/45) Installeert: renderproto-devel-0.11.1-2.2.1 .....................................................[klaar]
(22/45) Installeert: xextproto-devel-7.3.0-2.2.1 ........................................................[klaar]
(23/45) Installeert: xf86vidmodeproto-devel-2.3.1-2.2.1 .................................................[klaar]
(24/45) Installeert: xproto-devel-7.0.26-2.2.1 ..........................................................[klaar]
(25/45) Installeert: zlib-devel-1.2.8-5.1.2 .............................................................[klaar]
(26/45) Installeert: pcre-devel-8.35-3.2.3 ..............................................................[klaar]
(27/45) Installeert: fixesproto-devel-5.0-2.2.1 .........................................................[klaar]
(28/45) Installeert: libXau-devel-1.0.8-5.1.2 ...........................................................[klaar]
(29/45) Installeert: freetype2-devel-2.5.3-2.1.3 ........................................................[klaar]
(30/45) Installeert: libxcb-devel-1.11-2.1.2 ............................................................[klaar]
(31/45) Installeert: fontconfig-devel-2.11.1-2.1.2 ......................................................[klaar]
(32/45) Installeert: libX11-devel-1.6.2-5.1.2 ...........................................................[klaar]
(33/45) Installeert: libXrender-devel-0.9.8-4.1.2 .......................................................[klaar]
(34/45) Installeert: libXfixes-devel-5.0.1-4.1.2 ........................................................[klaar]
(35/45) Installeert: libXext-devel-1.3.3-2.1.2 ..........................................................[klaar]
(36/45) Installeert: libXdamage-devel-1.1.4-8.1.2 .......................................................[klaar]
(37/45) Installeert: libXxf86vm-devel-1.1.3-4.1.2 .......................................................[klaar]
(38/45) Installeert: libcairo-script-interpreter2-1.14.0-7.8.1 ..........................................[klaar]
(39/45) Installeert: libpng16-devel-1.6.13-2.4.1 ........................................................[klaar]
(40/45) Installeert: glib2-devel-2.42.2-9.1 .............................................................[klaar]
(41/45) Installeert: Mesa-libGL-devel-10.3.7-91.6.1 .....................................................[klaar]
(42/45) Installeert: Mesa-libEGL-devel-10.3.7-91.6.1 ....................................................[klaar]
(43/45) Installeert: libpng16-compat-devel-1.6.13-2.4.1 .................................................[klaar]
(44/45) Installeert: cairo-devel-1.14.0-7.8.1 ...........................................................[klaar]
(45/45) Installeert: libpoppler-devel-0.26.5-1.1 ........................................................[klaar]

En nogmaals proberen:

dany@linux-oj7m:~/pdf2htmlEX-master> cmake .
-- checking for module 'poppler>=0.25.0'
--   found poppler, version 0.26.5
-- checking for module 'libfontforge>=2.0.0'
--   package 'libfontforge>=2.0.0' not found
CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake:340 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPkgConfig.cmake:502 (_pkg_check_modules_internal)
  CMakeLists.txt:75 (pkg_check_modules)


-- Configuring incomplete, errors occurred!
See also "/home/dany/pdf2htmlEX-master/CMakeFiles/CMakeOutput.log".
See also "/home/dany/pdf2htmlEX-master/CMakeFiles/CMakeError.log".

Het ontbrekende libfontforge pakket en bijhorende -devel pakket installeer je met de volgende opdrachten:

dany@linux-oj7m:~/pdf2htmlEX-master> sudo /sbin/OCICLI http://software.opensuse.org/ymp/home:siegel/openSUSE_13.2/fontforge.ymp
Als u verdergaat, dan worden de volgende installatiebronnen toegevoegd:
        * http://download.opensuse.org/repositories/home:/siegel/openSUSE_13.2/
Als verdergaat, dan zullen de volgende softwarepakketten worden geïnstalleerd op uw systeem:
        * fontforge
error : unterminated entity reference  binary Type 1, some Type 3s, and
some Type 0s), TrueType, OpenType (Type2), and CID-keyed fonts.
Continue? y/N
y
Toevoegen van installatiebronnen...
dany@linux-oj7m:~/pdf2htmlEX-master> sudo /sbin/OCICLI http://software.opensuse.org/ymp/home:siegel/openSUSE_13.2/fontforge-devel.ymp
Als u verdergaat, dan worden de volgende installatiebronnen toegevoegd:
        * http://download.opensuse.org/repositories/home:/siegel/openSUSE_13.2/
Als verdergaat, dan zullen de volgende softwarepakketten worden geïnstalleerd op uw systeem:
        * fontforge-devel
Continue? y/N
y
Toevoegen van installatiebronnen...
Installeren van pakketten...

En nogmaals proberen:

dany@linux-oj7m:~/pdf2htmlEX-master> cmake .
-- checking for module 'libfontforge>=2.0.0'
--   found libfontforge, version 2.0.20140101
-- Performing Test CXX0X_SUPPORT
-- Performing Test CXX0X_SUPPORT - Success
-- Configuring done
-- Generating done
-- Build files have been written to: /home/dany/pdf2htmlEX-master

Eindelijk gelukt, de volgende stap bestaat uit het compileren zelf:

dany@linux-oj7m:~/pdf2htmlEX-master> make
Scanning dependencies of target pdf2htmlEX
[  3%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/pdf2htmlEX.cc.o
[  6%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/HTMLRenderer/draw.cc.o
[  9%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/HTMLRenderer/general.cc.o
[ 12%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/HTMLRenderer/image.cc.o
[ 15%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/HTMLRenderer/font.cc.o
[ 18%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/HTMLRenderer/link.cc.o
[ 21%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/HTMLRenderer/outline.cc.o
[ 25%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/HTMLRenderer/state.cc.o
[ 28%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/HTMLRenderer/text.cc.o
[ 31%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/BackgroundRenderer/BackgroundRenderer.cc.o
[ 34%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/BackgroundRenderer/SplashBackgroundRenderer.cc.o
[ 37%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/BackgroundRenderer/CairoBackgroundRenderer.cc.o
[ 40%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/util/const.cc.o
[ 43%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/util/encoding.cc.o
[ 46%] Building C object CMakeFiles/pdf2htmlEX.dir/src/util/ffw.c.o
In file included from /usr/include/fontforge/fontforge.h:37:0,
                 from /home/dany/pdf2htmlEX-master/src/util/ffw.c:16:
/usr/include/fontforge/splinefont.h:1142:31: fatal error: spiroentrypoints.h: Bestand of map bestaat niet
 # include "spiroentrypoints.h"
                               ^
compilation terminated.
CMakeFiles/pdf2htmlEX.dir/build.make:376: recept voor doel 'CMakeFiles/pdf2htmlEX.dir/src/util/ffw.c.o' is mislukt
make[2]: *** [CMakeFiles/pdf2htmlEX.dir/src/util/ffw.c.o] Fout 1
CMakeFiles/Makefile2:91: recept voor doel 'CMakeFiles/pdf2htmlEX.dir/all' is mislukt
make[1]: *** [CMakeFiles/pdf2htmlEX.dir/all] Fout 2
Makefile:126: recept voor doel 'all' is mislukt
make: *** [all] Fout 2

Normaal mag je bij het compileren geen foutmeldingen krijgen, we hebben de afhankelijkheden met behulp van cmake immers al opgelost, toch missen we spiroentrypoints.h. Dit installeren we met de opdracht:

dany@linux-oj7m:~/pdf2htmlEX-master> sudo zypper install libspiro-devel
Gegevens van installatiebron laden...
Lezen van geïnstalleerde pakketten...
Afhankelijkheden tussen pakketten oplossen...

Het volgende NIEUWE pakket zal worden geïnstalleerd:
  libspiro-devel 

1 nieuw te installeren pakket.
Totale downloadgrootte: 5,3 KiB. Reeds in de cache: 0 B  Na de operatie zal aanvullend 2,7 KiB worden gebruikt.
Doorgaan? [j/n/? alle opties tonen] (j): j
pakket libspiro-devel-0.0.1-8.1.2.x86_64 wordt opgehaald                  (1/1),   5,3 KiB (  2,7 KiB uitgepakt)
Ophalen: libspiro-devel-0.0.1-8.1.2.x86_64.rpm ..........................................................[klaar]
Controleren op conflicten tussen bestanden: .............................................................[klaar]
(1/1) Installeert: libspiro-devel-0.0.1-8.1.2 ...........................................................[klaar]

Tweede compileerpoging:

dany@linux-oj7m:~/pdf2htmlEX-master> make
[  3%] Building C object CMakeFiles/pdf2htmlEX.dir/src/util/ffw.c.o
[  6%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/util/math.cc.o                                         
[  9%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/util/misc.cc.o                                         
[ 12%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/util/path.cc.o                                         
[ 15%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/util/unicode.cc.o                                      
[ 18%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/util/mingw.cc.o                                        
[ 21%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/ArgParser.cc.o                                         
[ 25%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/Base64Stream.cc.o                                      
[ 28%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/Color.cc.o                                             
[ 31%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/CoveredTextDetector.cc.o                               
[ 34%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/DrawingTracer.cc.o                                     
/home/dany/pdf2htmlEX-master/src/DrawingTracer.cc:17:2: warning: #warning "Cairo is disabled because ENABLE_SVG is off, --correct-text-visibility has limited functionality." [-Wcpp]
 #warning "Cairo is disabled because ENABLE_SVG is off, --correct-text-visibility has limited functionality."
  ^
[ 37%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/HTMLTextLine.cc.o
[ 40%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/HTMLTextPage.cc.o                                      
[ 43%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/Preprocessor.cc.o                                      
[ 46%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/StringFormatter.cc.o                                   
[ 50%] Building CXX object CMakeFiles/pdf2htmlEX.dir/src/TmpFiles.cc.o                                          
Linking CXX executable pdf2htmlEX
[ 93%] Built target pdf2htmlEX
Scanning dependencies of target pdf2htmlEX_resources
[ 96%] Generating share/base.min.css, share/fancy.min.css
++ dirname share/build_css.sh
+ BASEDIR=share
+ YUI_DIR=share/../3rdparty/yuicompressor
+ YUI_JAR=share/../3rdparty/yuicompressor/yuicompressor-2.4.8.jar
+ build base.css base.min.css
+ INPUT=share/base.css
+ OUTPUT=share/base.min.css
+ echo 'Building share/base.min.css with YUI Compressor'
Building share/base.min.css with YUI Compressor
+ java -jar share/../3rdparty/yuicompressor/yuicompressor-2.4.8.jar --charset utf-8 -o share/base.min.css share/base.css
+ echo Done.
Done.
+ build fancy.css fancy.min.css
+ INPUT=share/fancy.css
+ OUTPUT=share/fancy.min.css
+ echo 'Building share/fancy.min.css with YUI Compressor'
Building share/fancy.min.css with YUI Compressor
+ java -jar share/../3rdparty/yuicompressor/yuicompressor-2.4.8.jar --charset utf-8 -o share/fancy.min.css share/fancy.css
+ echo Done.
Done.
[100%] Generating share/pdf2htmlEX.min.js
++ dirname share/build_js.sh
+ BASEDIR=share
+ CLOSURE_COMPILER_DIR=share/../3rdparty/closure-compiler
+ CLOSURE_COMPILER_JAR=share/../3rdparty/closure-compiler/compiler.jar
+ INPUT=share/pdf2htmlEX.js
+ OUTPUT_FN=pdf2htmlEX.min.js
+ OUTPUT=share/pdf2htmlEX.min.js
+ echo 'Building pdf2htmlEX.min.js with closure-compiler...'
Building pdf2htmlEX.min.js with closure-compiler...
+ java -jar share/../3rdparty/closure-compiler/compiler.jar --compilation_level ADVANCED_OPTIMIZATIONS --warning_level VERBOSE --output_wrapper '(function(){%output%})();' --js share/pdf2htmlEX.js --js_output_file share/pdf2htmlEX.min.js
+ echo Done.
Done.
[100%] Built target pdf2htmlEX_resources

De derde en laatste stap bestaat uit het installeren van pdftohtmlex:

dany@linux-oj7m:~/pdf2htmlEX-master> sudo make install
[ 93%] Built target pdf2htmlEX
[100%] Built target pdf2htmlEX_resources
Linking CXX executable CMakeFiles/CMakeRelink.dir/pdf2htmlEX
Install the project...
-- Install configuration: "Release"
-- Installing: /usr/local/bin/pdf2htmlEX
-- Installing: /usr/local/share/pdf2htmlEX/compatibility.js
-- Installing: /usr/local/share/pdf2htmlEX/compatibility.min.js
-- Installing: /usr/local/share/pdf2htmlEX/base.css
-- Installing: /usr/local/share/pdf2htmlEX/base.min.css
-- Installing: /usr/local/share/pdf2htmlEX/fancy.css
-- Installing: /usr/local/share/pdf2htmlEX/fancy.min.css
-- Installing: /usr/local/share/pdf2htmlEX/LICENSE
-- Installing: /usr/local/share/pdf2htmlEX/manifest
-- Installing: /usr/local/share/pdf2htmlEX/pdf2htmlEX.js
-- Installing: /usr/local/share/pdf2htmlEX/pdf2htmlEX.min.js
-- Installing: /usr/local/share/pdf2htmlEX/pdf2htmlEX-64x64.png
-- Installing: /usr/local/share/man/man1/pdf2htmlEX.1

Verlaat de map met de broncode met de opdracht:

dany@linux-oj7m:~/pdf2htmlEX-master> cd

Klaar. Het zelf compileren van een pakket leer je pas na veel vallen en opstaan, door handleidingen te lezen, internet te doorzoeken naar oplossingen, enz. Met andere woorden je moet ervaring opdoen. Probeer het, mislukt het, jammer, maar laat nooit de moed zakken, volg tutorials als deze en leer uit uw ervaringen.

Met de volgende opdracht converteer je een PDF document naar één groot HTML bestand:

dany@linux-oj7m:~> pdf2htmlEX Documents/SNT/Linux/Web/cursus/linux1sp11.pdf 
Preprocessing: 124/124
Working: 124/124

Met extra opties kan je de opdracht sturen (zie de pdf2htmlEX wiki op het internet).

pdf2htmlEX