source: general/graphlib/poppler.xml@ 88bdca3

trunk
Last change on this file since 88bdca3 was 592fd6c2, checked in by Bruce Dubbs <bdubbs@…>, 41 hours ago

Temporarily revert to poppler-24.09.0.

  • Property mode set to 100644
File size: 16.8 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY poppler-download-http "https://poppler.freedesktop.org/poppler-&poppler-version;.tar.xz">
8 <!ENTITY poppler-download-ftp " ">
9<!-- <!ENTITY poppler-md5sum "df69253d6fd4ad7c892d1d48039ecfe7"> -->
10 <!ENTITY poppler-md5sum "c4a92a7ee9cd8137c50273bcc5252646">
11 <!ENTITY poppler-size "1.8 MB">
12 <!ENTITY poppler-buildsize "76 MB (with Qt6 library; add 13 MB for tests)">
13 <!ENTITY poppler-time "1.0 SBU (with parallelism=4, tests, and Qt6 library)">
14 <!-- For poppler 24.05.0 All 65 tests passed in 1.8 seconds -->
15 <!-- For poppler 24.06.0 One test, check_qt6_signature_basics, out of 65 tests
16 passed in 42 seconds -->
17
18 <!ENTITY poppler-data-version "0.4.12">
19
20 <!ENTITY poppler-data-download-http "https://poppler.freedesktop.org/poppler-data-&poppler-data-version;.tar.gz">
21 <!ENTITY poppler-data-md5sum "67ee4a40aa830b1f6e2560ce5f6471ba">
22 <!ENTITY poppler-data-size "4.3 MB">
23 <!ENTITY poppler-data-buildsize "26 MB">
24 <!ENTITY poppler-data-time "less than 0.1 SBU">
25]>
26
27<sect1 id="poppler" xreflabel="Poppler-&poppler-version;">
28 <?dbhtml filename="poppler.html"?>
29
30
31 <title>Poppler-&poppler-version;</title>
32
33 <indexterm zone="poppler">
34 <primary sortas="a-Poppler">Poppler</primary>
35 </indexterm>
36
37 <sect2 role="package">
38 <title>Introduction to Poppler</title>
39
40 <para>
41 The <application>Poppler</application> package contains a PDF rendering
42 library and command line tools used to manipulate PDF files. This is
43 useful for providing PDF rendering functionality as a shared library.
44 </para>
45
46 &lfs122_checked;
47
48 <bridgehead renderas="sect3">Package Information</bridgehead>
49 <itemizedlist spacing="compact">
50 <listitem>
51 <para>
52 Download (HTTP): <ulink url="&poppler-download-http;"/>
53 </para>
54 </listitem>
55 <listitem>
56 <para>
57 Download (FTP): <ulink url="&poppler-download-ftp;"/>
58 </para>
59 </listitem>
60 <listitem>
61 <para>
62 Download MD5 sum: &poppler-md5sum;
63 </para>
64 </listitem>
65 <listitem>
66 <para>
67 Download size: &poppler-size;
68 </para>
69 </listitem>
70 <listitem>
71 <para>
72 Estimated disk space required: &poppler-buildsize;
73 </para>
74 </listitem>
75 <listitem>
76 <para>
77 Estimated build time: &poppler-time;
78 </para>
79 </listitem>
80 </itemizedlist>
81
82 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
83
84 <itemizedlist spacing="compact">
85 <title>Poppler Encoding Data</title>
86 <listitem>
87 <para>
88 Download (HTTP): <ulink url="&poppler-data-download-http;"/>
89 </para>
90 </listitem>
91 <listitem>
92 <para>
93 Download MD5 sum: &poppler-data-md5sum;
94 </para>
95 </listitem>
96 <listitem>
97 <para>
98 Download size: &poppler-data-size;
99 </para>
100 </listitem>
101 <listitem>
102 <para>
103 Estimated disk space required: &poppler-data-buildsize;
104 </para>
105 </listitem>
106 <listitem>
107 <para>
108 Estimated build time: &poppler-data-time;
109 </para>
110 </listitem>
111 </itemizedlist>
112
113 <para>
114 The additional package consists of encoding files for use with
115 <application>Poppler</application>. The encoding files are optional and
116 <application>Poppler</application> will automatically read them if they
117 are present. When installed, they enable
118 <application>Poppler</application> to render CJK and Cyrillic properly.
119 </para>
120
121 <bridgehead renderas="sect3">Poppler Dependencies</bridgehead>
122
123 <bridgehead renderas="sect4">Required</bridgehead>
124 <para role="required">
125 <xref linkend="cmake"/>,
126 <xref linkend="fontconfig"/>, and
127 &gobject-introspection;
128 </para>
129
130 <bridgehead renderas="sect4">Recommended</bridgehead>
131 <para role="recommended">
132 <xref linkend="boost"/>,
133 <xref linkend="cairo"/>,
134 <xref linkend="gpgme"/>,
135 <xref linkend="lcms2"/>,
136 <xref linkend="libjpeg"/>,
137 <xref linkend="libpng"/>,
138 <xref linkend="libtiff"/>,
139 <xref linkend="nss"/>,
140 <xref linkend="openjpeg2"/>, and
141 <xref linkend="qt6"/>
142 (required for PDF support in <xref role="nodep" linkend="okular"/>)
143 </para>
144
145 <bridgehead renderas="sect4">Optional</bridgehead>
146 <para role="optional">
147 <xref linkend="curl"/>,
148 <xref linkend="gdk-pixbuf"/>,
149 <xref linkend="git"/> (for downloading test files),
150 <xref linkend="gtk-doc"/> and
151 <xref linkend="gtk3"/>
152 </para>
153
154 </sect2>
155
156 <sect2 role="installation">
157 <title>Installation of Poppler</title>
158<!--
159 <para>
160 First, conditionalize C++20 only code to fix non C++20 builds that
161 don't use the affected methods.
162 </para>
163
164<screen><userinput>sed -e '/::starts/i #if __cplusplus >= 202002L'\
165 -e '/::ends/a #endif' \
166 -i goo/GooString.h</userinput></screen>
167-->
168 <para>
169 Now, install <application>Poppler</application> by running the following
170 commands:
171 </para>
172
173<screen><userinput>mkdir build &amp;&amp;
174cd build &amp;&amp;
175
176cmake -D CMAKE_BUILD_TYPE=Release \
177 -D CMAKE_INSTALL_PREFIX=/usr \
178 -D TESTDATADIR=$PWD/testfiles \
179 -D ENABLE_QT5=OFF \
180 -D ENABLE_UNSTABLE_API_ABI_HEADERS=ON \
181 -G Ninja .. &amp;&amp;
182ninja</userinput></screen>
183
184 <para>
185 In order to run the test suite, some testcases are needed and can
186 be obtained only from a git repository. The command to download
187 them is:
188<command>git clone --depth 1 https://gitlab.freedesktop.org/poppler/test.git testfiles</command>.
189 Then issue: <command>LC_ALL=en_US.UTF-8 ninja test</command>.
190 One subtest of check_qt6_signature_basics is known to fail.
191 </para>
192
193 <para>
194 Now, as the <systemitem class="username">root</systemitem> user:
195 </para>
196
197<screen role="root"><userinput>ninja install</userinput></screen>
198
199 <para>
200 To install the documentation, run the following commands as
201 <systemitem class="username">root</systemitem>:
202 </para>
203
204<screen role="root"><userinput>install -v -m755 -d /usr/share/doc/poppler-&poppler-version; &amp;&amp;
205cp -vr ../glib/reference/html /usr/share/doc/poppler-&poppler-version;</userinput></screen>
206
207<!-- ==== Poppler Data ====== -->
208 <bridgehead renderas="sect3">Poppler Data</bridgehead>
209
210 <para>
211 If you downloaded the additional encoding data package, install it by
212 issuing the following commands:
213 </para>
214
215<screen><userinput>tar -xf ../../poppler-data-&poppler-data-version;.tar.gz &amp;&amp;
216cd poppler-data-&poppler-data-version;</userinput></screen>
217
218 <para>
219 Now, as the <systemitem class="username">root</systemitem> user:
220 </para>
221
222<screen role="root"><userinput>make prefix=/usr install</userinput></screen>
223
224 </sect2>
225
226 <sect2 role="commands">
227 <title>Command Explanations</title>
228
229 <para>
230 <parameter>-D CMAKE_BUILD_TYPE=Release</parameter>: This switch is used
231 to apply a higher level of compiler optimizations.
232 </para>
233
234 <para>
235 <parameter>-D TESTDATADIR=$PWD/testfiles</parameter>: Tells the test
236 programs where the auxiliary files are located.
237 </para>
238
239 <para>
240 <parameter>-D ENABLE_QT5=OFF</parameter>: This switch is needed to
241 prevent an error when Qt5 is not installed.
242 </para>
243
244 <para>
245 <parameter>-D ENABLE_UNSTABLE_API_ABI_HEADERS=ON</parameter>: Installs some old
246 <application>Xpdf</application> headers required by certain programs.
247 <!--(e.g. <application>Inkscape</application>).-->
248 </para>
249
250 <para>
251 <option>-D ENABLE_GTK_DOC=ON</option>: Use this parameter if
252 GTK-Doc <!--and Pygments--> is installed and you wish to rebuild and
253 install the API documentation.
254 </para>
255
256 <para>
257 <option>-D ENABLE_QT6=OFF</option>: Use this parameter if
258 <xref linkend='qt6'/> is not installed.
259 </para>
260
261 <para>
262 <option>-D ENABLE_BOOST=OFF</option>: Use this parameter if you have
263 not installed <application>boost</application> (the Splash backend for
264 Qt5 recommends boost).
265 </para>
266
267 <para>
268 <option>-D ENABLE_NSS3=OFF</option>: Use this parameter if you have
269 not installed <application>nss</application>.
270 </para>
271
272 <para>
273 <option>-D ENABLE_GPGME=OFF</option>: Use this parameter if you have
274 not installed <application>gpgme</application>.
275 </para>
276
277 <para>
278 <option>-D ENABLE_LIBTIFF=OFF</option>: Use this parameter if you have
279 not installed <application>libtiff</application>.
280 </para>
281
282 <para>
283 <command>LC_ALL=en_US.UTF-8 ninja test</command>: Runs the test suite.
284 The environment variable LC_ALL=en_US.UTF-8 is only needed if the
285 default locale does not include UTF-8.
286 </para>
287
288 </sect2>
289
290 <sect2 role="content">
291 <title>Contents</title>
292
293 <segmentedlist>
294 <segtitle>Installed Programs</segtitle>
295 <segtitle>Installed Libraries</segtitle>
296 <segtitle>Installed Directories</segtitle>
297
298 <seglistitem>
299 <seg>
300 pdfattach, pdfdetach, pdffonts, pdfimages, pdfinfo, pdfseparate,
301 pdfsig, pdftocairo, pdftohtml, pdftoppm, pdftops, pdftotext, and
302 pdfunite
303 </seg>
304 <seg>
305 libpoppler.so,
306 libpoppler-cpp.so,
307 libpoppler-glib.so, and
308 (optionally) libpoppler-qt6.so
309 </seg>
310 <seg>
311 /usr/include/poppler,
312 /usr/share/poppler, and
313 /usr/share/doc/poppler-&poppler-version;
314 </seg>
315 </seglistitem>
316 </segmentedlist>
317
318 <variablelist>
319 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
320 <?dbfo list-presentation="list"?>
321 <?dbhtml list-presentation="table"?>
322
323 <varlistentry id="pdfattach">
324 <term><command>pdfattach</command></term>
325 <listitem>
326 <para>
327 adds a new embedded file to an existing PDF file
328 </para>
329 <indexterm zone="poppler pdfattach">
330 <primary sortas="b-pdfattach">pdfattach</primary>
331 </indexterm>
332 </listitem>
333 </varlistentry>
334
335 <varlistentry id="pdfdetach">
336 <term><command>pdfdetach</command></term>
337 <listitem>
338 <para>
339 lists or extracts embedded files from PDF files
340 </para>
341 <indexterm zone="poppler pdfdetach">
342 <primary sortas="b-pdfdetach">pdfdetach</primary>
343 </indexterm>
344 </listitem>
345 </varlistentry>
346
347 <varlistentry id="pdffonts">
348 <term><command>pdffonts</command></term>
349 <listitem>
350 <para>
351 lists the fonts used in a PDF file along with various information
352 for each font
353 </para>
354 <indexterm zone="poppler pdffonts">
355 <primary sortas="b-pdffonts">pdffonts</primary>
356 </indexterm>
357 </listitem>
358 </varlistentry>
359
360 <varlistentry id="pdfimages">
361 <term><command>pdfimages</command></term>
362 <listitem>
363 <para>
364 saves images from a PDF file as PPM, PBM, or JPEG files
365 </para>
366 <indexterm zone="poppler pdfimages">
367 <primary sortas="b-pdfimages">pdfimages</primary>
368 </indexterm>
369 </listitem>
370 </varlistentry>
371
372 <varlistentry id="pdfinfo">
373 <term><command>pdfinfo</command></term>
374 <listitem>
375 <para>
376 prints the contents of the 'Info' dictionary (plus some other useful
377 information) from a PDF file
378 </para>
379 <indexterm zone="poppler pdfinfo">
380 <primary sortas="b-pdfinfo">pdfinfo</primary>
381 </indexterm>
382 </listitem>
383 </varlistentry>
384
385 <varlistentry id="pdfseparate">
386 <term><command>pdfseparate</command></term>
387 <listitem>
388 <para>
389 extracts single pages from a PDF file
390 </para>
391 <indexterm zone="poppler pdfseparate">
392 <primary sortas="b-pdseparate">pdfseparate</primary>
393 </indexterm>
394 </listitem>
395 </varlistentry>
396
397 <varlistentry id="pdfsig">
398 <term><command>pdfsig</command></term>
399 <listitem>
400 <para>
401 verifies the digital signatures in a PDF document
402 </para>
403 <indexterm zone="poppler pdfsig">
404 <primary sortas="b-pdseparate">pdfsig</primary>
405 </indexterm>
406 </listitem>
407 </varlistentry>
408
409 <varlistentry id="pdftocairo">
410 <term><command>pdftocairo</command></term>
411 <listitem>
412 <para>
413 converts a PDF file to one of several formats (PNG, JPEG, PDF, PS,
414 EPS, SVG) using the cairo output device of the poppler library
415 </para>
416 <indexterm zone="poppler pdftocairo">
417 <primary sortas="b-pdftocairo">pdftocairo</primary>
418 </indexterm>
419 </listitem>
420 </varlistentry>
421
422 <varlistentry id="pdftohtml">
423 <term><command>pdftohtml</command></term>
424 <listitem>
425 <para>
426 converts a PDF file to HTML
427 </para>
428 <indexterm zone="poppler pdftohtml">
429 <primary sortas="b-pdftohtml">pdftohtml</primary>
430 </indexterm>
431 </listitem>
432 </varlistentry>
433
434 <varlistentry id="pdftoppm">
435 <term><command>pdftoppm</command></term>
436 <listitem>
437 <para>
438 converts PDF files to PBM, PGM and PPM formats
439 </para>
440 <indexterm zone="poppler pdftoppm">
441 <primary sortas="b-pdftoppm">pdftoppm</primary>
442 </indexterm>
443 </listitem>
444 </varlistentry>
445
446 <varlistentry id="pdftops">
447 <term><command>pdftops</command></term>
448 <listitem>
449 <para>
450 converts PDF files to Postscript format
451 </para>
452 <indexterm zone="poppler pdftops">
453 <primary sortas="b-pdftops">pdftops</primary>
454 </indexterm>
455 </listitem>
456 </varlistentry>
457
458 <varlistentry id="pdftotext">
459 <term><command>pdftotext</command></term>
460 <listitem>
461 <para>
462 converts PDF files to plain text
463 </para>
464 <indexterm zone="poppler pdftotext">
465 <primary sortas="b-pdftotext">pdftotext</primary>
466 </indexterm>
467 </listitem>
468 </varlistentry>
469
470 <varlistentry id="pdfunite">
471 <term><command>pdfunite</command></term>
472 <listitem>
473 <para>
474 merges several PDF files, in the order of their occurrence on the
475 command line, to one PDF output file
476 </para>
477 <indexterm zone="poppler pdfunite">
478 <primary sortas="b-pdfunite">pdfunite</primary>
479 </indexterm>
480 </listitem>
481 </varlistentry>
482
483 <varlistentry id="libpoppler">
484 <term><filename class="libraryfile">libpoppler.so</filename></term>
485 <listitem>
486 <para>
487 contains the API functions to render PDF files
488 </para>
489 <indexterm zone="poppler libpoppler">
490 <primary sortas="c-libpoppler">libpoppler.so</primary>
491 </indexterm>
492 </listitem>
493 </varlistentry>
494
495 <varlistentry id="libpoppler-cpp">
496 <term><filename class="libraryfile">libpoppler-cpp.so</filename></term>
497 <listitem>
498 <para>
499 is a C++ backend for rendering PDF files
500 </para>
501 <indexterm zone="poppler libpoppler-cpp">
502 <primary sortas="c-libpoppler-cpp">libpoppler-cpp.so</primary>
503 </indexterm>
504 </listitem>
505 </varlistentry>
506
507 <varlistentry id="libpoppler-glib">
508 <term><filename class="libraryfile">libpoppler-glib.so</filename></term>
509 <listitem>
510 <para>
511 is a wrapper library used to interface the PDF rendering functions
512 with <application>GTK+</application>
513 </para>
514 <indexterm zone="poppler libpoppler-glib">
515 <primary sortas="c-libpoppler-glib">libpoppler-glib.so</primary>
516 </indexterm>
517 </listitem>
518 </varlistentry>
519
520 <varlistentry id="libpoppler-qt6">
521 <term><filename class="libraryfile">libpoppler-qt6.so</filename></term>
522 <listitem>
523 <para>
524 is a wrapper library used to interface the PDF rendering functions
525 with <application>Qt</application>6
526 </para>
527 <indexterm zone="poppler libpoppler-qt6">
528 <primary sortas="c-libpoppler-qt6">libpoppler-qt6.so</primary>
529 </indexterm>
530 </listitem>
531 </varlistentry>
532
533 </variablelist>
534
535 </sect2>
536
537</sect1>
Note: See TracBrowser for help on using the repository browser.