glfs/general/graphlib/poppler.xml
Andrew Benton 2511f83dd1 Poppler tweaks
commented out some references to xpdf as it is no longer in the book.
added --enable-xpdf-headers to the default options as it is required by 3 packages in the book
added an optional patch to use lcms2

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@9905 af4574ff-66df-0310-9fd7-8a98e5e911e0
2012-04-12 13:29:17 +00:00

452 lines
14 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY poppler-download-http
"http://poppler.freedesktop.org/poppler-&poppler-version;.tar.gz">
<!ENTITY poppler-download-ftp " ">
<!ENTITY poppler-md5sum "12658f3308597e57f3faff538cc73baf">
<!ENTITY poppler-size "1.9 MB">
<!ENTITY poppler-buildsize "28 MB (excluding the encoding data) and
112 MB (including the encoding data)">
<!ENTITY poppler-time "1.3 SBU (includes building with most
dependencies)">
<!ENTITY poppler-data-version "0.4.5">
<!ENTITY poppler-data-download-http
"http://poppler.freedesktop.org/poppler-data-&poppler-data-version;.tar.gz">
<!ENTITY poppler-data-md5sum "448dd7c5077570e340340706cef931aa">
<!ENTITY poppler-data-size "4.0 MB">
]>
<sect1 id="poppler" xreflabel="Poppler-&poppler-version;">
<?dbhtml filename="poppler.html"?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>Poppler-&poppler-version;</title>
<indexterm zone="poppler">
<primary sortas="a-Poppler">Poppler</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to Poppler</title>
<para>
The <application>Poppler</application> 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.
</para>
&lfs71_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&poppler-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&poppler-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &poppler-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &poppler-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &poppler-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &poppler-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
<itemizedlist spacing="compact">
<title>Poppler Encoding Data</title>
<listitem>
<para>
Download (HTTP): <ulink url="&poppler-data-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &poppler-data-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &poppler-data-size;
</para>
</listitem>
</itemizedlist>
<para>
The additional package consists of encoding files for use with
<application>Poppler</application>. The encoding files are optional and
<application>Poppler</application> will automatically read them if they
are present. When installed, they enable
<application>Poppler</application> to render CJK and Cyrillic properly.
</para>
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Optional patch (if you want to use <application>Lcms 2</application>):
<ulink url="&patch-root;/poppler-&poppler-version;-lcms2-1.patch"/>
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Poppler Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<xref linkend="fontconfig"/> and
<xref linkend="pkgconfig"/>
</para>
<bridgehead renderas="sect4">Recommended</bridgehead>
<para role="recommended">
<xref linkend="libjpeg"/>,
<xref linkend="cairo"/> and
<xref linkend="openjpeg"/>.
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="curl"/>,
<xref linkend="gtk2"/>,
<xref linkend="lcms"/> or <xref linkend="lcms2"/>,
<xref linkend="libtiff"/>,
<xref linkend="libxml2"/> and
<xref linkend="qt4"/> (the <filename>libpoppler-qt4.so</filename> library
is needed for PDF support in <application>Okular</application>).
</para>
<para condition="html" role="usernotes">
User Notes: <ulink url="&blfs-wiki;/poppler"/>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of Poppler</title>
<para>
If you have installed <xref linkend="lcms2"/> and would like
<application>Poppler</application> to use it, apply the
<application>Lcms 2</application> patch:
</para>
<screen><userinput>patch -p1 &lt; ../poppler-&poppler-version;-lcms2-1.patch</userinput></screen>
<para>
Install <application>Poppler</application> by running the following
commands:
</para>
<!-- Xpdf is no longer in the book
<caution>
<para>
<application>Poppler</application> will overwrite command-line utilities
and man pages previously installed by the
<application>Xpdf</application> package. If you prefer to keep the
<application>Xpdf</application> versions of these files, pass the
<option>-&#45;disable-utils</option> parameter to the
<command>configure</command> command below.
</para>
</caution>
-->
<screen><userinput>./configure --prefix=/usr --sysconfdir=/etc \
--disable-static --enable-xpdf-headers &amp;&amp;
make</userinput></screen>
<para>
This package does not come with a test suite.
</para>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install &amp;&amp;
install -v -m755 -d /usr/share/doc/poppler-&poppler-version; &amp;&amp;
install -v -m644 README* /usr/share/doc/poppler-&poppler-version;</userinput></screen>
<para>
If you downloaded the additional encoding data package, install it by
issuing the following commands:
</para>
<screen><userinput>tar -xf ../poppler-data-&poppler-data-version;.tar.gz &amp;&amp;
cd poppler-data-&poppler-data-version;</userinput></screen>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make prefix=/usr install</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../xincludes/static-libraries.xml"/>
<para>
<option>--enable-xpdf-headers</option>: Install some old
<application>Xpdf</application> headers required by certain programs (e.g.
<application>Okular</application>, <application>Libre Office</application>
and <application>Inkscape</application>).
</para>
<para>
<parameter>-enable-zlib</parameter>: This parameter makes
<application>Poppler</application> link with the system-installed
<filename class='libraryfile'>libz</filename> library to enable compressed
PDF functionality.
</para>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>
pdffonts, pdfimages, pdfinfo, pdfseparate, pdftocairo, pdftohtml,
pdftoppm, pdftops, pdftotext, pdfunite and poppler-glib-demo
</seg>
<seg>
libpoppler.so, libpoppler-cpp.so, libpoppler-glib.so and
libpoppler-qt4.so
</seg>
<seg>
/usr/include/poppler, /usr/share/doc/poppler-&poppler-version;,
/usr/share/gtk-doc/html/poppler and /usr/share/poppler
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="pdffonts">
<term><command>pdffonts</command></term>
<listitem>
<para>
lists the fonts used in a PDF file along with various information
for each font.
</para>
<indexterm zone="poppler pdffonts">
<primary sortas="b-pdffonts">pdffonts</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="pdfimages">
<term><command>pdfimages</command></term>
<listitem>
<para>
saves images from a PDF file as PPM, PBM, or JPEG files.
</para>
<indexterm zone="poppler pdfimages">
<primary sortas="b-pdfimages">pdfimages</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="pdfinfo">
<term><command>pdfinfo</command></term>
<listitem>
<para>
prints the contents of the 'Info' dictionary (plus some other useful
information) from a PDF file.
</para>
<indexterm zone="poppler pdfinfo">
<primary sortas="b-pdfinfo">pdfinfo</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="pdfseparate">
<term><command>pdfseparate</command></term>
<listitem>
<para>
extracts single pages from a PDF file.
</para>
<indexterm zone="poppler pdfseparate">
<primary sortas="b-pdseparate">pdfseparate</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="pdftocairo">
<term><command>pdftocairo</command></term>
<listitem>
<para>
converts a PDF file to one of several formats (PNG, JPEG, PDF, PS,
EPS, SVG) using the cairo output device of the poppler library.
</para>
<indexterm zone="poppler pdftocairo">
<primary sortas="b-pdftocairo">pdftocairo</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="pdftohtml">
<term><command>pdftohtml</command></term>
<listitem>
<para>
converts a PDF file to HTML.
</para>
<indexterm zone="poppler pdftohtml">
<primary sortas="b-pdftohtml">pdftohtml</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="pdftoppm">
<term><command>pdftoppm</command></term>
<listitem>
<para>
converts PDF files to PBM, PGM and PPM formats.
</para>
<indexterm zone="poppler pdftoppm">
<primary sortas="b-pdftoppm">pdftoppm</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="pdftops">
<term><command>pdftops</command></term>
<listitem>
<para>
converts PDF files to Postscript format.
</para>
<indexterm zone="poppler pdftops">
<primary sortas="b-pdftops">pdftops</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="pdftotext">
<term><command>pdftotext</command></term>
<listitem>
<para>
converts PDF files to plain text.
</para>
<indexterm zone="poppler pdftotext">
<primary sortas="b-pdftotext">pdftotext</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="pdfunite">
<term><command>pdfunite</command></term>
<listitem>
<para>
merges several PDF files, in the order of their occurrence on the
command line, to one PDF output file.
</para>
<indexterm zone="poppler pdfunite">
<primary sortas="b-pdfunite">pdfunite</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="poppler-glib-demo">
<term><command>poppler-glib-demo</command></term>
<listitem>
<para>
is a tool to demonstrate the API, and for use when debugging and
testing <application>poppler</application>.
</para>
<indexterm zone="poppler poppler-glib-demo">
<primary sortas="b-poppler-glib-demo">poppler-glib-demo</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libpoppler">
<term><filename class='libraryfile'>libpoppler.so</filename></term>
<listitem>
<para>
contains the API functions to render PDF files.
</para>
<indexterm zone="poppler libpoppler">
<primary sortas="c-libpoppler">libpoppler.so</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libpoppler-cpp">
<term><filename class='libraryfile'>libpoppler-cpp.so</filename></term>
<listitem>
<para>
is a C++ backend for rendering PDF files.
</para>
<indexterm zone="poppler libpoppler-cpp">
<primary sortas="c-libpoppler-cpp">libpoppler-cpp.so</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libpoppler-glib">
<term><filename class='libraryfile'>libpoppler-glib.so</filename></term>
<listitem>
<para>
is a wrapper library used to interface the PDF rendering functions
with <application>GTK+</application>.
</para>
<indexterm zone="poppler libpoppler-glib">
<primary sortas="c-libpoppler-glib">libpoppler-glib.so</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libpoppler-qt4">
<term><filename class='libraryfile'>libpoppler-qt4.so</filename></term>
<listitem>
<para>
is a wrapper library used to interface the PDF rendering functions
with <application>Qt</application>-4.
</para>
<indexterm zone="poppler libpoppler-qt4">
<primary sortas="c-libpoppler-qt4">libpoppler-qt4.so</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>