source: general/graphlib/poppler.xml@ 79c7118

12.2 gimp3 lazarus trunk xry111/for-12.3 xry111/spidermonkey128
Last change on this file since 79c7118 was a43ab15, checked in by Bruce Dubbs <bdubbs@…>, 4 months ago

Update to poppler-24.05.0.

  • Property mode set to 100644
File size: 17.1 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 "a9f302feb3b79a99f66fa9d1e4af49ac">
10 <!ENTITY poppler-size "1.8 MB">
11 <!ENTITY poppler-buildsize "87 MB (with Qt6 library; add 13 MB for tests)">
12 <!ENTITY poppler-time "1.2 SBU (with parallelism=4, tests, and Qt6 library)">
13 <!-- For poppler 24.05.0 All 65 tests passed in 1.8 seconds -->
14
15 <!ENTITY poppler-data-version "0.4.12">
16
17 <!ENTITY poppler-data-download-http "https://poppler.freedesktop.org/poppler-data-&poppler-data-version;.tar.gz">
18 <!ENTITY poppler-data-md5sum "67ee4a40aa830b1f6e2560ce5f6471ba">
19 <!ENTITY poppler-data-size "4.3 MB">
20 <!ENTITY poppler-data-buildsize "26 MB">
21 <!ENTITY poppler-data-time "less than 0.1 SBU">
22]>
23
24<sect1 id="poppler" xreflabel="Poppler-&poppler-version;">
25 <?dbhtml filename="poppler.html"?>
26
27
28 <title>Poppler-&poppler-version;</title>
29
30 <indexterm zone="poppler">
31 <primary sortas="a-Poppler">Poppler</primary>
32 </indexterm>
33
34 <sect2 role="package">
35 <title>Introduction to Poppler</title>
36
37 <para>
38 The <application>Poppler</application> package contains a PDF rendering
39 library and command line tools used to manipulate PDF files. This is
40 useful for providing PDF rendering functionality as a shared library.
41 </para>
42
43 &lfs121_checked;
44
45 <bridgehead renderas="sect3">Package Information</bridgehead>
46 <itemizedlist spacing="compact">
47 <listitem>
48 <para>
49 Download (HTTP): <ulink url="&poppler-download-http;"/>
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download (FTP): <ulink url="&poppler-download-ftp;"/>
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Download MD5 sum: &poppler-md5sum;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Download size: &poppler-size;
65 </para>
66 </listitem>
67 <listitem>
68 <para>
69 Estimated disk space required: &poppler-buildsize;
70 </para>
71 </listitem>
72 <listitem>
73 <para>
74 Estimated build time: &poppler-time;
75 </para>
76 </listitem>
77 </itemizedlist>
78
79 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
80
81 <itemizedlist spacing="compact">
82 <title>Poppler Encoding Data</title>
83 <listitem>
84 <para>
85 Download (HTTP): <ulink url="&poppler-data-download-http;"/>
86 </para>
87 </listitem>
88 <listitem>
89 <para>
90 Download MD5 sum: &poppler-data-md5sum;
91 </para>
92 </listitem>
93 <listitem>
94 <para>
95 Download size: &poppler-data-size;
96 </para>
97 </listitem>
98 <listitem>
99 <para>
100 Estimated disk space required: &poppler-data-buildsize;
101 </para>
102 </listitem>
103 <listitem>
104 <para>
105 Estimated build time: &poppler-data-time;
106 </para>
107 </listitem>
108 </itemizedlist>
109
110 <para>
111 The additional package consists of encoding files for use with
112 <application>Poppler</application>. The encoding files are optional and
113 <application>Poppler</application> will automatically read them if they
114 are present. When installed, they enable
115 <application>Poppler</application> to render CJK and Cyrillic properly.
116 </para>
117
118 <bridgehead renderas="sect3">Poppler Dependencies</bridgehead>
119
120 <bridgehead renderas="sect4">Required</bridgehead>
121 <para role="required">
122 <xref linkend="cmake"/>,
123 <xref linkend="fontconfig"/>, and
124 &gobject-introspection;
125 </para>
126
127 <bridgehead renderas="sect4">Recommended</bridgehead>
128 <para role="recommended">
129 <xref linkend="boost"/>,
130 <xref linkend="cairo"/>,
131 <xref linkend="gpgme"/>,
132 <xref linkend="lcms2"/>,
133 <xref linkend="libjpeg"/>,
134 <xref linkend="libpng"/>,
135 <xref linkend="libtiff"/>,
136 <xref linkend="nss"/>,
137 <xref linkend="openjpeg2"/>, and
138 <xref linkend="qt6"/>
139 (required for PDF support in <xref role="nodep" linkend="okular"/>)
140 </para>
141
142 <bridgehead renderas="sect4">Optional</bridgehead>
143 <para role="optional">
144 <xref linkend="curl"/>,
145 <xref linkend="gdk-pixbuf"/>,
146 <xref linkend="git"/> (for downloading test files),
147 <xref linkend="gtk-doc"/>,
148 <xref linkend="gtk3"/>, and
149 &qt5-deps;
150 </para>
151
152 </sect2>
153
154 <sect2 role="installation">
155 <title>Installation of Poppler</title>
156
157 <para>
158 First, conditionalize C++20 only code to fix non C++20 builds that
159 don't use the affected methods.
160 </para>
161
162<screen><userinput>sed -e '/::starts/i #if __cplusplus >= 202002L'\
163 -e '/::ends/a #endif' \
164 -i goo/GooString.h</userinput></screen>
165
166 <para>
167 Now, install <application>Poppler</application> by running the following
168 commands:
169 </para>
170
171<screen><userinput>mkdir build &amp;&amp;
172cd build &amp;&amp;
173
174cmake -DCMAKE_BUILD_TYPE=Release \
175 -DCMAKE_INSTALL_PREFIX=/usr \
176 -DTESTDATADIR=$PWD/testfiles \
177 -DENABLE_QT5=OFF \
178 -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \
179 .. &amp;&amp;
180make</userinput></screen>
181
182 <para>
183 In order to run the test suite, some testcases are needed and can
184 be obtained only from a git repository. The command to download
185 them is:
186<command>git clone --depth 1 https://gitlab.freedesktop.org/poppler/test.git testfiles</command>.
187 Then issue: <command>LC_ALL=en_US.UTF-8 make test</command>.
188 </para>
189
190 <para>
191 Now, as the <systemitem class="username">root</systemitem> user:
192 </para>
193
194<screen role="root"><userinput>make install</userinput></screen>
195
196 <para>
197 To install the documentation, run the following commands as
198 <systemitem class="username">root</systemitem>:
199 </para>
200
201<screen role="root"><userinput>install -v -m755 -d /usr/share/doc/poppler-&poppler-version; &amp;&amp;
202cp -vr ../glib/reference/html /usr/share/doc/poppler-&poppler-version;</userinput></screen>
203
204<!-- ==== Poppler Data ====== -->
205 <bridgehead renderas="sect3">Poppler Data</bridgehead>
206
207 <para>
208 If you downloaded the additional encoding data package, install it by
209 issuing the following commands:
210 </para>
211
212<screen><userinput>tar -xf ../../poppler-data-&poppler-data-version;.tar.gz &amp;&amp;
213cd poppler-data-&poppler-data-version;</userinput></screen>
214
215 <para>
216 Now, as the <systemitem class="username">root</systemitem> user:
217 </para>
218
219<screen role="root"><userinput>make prefix=/usr install</userinput></screen>
220
221 </sect2>
222
223 <sect2 role="commands">
224 <title>Command Explanations</title>
225
226 <para>
227 <parameter>-DCMAKE_BUILD_TYPE=Release</parameter>: This switch is used
228 to apply a higher level of compiler optimizations.
229 </para>
230
231 <para>
232 <parameter>-DTESTDATADIR=$PWD/testfiles</parameter>: Tells the test
233 programs where the auxiliary files are located.
234 </para>
235<!--
236 <para>
237 <parameter>-DENABLE_QT5=OFF</parameter>: This switch is needed to
238 prevent an error when Qt5 is not installed. Remove it if you
239 have installed <xref linkend="qt6" role="nodep"/>.
240 </para>
241-->
242 <para>
243 <parameter>-DENABLE_UNSTABLE_API_ABI_HEADERS=ON</parameter>: Installs some old
244 <application>Xpdf</application> headers required by certain programs.
245 <!--(e.g. <application>Inkscape</application>).-->
246 </para>
247
248 <para>
249 <option>-DENABLE_GTK_DOC=ON</option>: Use this parameter if
250 GTK-Doc <!--and Pygments--> is installed and you wish to rebuild and
251 install the API documentation.
252 </para>
253
254 <para>
255 <option>-DENABLE_QT5=OFF</option>: Use this parameter if
256 &qt5-deps; is not installed.
257 </para>
258
259 <para>
260 <option>-DENABLE_BOOST=OFF</option>: Use this parameter if you have
261 not installed <application>boost</application> (the Splash backend for
262 Qt5 recommends boost).
263 </para>
264
265 <para>
266 <option>-DENABLE_NSS3=OFF</option>: Use this parameter if you have
267 not installed <application>nss</application>.
268 </para>
269
270 <para>
271 <option>-DENABLE_GPGME=OFF</option>: Use this parameter if you have
272 not installed <application>gpgme</application>.
273 </para>
274
275 <para>
276 <option>-DENABLE_LIBTIFF=OFF</option>: Use this parameter if you have
277 not installed <application>libtiff</application>.
278 </para>
279
280 <para>
281 <command>LC_ALL=en_US.UTF-8 make test</command>: Runs the test suite.
282 The environment variable LC_ALL=en_US.UTF-8 is only needed if the
283 default locale does not include UTF-8.
284 </para>
285
286 </sect2>
287
288 <sect2 role="content">
289 <title>Contents</title>
290
291 <segmentedlist>
292 <segtitle>Installed Programs</segtitle>
293 <segtitle>Installed Libraries</segtitle>
294 <segtitle>Installed Directories</segtitle>
295
296 <seglistitem>
297 <seg>
298 pdfattach, pdfdetach, pdffonts, pdfimages, pdfinfo, pdfseparate,
299 pdfsig, pdftocairo, pdftohtml, pdftoppm, pdftops, pdftotext, and
300 pdfunite
301 </seg>
302 <seg>
303 libpoppler.so,
304 libpoppler-cpp.so,
305 libpoppler-glib.so,
306 libpoppler-qt5.so, and
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-qt5">
520 <term><filename class="libraryfile">libpoppler-qt5.so</filename></term>
521 <listitem>
522 <para>
523 is a wrapper library used to interface the PDF rendering functions
524 with <application>Qt</application>5
525 </para>
526 <indexterm zone="poppler libpoppler-qt5">
527 <primary sortas="c-libpoppler-qt5">libpoppler-qt5.so</primary>
528 </indexterm>
529 </listitem>
530 </varlistentry>
531
532 <varlistentry id="libpoppler-qt6">
533 <term><filename class="libraryfile">libpoppler-qt6.so</filename></term>
534 <listitem>
535 <para>
536 is a wrapper library used to interface the PDF rendering functions
537 with <application>Qt</application>6
538 </para>
539 <indexterm zone="poppler libpoppler-qt6">
540 <primary sortas="c-libpoppler-qt6">libpoppler-qt6.so</primary>
541 </indexterm>
542 </listitem>
543 </varlistentry>
544
545 </variablelist>
546
547 </sect2>
548
549</sect1>
Note: See TracBrowser for help on using the repository browser.