source: general/graphlib/poppler.xml

trunk
Last change on this file was 162194f9, checked in by Bruce Dubbs <bdubbs@…>, 6 days ago

Update to poppler-24.06.0.

  • Property mode set to 100644
File size: 17.3 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 "52bbd64187e785eeb3c06d8720e7ae67">
10 <!ENTITY poppler-size "1.8 MB">
11 <!ENTITY poppler-buildsize "100 MB (with Qt6 library; add 13 MB for tests)">
12 <!ENTITY poppler-time "1.8 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 &lfs121_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"/>,
150 <xref linkend="gtk3"/>, and
151 &qt5-deps;
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 -DCMAKE_BUILD_TYPE=Release \
177 -DCMAKE_INSTALL_PREFIX=/usr \
178 -DTESTDATADIR=$PWD/testfiles \
179 -DENABLE_QT5=OFF \
180 -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \
181 .. &amp;&amp;
182make</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 make 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>make 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>-DCMAKE_BUILD_TYPE=Release</parameter>: This switch is used
231 to apply a higher level of compiler optimizations.
232 </para>
233
234 <para>
235 <parameter>-DTESTDATADIR=$PWD/testfiles</parameter>: Tells the test
236 programs where the auxiliary files are located.
237 </para>
238<!--
239 <para>
240 <parameter>-DENABLE_QT5=OFF</parameter>: This switch is needed to
241 prevent an error when Qt5 is not installed. Remove it if you
242 have installed <xref linkend="qt6" role="nodep"/>.
243 </para>
244-->
245 <para>
246 <parameter>-DENABLE_UNSTABLE_API_ABI_HEADERS=ON</parameter>: Installs some old
247 <application>Xpdf</application> headers required by certain programs.
248 <!--(e.g. <application>Inkscape</application>).-->
249 </para>
250
251 <para>
252 <option>-DENABLE_GTK_DOC=ON</option>: Use this parameter if
253 GTK-Doc <!--and Pygments--> is installed and you wish to rebuild and
254 install the API documentation.
255 </para>
256
257 <para>
258 <option>-DENABLE_QT5=OFF</option>: Use this parameter if
259 &qt5-deps; is not installed.
260 </para>
261
262 <para>
263 <option>-DENABLE_BOOST=OFF</option>: Use this parameter if you have
264 not installed <application>boost</application> (the Splash backend for
265 Qt5 recommends boost).
266 </para>
267
268 <para>
269 <option>-DENABLE_NSS3=OFF</option>: Use this parameter if you have
270 not installed <application>nss</application>.
271 </para>
272
273 <para>
274 <option>-DENABLE_GPGME=OFF</option>: Use this parameter if you have
275 not installed <application>gpgme</application>.
276 </para>
277
278 <para>
279 <option>-DENABLE_LIBTIFF=OFF</option>: Use this parameter if you have
280 not installed <application>libtiff</application>.
281 </para>
282
283 <para>
284 <command>LC_ALL=en_US.UTF-8 make test</command>: Runs the test suite.
285 The environment variable LC_ALL=en_US.UTF-8 is only needed if the
286 default locale does not include UTF-8.
287 </para>
288
289 </sect2>
290
291 <sect2 role="content">
292 <title>Contents</title>
293
294 <segmentedlist>
295 <segtitle>Installed Programs</segtitle>
296 <segtitle>Installed Libraries</segtitle>
297 <segtitle>Installed Directories</segtitle>
298
299 <seglistitem>
300 <seg>
301 pdfattach, pdfdetach, pdffonts, pdfimages, pdfinfo, pdfseparate,
302 pdfsig, pdftocairo, pdftohtml, pdftoppm, pdftops, pdftotext, and
303 pdfunite
304 </seg>
305 <seg>
306 libpoppler.so,
307 libpoppler-cpp.so,
308 libpoppler-glib.so,
309 libpoppler-qt5.so, and
310 (optionally) libpoppler-qt6.so
311 </seg>
312 <seg>
313 /usr/include/poppler,
314 /usr/share/poppler, and
315 /usr/share/doc/poppler-&poppler-version;
316 </seg>
317 </seglistitem>
318 </segmentedlist>
319
320 <variablelist>
321 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
322 <?dbfo list-presentation="list"?>
323 <?dbhtml list-presentation="table"?>
324
325 <varlistentry id="pdfattach">
326 <term><command>pdfattach</command></term>
327 <listitem>
328 <para>
329 adds a new embedded file to an existing PDF file
330 </para>
331 <indexterm zone="poppler pdfattach">
332 <primary sortas="b-pdfattach">pdfattach</primary>
333 </indexterm>
334 </listitem>
335 </varlistentry>
336
337 <varlistentry id="pdfdetach">
338 <term><command>pdfdetach</command></term>
339 <listitem>
340 <para>
341 lists or extracts embedded files from PDF files
342 </para>
343 <indexterm zone="poppler pdfdetach">
344 <primary sortas="b-pdfdetach">pdfdetach</primary>
345 </indexterm>
346 </listitem>
347 </varlistentry>
348
349 <varlistentry id="pdffonts">
350 <term><command>pdffonts</command></term>
351 <listitem>
352 <para>
353 lists the fonts used in a PDF file along with various information
354 for each font
355 </para>
356 <indexterm zone="poppler pdffonts">
357 <primary sortas="b-pdffonts">pdffonts</primary>
358 </indexterm>
359 </listitem>
360 </varlistentry>
361
362 <varlistentry id="pdfimages">
363 <term><command>pdfimages</command></term>
364 <listitem>
365 <para>
366 saves images from a PDF file as PPM, PBM, or JPEG files
367 </para>
368 <indexterm zone="poppler pdfimages">
369 <primary sortas="b-pdfimages">pdfimages</primary>
370 </indexterm>
371 </listitem>
372 </varlistentry>
373
374 <varlistentry id="pdfinfo">
375 <term><command>pdfinfo</command></term>
376 <listitem>
377 <para>
378 prints the contents of the 'Info' dictionary (plus some other useful
379 information) from a PDF file
380 </para>
381 <indexterm zone="poppler pdfinfo">
382 <primary sortas="b-pdfinfo">pdfinfo</primary>
383 </indexterm>
384 </listitem>
385 </varlistentry>
386
387 <varlistentry id="pdfseparate">
388 <term><command>pdfseparate</command></term>
389 <listitem>
390 <para>
391 extracts single pages from a PDF file
392 </para>
393 <indexterm zone="poppler pdfseparate">
394 <primary sortas="b-pdseparate">pdfseparate</primary>
395 </indexterm>
396 </listitem>
397 </varlistentry>
398
399 <varlistentry id="pdfsig">
400 <term><command>pdfsig</command></term>
401 <listitem>
402 <para>
403 verifies the digital signatures in a PDF document
404 </para>
405 <indexterm zone="poppler pdfsig">
406 <primary sortas="b-pdseparate">pdfsig</primary>
407 </indexterm>
408 </listitem>
409 </varlistentry>
410
411 <varlistentry id="pdftocairo">
412 <term><command>pdftocairo</command></term>
413 <listitem>
414 <para>
415 converts a PDF file to one of several formats (PNG, JPEG, PDF, PS,
416 EPS, SVG) using the cairo output device of the poppler library
417 </para>
418 <indexterm zone="poppler pdftocairo">
419 <primary sortas="b-pdftocairo">pdftocairo</primary>
420 </indexterm>
421 </listitem>
422 </varlistentry>
423
424 <varlistentry id="pdftohtml">
425 <term><command>pdftohtml</command></term>
426 <listitem>
427 <para>
428 converts a PDF file to HTML
429 </para>
430 <indexterm zone="poppler pdftohtml">
431 <primary sortas="b-pdftohtml">pdftohtml</primary>
432 </indexterm>
433 </listitem>
434 </varlistentry>
435
436 <varlistentry id="pdftoppm">
437 <term><command>pdftoppm</command></term>
438 <listitem>
439 <para>
440 converts PDF files to PBM, PGM and PPM formats
441 </para>
442 <indexterm zone="poppler pdftoppm">
443 <primary sortas="b-pdftoppm">pdftoppm</primary>
444 </indexterm>
445 </listitem>
446 </varlistentry>
447
448 <varlistentry id="pdftops">
449 <term><command>pdftops</command></term>
450 <listitem>
451 <para>
452 converts PDF files to Postscript format
453 </para>
454 <indexterm zone="poppler pdftops">
455 <primary sortas="b-pdftops">pdftops</primary>
456 </indexterm>
457 </listitem>
458 </varlistentry>
459
460 <varlistentry id="pdftotext">
461 <term><command>pdftotext</command></term>
462 <listitem>
463 <para>
464 converts PDF files to plain text
465 </para>
466 <indexterm zone="poppler pdftotext">
467 <primary sortas="b-pdftotext">pdftotext</primary>
468 </indexterm>
469 </listitem>
470 </varlistentry>
471
472 <varlistentry id="pdfunite">
473 <term><command>pdfunite</command></term>
474 <listitem>
475 <para>
476 merges several PDF files, in the order of their occurrence on the
477 command line, to one PDF output file
478 </para>
479 <indexterm zone="poppler pdfunite">
480 <primary sortas="b-pdfunite">pdfunite</primary>
481 </indexterm>
482 </listitem>
483 </varlistentry>
484
485 <varlistentry id="libpoppler">
486 <term><filename class="libraryfile">libpoppler.so</filename></term>
487 <listitem>
488 <para>
489 contains the API functions to render PDF files
490 </para>
491 <indexterm zone="poppler libpoppler">
492 <primary sortas="c-libpoppler">libpoppler.so</primary>
493 </indexterm>
494 </listitem>
495 </varlistentry>
496
497 <varlistentry id="libpoppler-cpp">
498 <term><filename class="libraryfile">libpoppler-cpp.so</filename></term>
499 <listitem>
500 <para>
501 is a C++ backend for rendering PDF files
502 </para>
503 <indexterm zone="poppler libpoppler-cpp">
504 <primary sortas="c-libpoppler-cpp">libpoppler-cpp.so</primary>
505 </indexterm>
506 </listitem>
507 </varlistentry>
508
509 <varlistentry id="libpoppler-glib">
510 <term><filename class="libraryfile">libpoppler-glib.so</filename></term>
511 <listitem>
512 <para>
513 is a wrapper library used to interface the PDF rendering functions
514 with <application>GTK+</application>
515 </para>
516 <indexterm zone="poppler libpoppler-glib">
517 <primary sortas="c-libpoppler-glib">libpoppler-glib.so</primary>
518 </indexterm>
519 </listitem>
520 </varlistentry>
521
522 <varlistentry id="libpoppler-qt5">
523 <term><filename class="libraryfile">libpoppler-qt5.so</filename></term>
524 <listitem>
525 <para>
526 is a wrapper library used to interface the PDF rendering functions
527 with <application>Qt</application>5
528 </para>
529 <indexterm zone="poppler libpoppler-qt5">
530 <primary sortas="c-libpoppler-qt5">libpoppler-qt5.so</primary>
531 </indexterm>
532 </listitem>
533 </varlistentry>
534
535 <varlistentry id="libpoppler-qt6">
536 <term><filename class="libraryfile">libpoppler-qt6.so</filename></term>
537 <listitem>
538 <para>
539 is a wrapper library used to interface the PDF rendering functions
540 with <application>Qt</application>6
541 </para>
542 <indexterm zone="poppler libpoppler-qt6">
543 <primary sortas="c-libpoppler-qt6">libpoppler-qt6.so</primary>
544 </indexterm>
545 </listitem>
546 </varlistentry>
547
548 </variablelist>
549
550 </sect2>
551
552</sect1>
Note: See TracBrowser for help on using the repository browser.