source: general/graphlib/poppler.xml@ a63b21e

trunk
Last change on this file since a63b21e was 2b211140, checked in by Bruce Dubbs <bdubbs@…>, 2 weeks ago

Update to poppler-24.09.0.

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