Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package poppler for openSUSE:Factory checked 
in at 2023-02-17 16:43:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/poppler (Old)
 and      /work/SRC/openSUSE:Factory/.poppler.new.22824 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "poppler"

Fri Feb 17 16:43:46 2023 rev:191 rq:1066073 version:23.02.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/poppler/poppler.changes  2023-01-14 
20:31:07.809004646 +0100
+++ /work/SRC/openSUSE:Factory/.poppler.new.22824/poppler.changes       
2023-02-17 16:43:49.770465432 +0100
@@ -1,0 +2,12 @@
+Wed Feb 15 22:40:35 UTC 2023 - Bjørn Lie <bjorn....@gmail.com>
+
+- Update to version 23.02.0:
+  + core:
+    * CairoOutputDev:
+      . Fix rendering of color type 3 fonts
+      . Add handling matte entry
+    * Fix segfault on wrong nssdir
+    * Fix "NSS could not shutdown"
+  + utils: pdfsig: Point out supports PKCS#11 URIs as nickname
+
+-------------------------------------------------------------------

Old:
----
  poppler-23.01.0.tar.xz
  poppler-23.01.0.tar.xz.sig

New:
----
  poppler-23.02.0.tar.xz
  poppler-23.02.0.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ poppler.spec ++++++
--- /var/tmp/diff_new_pack.SVWv7z/_old  2023-02-17 16:43:50.434469171 +0100
+++ /var/tmp/diff_new_pack.SVWv7z/_new  2023-02-17 16:43:50.438469193 +0100
@@ -32,7 +32,7 @@
 %define poppler_api 0.18
 %define poppler_apipkg 0_18
 Name:           poppler%{?psuffix}
-Version:        23.01.0
+Version:        23.02.0
 Release:        0
 Summary:        PDF Rendering Library
 License:        GPL-2.0-only OR GPL-3.0-only


++++++ poppler-23.01.0.tar.xz -> poppler-23.02.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-23.01.0/CMakeLists.txt 
new/poppler-23.02.0/CMakeLists.txt
--- old/poppler-23.01.0/CMakeLists.txt  2023-01-01 13:24:17.000000000 +0100
+++ new/poppler-23.02.0/CMakeLists.txt  2023-02-01 17:42:42.000000000 +0100
@@ -40,7 +40,7 @@
 endif()
 
 set(POPPLER_MAJOR_VERSION "23")
-set(POPPLER_MINOR_VERSION_STRING "01")
+set(POPPLER_MINOR_VERSION_STRING "02")
 # We want the string version to have 08 but the integer version can't have a 
leading 0 since otherwise it's considered octal
 # So strip a leading 0 if found in POPPLER_MINOR_VERSION_STRING and store the 
result in POPPLER_MINOR_VERSION
 string(REGEX REPLACE "^0?(.+)$" "\\1" POPPLER_MINOR_VERSION 
"${POPPLER_MINOR_VERSION_STRING}")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-23.01.0/ChangeLog 
new/poppler-23.02.0/ChangeLog
--- old/poppler-23.01.0/ChangeLog       2023-01-01 13:27:23.000000000 +0100
+++ new/poppler-23.02.0/ChangeLog       2023-02-01 19:51:14.000000000 +0100
@@ -1,3 +1,126 @@
+commit 7673e1fd712416a5d65406d7447a1c3d5ada057b
+Author: Albert Astals Cid <aa...@kde.org>
+Date:   Wed Feb 1 17:42:42 2023 +0100
+
+    poppler 23.02.0
+
+ CMakeLists.txt   |  2 +-
+ NEWS             | 16 +++++++++++++++-
+ cpp/Doxyfile     |  2 +-
+ qt5/src/Doxyfile |  2 +-
+ qt6/src/Doxyfile |  2 +-
+ 5 files changed, 19 insertions(+), 5 deletions(-)
+
+commit 06a0e17bd9387da0a9737f6ce945482930d98341
+Author: Albert Astals Cid <aa...@kde.org>
+Date:   Thu Jan 26 19:07:58 2023 +0100
+
+    Update (C)
+
+ poppler/CairoOutputDev.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 1327646900994c033155100adf7bbaad7654ff50
+Author: Artemy Gordon <artemy.gor...@gmail.com>
+Date:   Thu Jan 26 18:01:09 2023 +0000
+
+    Add handling matte entry in cairo backend
+
+ poppler/CairoOutputDev.cc | 47
+ ++++++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 42 insertions(+), 5 deletions(-)
+
+commit 5f76a61237db0fe26bb2ac41ac41d20670d985a3
+Author: Albert Astals Cid <aa...@kde.org>
+Date:   Thu Jan 26 00:27:47 2023 +0100
+
+    Update (C)
+
+ poppler/CairoFontEngine.cc | 2 +-
+ poppler/CairoOutputDev.cc  | 2 +-
+ poppler/CairoOutputDev.h   | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 53115a05b7b4480ef06165199c8f1cb3982ab13d
+Author: Adrian Johnson <ajohn...@redneon.com>
+Date:   Tue Jan 3 10:13:52 2023 +1030
+
+    Fix cairo rendering of color type 3 fonts
+
+    The bug fix in 448f03cf needs to be disabled for color fonts.
+
+ poppler/CairoFontEngine.cc |  2 +-
+ poppler/CairoOutputDev.cc  |  6 +++---
+ poppler/CairoOutputDev.h   | 12 +++++++++---
+ 3 files changed, 13 insertions(+), 7 deletions(-)
+
+commit da39bd930fee9369071a97b93ffe3ea0987acedc
+Author: Tobias Deiminger <tobias.deimin...@posteo.de>
+Date:   Tue Jan 3 00:25:57 2023 +0100
+
+    Point out pdfsig supports PKCS#11 URIs as nickname
+
+    NSS "just works" with PKCS#11 URIs since 3.39. See
+    https://bugzilla.mozilla.org/show_bug.cgi?id=1475274
+    for details.
+
+    IMO we should expose that as feature. It's a standardized NSS-agnostic
+    way to identify certificate objects, and allows to disambiguate
+    certificates in any case.
+
+ utils/pdfsig.1 | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 63bfacc89576345722cf3cefb962861aa7d159b8
+Author: Tobias Deiminger <tobias.deimin...@posteo.de>
+Date:   Wed Jan 4 21:26:12 2023 +0100
+
+    Fix "NSS could not shutdown"
+
+    SignatureHandler never freed it's signing certificate. This left
+    an internal NSS reference that prevented cleanup of the NSS cache,
+    causing "NSS could not shutdown".
+
+    NSS maintains an internal in-memory cache, where content is reference
+    counted. PK11_MakeCertFromHandle increases the issuerAndSn count.
+    CERT_DestroyCertificate decreases it. NSS tries to destruct the
+    cache in
+    NSS_Shutdown, which we've scheduled with atexit. There it detects a
+    remaining reference.
+
+    Fixes #1326.
+
+ poppler/SignatureHandler.cc | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 924ef4264cdb0eca97185d7fc1791bcf32279933
+Author: Albert Astals Cid <aa...@kde.org>
+Date:   Mon Jan 9 22:52:01 2023 +0100
+
+    Update (C)
+
+ poppler/SignatureHandler.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 4f8c8297d7190480500cdafe52c8777202229b30
+Author: Tobias Deiminger <tobias.deimin...@posteo.de>
+Date:   Mon Jan 9 21:00:06 2023 +0100
+
+    Fix segfault on wrong nssdir
+
+    If SignatureHandler was used with a custom DB directory, but that
+    directory didn't exist or contained no valid DB, NSS crashed on
+    subsequent calls.
+
+    We can prevent crashes by calling NSS_NoDB_Init (as it's already
+    done in
+    the default-DB case).
+
+    Fixes #1331.
+
+ poppler/SignatureHandler.cc | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
 commit 4259ff0c2067d302f97d87221a442eec8e88d45c
 Author: Albert Astals Cid <aa...@kde.org>
 Date:   Sun Jan 1 13:24:17 2023 +0100
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-23.01.0/NEWS new/poppler-23.02.0/NEWS
--- old/poppler-23.01.0/NEWS    2023-01-01 13:24:17.000000000 +0100
+++ new/poppler-23.02.0/NEWS    2023-02-01 17:42:42.000000000 +0100
@@ -1,3 +1,17 @@
+Release 23.02.0:
+        core:
+         * CairoOutputDev: Fix rendering of color type 3 fonts
+         * CairoOutputDev: Add handling matte entry
+         * Fix segfault on wrong nssdir
+         * Fix "NSS could not shutdown"
+
+        utils:
+         * pdfsig: Point out supports PKCS#11 URIs as nickname
+
+
+        qt6:
+         *
+
 Release 23.01.0:
         core:
          * PDFDoc::sign: Fix crash if font can't be found
@@ -14,7 +28,7 @@
          * Improve include path handling
 
         qt6:
-         - Use less deprecated functions
+         * Use less deprecated functions
 
 Release 22.12.0:
         core:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-23.01.0/cpp/Doxyfile 
new/poppler-23.02.0/cpp/Doxyfile
--- old/poppler-23.01.0/cpp/Doxyfile    2023-01-01 13:24:17.000000000 +0100
+++ new/poppler-23.02.0/cpp/Doxyfile    2023-02-01 17:42:42.000000000 +0100
@@ -31,7 +31,7 @@
 # This could be handy for archiving the generated documentation or
 # if some version control system is used.
 
-PROJECT_NUMBER         = 23.01.0
+PROJECT_NUMBER         = 23.02.0
 
 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
 # base path where the generated documentation will be put.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/poppler-23.01.0/glib/reference/html/PopplerDocument.html 
new/poppler-23.02.0/glib/reference/html/PopplerDocument.html
--- old/poppler-23.01.0/glib/reference/html/PopplerDocument.html        
2023-01-01 13:26:20.000000000 +0100
+++ new/poppler-23.02.0/glib/reference/html/PopplerDocument.html        
2023-02-01 19:50:14.000000000 +0100
@@ -3115,16 +3115,16 @@
 8
 9
 10</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span 
class="n">font_info</span><span class="w"> </span><span class="o">=</span><span 
class="w"> </span><span class="n">poppler_font_info_new</span><span class="w"> 
</span><span class="p">(</span><span class="n">document</span><span 
class="p">);</span><span class="w"></span>
-<span class="k">while</span><span class="w"> </span><span 
class="p">(</span><span class="n">poppler_font_info_scan</span><span class="w"> 
</span><span class="p">(</span><span class="n">font_info</span><span 
class="p">,</span><span class="w"> </span><span class="mi">20</span><span 
class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span 
class="n">fonts_iter</span><span class="p">))</span><span class="w"> 
</span><span class="p">{</span><span class="w"></span>
-<span class="w">        </span><span class="k">if</span><span class="w"> 
</span><span class="p">(</span><span class="o">!</span><span 
class="n">fonts_iter</span><span class="p">)</span><span class="w"></span>
-<span class="w">                </span><span class="k">continue</span><span 
class="p">;</span><span class="w"> </span><span class="cm">/* No fonts found in 
these 20 pages */</span><span class="w"></span>
-<span class="w">        </span><span class="k">do</span><span class="w"> 
</span><span class="p">{</span><span class="w"></span>
-<span class="w">                </span><span class="cm">/* Do something with 
font iter */</span><span class="w"></span>
-<span class="w">                </span><span class="n">g_print</span><span 
class="w"> </span><span class="p">(</span><span class="s">&quot;Font Name: 
%s</span><span class="se">\n</span><span class="s">&quot;</span><span 
class="p">,</span><span class="w"> </span><span 
class="n">poppler_fonts_iter_get_name</span><span class="w"> </span><span 
class="p">(</span><span class="n">fonts_iter</span><span 
class="p">));</span><span class="w"></span>
-<span class="w">        </span><span class="p">}</span><span class="w"> 
</span><span class="k">while</span><span class="w"> </span><span 
class="p">(</span><span class="n">poppler_fonts_iter_next</span><span 
class="w"> </span><span class="p">(</span><span 
class="n">fonts_iter</span><span class="p">));</span><span class="w"></span>
-<span class="w">        </span><span 
class="n">poppler_fonts_iter_free</span><span class="w"> </span><span 
class="p">(</span><span class="n">fonts_iter</span><span 
class="p">);</span><span class="w"></span>
-<span class="p">}</span><span class="w"></span></pre></td>
+        <td class="listing_code"><pre class="programlisting"><span 
class="n">font_info</span><span class="w"> </span><span class="o">=</span><span 
class="w"> </span><span class="n">poppler_font_info_new</span><span class="w"> 
</span><span class="p">(</span><span class="n">document</span><span 
class="p">);</span>
+<span class="k">while</span><span class="w"> </span><span 
class="p">(</span><span class="n">poppler_font_info_scan</span><span class="w"> 
</span><span class="p">(</span><span class="n">font_info</span><span 
class="p">,</span><span class="w"> </span><span class="mi">20</span><span 
class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span 
class="n">fonts_iter</span><span class="p">))</span><span class="w"> 
</span><span class="p">{</span>
+<span class="w">        </span><span class="k">if</span><span class="w"> 
</span><span class="p">(</span><span class="o">!</span><span 
class="n">fonts_iter</span><span class="p">)</span>
+<span class="w">                </span><span class="k">continue</span><span 
class="p">;</span><span class="w"> </span><span class="cm">/* No fonts found in 
these 20 pages */</span>
+<span class="w">        </span><span class="k">do</span><span class="w"> 
</span><span class="p">{</span>
+<span class="w">                </span><span class="cm">/* Do something with 
font iter */</span>
+<span class="w">                </span><span class="n">g_print</span><span 
class="w"> </span><span class="p">(</span><span class="s">&quot;Font Name: 
%s</span><span class="se">\n</span><span class="s">&quot;</span><span 
class="p">,</span><span class="w"> </span><span 
class="n">poppler_fonts_iter_get_name</span><span class="w"> </span><span 
class="p">(</span><span class="n">fonts_iter</span><span class="p">));</span>
+<span class="w">        </span><span class="p">}</span><span class="w"> 
</span><span class="k">while</span><span class="w"> </span><span 
class="p">(</span><span class="n">poppler_fonts_iter_next</span><span 
class="w"> </span><span class="p">(</span><span 
class="n">fonts_iter</span><span class="p">));</span>
+<span class="w">        </span><span 
class="n">poppler_fonts_iter_free</span><span class="w"> </span><span 
class="p">(</span><span class="n">fonts_iter</span><span class="p">);</span>
+<span class="p">}</span></pre></td>
       </tr>
     </tbody>
   </table>
@@ -3634,25 +3634,25 @@
 17
 18
 19</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span 
class="k">static</span><span class="w"> </span><span 
class="kt">void</span><span class="w"></span>
-<span class="nf">walk_index</span><span class="w"> </span><span 
class="p">(</span><span class="n">PopplerIndexIter</span><span class="w"> 
</span><span class="o">*</span><span class="n">iter</span><span 
class="p">)</span><span class="w"></span>
-<span class="p">{</span><span class="w"></span>
-<span class="w">  </span><span class="k">do</span><span class="w"></span>
-<span class="w">    </span><span class="p">{</span><span class="w"></span>
-<span class="w">      </span><span class="cm">/* Get the action and do 
something with it */</span><span class="w"></span>
-<span class="w">      </span><span class="n">PopplerIndexIter</span><span 
class="w"> </span><span class="o">*</span><span class="n">child</span><span 
class="w"> </span><span class="o">=</span><span class="w"> </span><span 
class="n">poppler_index_iter_get_child</span><span class="w"> </span><span 
class="p">(</span><span class="n">iter</span><span class="p">);</span><span 
class="w"></span>
-<span class="w">      </span><span class="k">if</span><span class="w"> 
</span><span class="p">(</span><span class="n">child</span><span 
class="p">)</span><span class="w"></span>
-<span class="w">        </span><span class="n">walk_index</span><span 
class="w"> </span><span class="p">(</span><span class="n">child</span><span 
class="p">);</span><span class="w"></span>
-<span class="w">      </span><span 
class="n">poppler_index_iter_free</span><span class="w"> </span><span 
class="p">(</span><span class="n">child</span><span class="p">);</span><span 
class="w"></span>
-<span class="w">    </span><span class="p">}</span><span class="w"></span>
-<span class="w">  </span><span class="k">while</span><span class="w"> 
</span><span class="p">(</span><span 
class="n">poppler_index_iter_next</span><span class="w"> </span><span 
class="p">(</span><span class="n">iter</span><span class="p">));</span><span 
class="w"></span>
-<span class="p">}</span><span class="w"></span>
-<span class="p">...</span><span class="w"></span>
-<span class="p">{</span><span class="w"></span>
-<span class="w">  </span><span class="n">iter</span><span class="w"> 
</span><span class="o">=</span><span class="w"> </span><span 
class="n">poppler_index_iter_new</span><span class="w"> </span><span 
class="p">(</span><span class="n">document</span><span class="p">);</span><span 
class="w"></span>
-<span class="w">  </span><span class="n">walk_index</span><span class="w"> 
</span><span class="p">(</span><span class="n">iter</span><span 
class="p">);</span><span class="w"></span>
-<span class="w">  </span><span class="n">poppler_index_iter_free</span><span 
class="w"> </span><span class="p">(</span><span class="n">iter</span><span 
class="p">);</span><span class="w"></span>
-<span class="p">}</span><span class="w"></span></pre></td>
+        <td class="listing_code"><pre class="programlisting"><span 
class="k">static</span><span class="w"> </span><span class="kt">void</span>
+<span class="nf">walk_index</span><span class="w"> </span><span 
class="p">(</span><span class="n">PopplerIndexIter</span><span class="w"> 
</span><span class="o">*</span><span class="n">iter</span><span 
class="p">)</span>
+<span class="p">{</span>
+<span class="w">  </span><span class="k">do</span>
+<span class="w">    </span><span class="p">{</span>
+<span class="w">      </span><span class="cm">/* Get the action and do 
something with it */</span>
+<span class="w">      </span><span class="n">PopplerIndexIter</span><span 
class="w"> </span><span class="o">*</span><span class="n">child</span><span 
class="w"> </span><span class="o">=</span><span class="w"> </span><span 
class="n">poppler_index_iter_get_child</span><span class="w"> </span><span 
class="p">(</span><span class="n">iter</span><span class="p">);</span>
+<span class="w">      </span><span class="k">if</span><span class="w"> 
</span><span class="p">(</span><span class="n">child</span><span 
class="p">)</span>
+<span class="w">        </span><span class="n">walk_index</span><span 
class="w"> </span><span class="p">(</span><span class="n">child</span><span 
class="p">);</span>
+<span class="w">      </span><span 
class="n">poppler_index_iter_free</span><span class="w"> </span><span 
class="p">(</span><span class="n">child</span><span class="p">);</span>
+<span class="w">    </span><span class="p">}</span>
+<span class="w">  </span><span class="k">while</span><span class="w"> 
</span><span class="p">(</span><span 
class="n">poppler_index_iter_next</span><span class="w"> </span><span 
class="p">(</span><span class="n">iter</span><span class="p">));</span>
+<span class="p">}</span>
+<span class="p">...</span>
+<span class="p">{</span>
+<span class="w">  </span><span class="n">iter</span><span class="w"> 
</span><span class="o">=</span><span class="w"> </span><span 
class="n">poppler_index_iter_new</span><span class="w"> </span><span 
class="p">(</span><span class="n">document</span><span class="p">);</span>
+<span class="w">  </span><span class="n">walk_index</span><span class="w"> 
</span><span class="p">(</span><span class="n">iter</span><span 
class="p">);</span>
+<span class="w">  </span><span class="n">poppler_index_iter_free</span><span 
class="w"> </span><span class="p">(</span><span class="n">iter</span><span 
class="p">);</span>
+<span class="p">}</span></pre></td>
       </tr>
     </tbody>
   </table>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/poppler-23.01.0/glib/reference/html/PopplerStructureElement.html 
new/poppler-23.02.0/glib/reference/html/PopplerStructureElement.html
--- old/poppler-23.01.0/glib/reference/html/PopplerStructureElement.html        
2023-01-01 13:26:20.000000000 +0100
+++ new/poppler-23.02.0/glib/reference/html/PopplerStructureElement.html        
2023-02-01 19:50:14.000000000 +0100
@@ -2186,13 +2186,13 @@
 5
 6
 7</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span 
class="n">guint</span><span class="w"> </span><span class="n">i</span><span 
class="p">,</span><span class="w"> </span><span class="n">n_spans</span><span 
class="p">;</span><span class="w"></span>
-<span class="n">PopplerTextSpan</span><span class="w"> </span><span 
class="o">**</span><span class="n">text_spans</span><span class="w"> 
</span><span class="o">=</span><span class="w"></span>
-<span class="w">   </span><span 
class="n">poppler_structure_element_get_text_spans</span><span class="w"> 
</span><span class="p">(</span><span class="n">element</span><span 
class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span 
class="n">n_spans</span><span class="p">);</span><span class="w"></span>
-<span class="cm">/* Use the text spans */</span><span class="w"></span>
-<span class="k">for</span><span class="w"> </span><span 
class="p">(</span><span class="n">i</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span class="mi">0</span><span 
class="p">;</span><span class="w"> </span><span class="n">i</span><span 
class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span 
class="n">n_spans</span><span class="p">;</span><span class="w"> </span><span 
class="n">i</span><span class="o">++</span><span class="p">)</span><span 
class="w"></span>
-<span class="w">   </span><span class="n">poppler_text_span_free</span><span 
class="w"> </span><span class="p">(</span><span 
class="n">text_spans</span><span class="p">[</span><span 
class="n">i</span><span class="p">]);</span><span class="w"></span>
-<span class="n">g_free</span><span class="w"> </span><span 
class="p">(</span><span class="n">text_spans</span><span 
class="p">);</span><span class="w"></span></pre></td>
+        <td class="listing_code"><pre class="programlisting"><span 
class="n">guint</span><span class="w"> </span><span class="n">i</span><span 
class="p">,</span><span class="w"> </span><span class="n">n_spans</span><span 
class="p">;</span>
+<span class="n">PopplerTextSpan</span><span class="w"> </span><span 
class="o">**</span><span class="n">text_spans</span><span class="w"> 
</span><span class="o">=</span>
+<span class="w">   </span><span 
class="n">poppler_structure_element_get_text_spans</span><span class="w"> 
</span><span class="p">(</span><span class="n">element</span><span 
class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span 
class="n">n_spans</span><span class="p">);</span>
+<span class="cm">/* Use the text spans */</span>
+<span class="k">for</span><span class="w"> </span><span 
class="p">(</span><span class="n">i</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span class="mi">0</span><span 
class="p">;</span><span class="w"> </span><span class="n">i</span><span 
class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span 
class="n">n_spans</span><span class="p">;</span><span class="w"> </span><span 
class="n">i</span><span class="o">++</span><span class="p">)</span>
+<span class="w">   </span><span class="n">poppler_text_span_free</span><span 
class="w"> </span><span class="p">(</span><span 
class="n">text_spans</span><span class="p">[</span><span 
class="n">i</span><span class="p">]);</span>
+<span class="n">g_free</span><span class="w"> </span><span 
class="p">(</span><span class="n">text_spans</span><span 
class="p">);</span></pre></td>
       </tr>
     </tbody>
   </table>
@@ -2572,23 +2572,23 @@
 15
 16
 17</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span 
class="k">static</span><span class="w"> </span><span 
class="kt">void</span><span class="w"></span>
-<span class="nf">walk_structure</span><span class="w"> </span><span 
class="p">(</span><span class="n">PopplerStructureElementIter</span><span 
class="w"> </span><span class="o">*</span><span class="n">iter</span><span 
class="p">)</span><span class="w"></span>
-<span class="p">{</span><span class="w"></span>
-<span class="w">  </span><span class="k">do</span><span class="w"> 
</span><span class="p">{</span><span class="w"></span>
-<span class="w">    </span><span class="cm">/* Get the element and do 
something with it */</span><span class="w"></span>
-<span class="w">    </span><span 
class="n">PopplerStructureElementIter</span><span class="w"> </span><span 
class="o">*</span><span class="n">child</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span 
class="n">poppler_structure_element_iter_get_child</span><span class="w"> 
</span><span class="p">(</span><span class="n">iter</span><span 
class="p">);</span><span class="w"></span>
-<span class="w">    </span><span class="k">if</span><span class="w"> 
</span><span class="p">(</span><span class="n">child</span><span 
class="p">)</span><span class="w"></span>
-<span class="w">      </span><span class="n">walk_structure</span><span 
class="w"> </span><span class="p">(</span><span class="n">child</span><span 
class="p">);</span><span class="w"></span>
-<span class="w">    </span><span 
class="n">poppler_structure_element_iter_free</span><span class="w"> 
</span><span class="p">(</span><span class="n">child</span><span 
class="p">);</span><span class="w"></span>
-<span class="w">  </span><span class="p">}</span><span class="w"> </span><span 
class="k">while</span><span class="w"> </span><span class="p">(</span><span 
class="n">poppler_structure_element_iter_next</span><span class="w"> 
</span><span class="p">(</span><span class="n">iter</span><span 
class="p">));</span><span class="w"></span>
-<span class="p">}</span><span class="w"></span>
-<span class="p">...</span><span class="w"></span>
-<span class="p">{</span><span class="w"></span>
-<span class="w">  </span><span class="n">iter</span><span class="w"> 
</span><span class="o">=</span><span class="w"> </span><span 
class="n">poppler_structure_element_iter_new</span><span class="w"> 
</span><span class="p">(</span><span class="n">document</span><span 
class="p">);</span><span class="w"></span>
-<span class="w">  </span><span class="n">walk_structure</span><span class="w"> 
</span><span class="p">(</span><span class="n">iter</span><span 
class="p">);</span><span class="w"></span>
-<span class="w">  </span><span 
class="n">poppler_structure_element_iter_free</span><span class="w"> 
</span><span class="p">(</span><span class="n">iter</span><span 
class="p">);</span><span class="w"></span>
-<span class="p">}</span><span class="w"></span></pre></td>
+        <td class="listing_code"><pre class="programlisting"><span 
class="k">static</span><span class="w"> </span><span class="kt">void</span>
+<span class="nf">walk_structure</span><span class="w"> </span><span 
class="p">(</span><span class="n">PopplerStructureElementIter</span><span 
class="w"> </span><span class="o">*</span><span class="n">iter</span><span 
class="p">)</span>
+<span class="p">{</span>
+<span class="w">  </span><span class="k">do</span><span class="w"> 
</span><span class="p">{</span>
+<span class="w">    </span><span class="cm">/* Get the element and do 
something with it */</span>
+<span class="w">    </span><span 
class="n">PopplerStructureElementIter</span><span class="w"> </span><span 
class="o">*</span><span class="n">child</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span 
class="n">poppler_structure_element_iter_get_child</span><span class="w"> 
</span><span class="p">(</span><span class="n">iter</span><span 
class="p">);</span>
+<span class="w">    </span><span class="k">if</span><span class="w"> 
</span><span class="p">(</span><span class="n">child</span><span 
class="p">)</span>
+<span class="w">      </span><span class="n">walk_structure</span><span 
class="w"> </span><span class="p">(</span><span class="n">child</span><span 
class="p">);</span>
+<span class="w">    </span><span 
class="n">poppler_structure_element_iter_free</span><span class="w"> 
</span><span class="p">(</span><span class="n">child</span><span 
class="p">);</span>
+<span class="w">  </span><span class="p">}</span><span class="w"> </span><span 
class="k">while</span><span class="w"> </span><span class="p">(</span><span 
class="n">poppler_structure_element_iter_next</span><span class="w"> 
</span><span class="p">(</span><span class="n">iter</span><span 
class="p">));</span>
+<span class="p">}</span>
+<span class="p">...</span>
+<span class="p">{</span>
+<span class="w">  </span><span class="n">iter</span><span class="w"> 
</span><span class="o">=</span><span class="w"> </span><span 
class="n">poppler_structure_element_iter_new</span><span class="w"> 
</span><span class="p">(</span><span class="n">document</span><span 
class="p">);</span>
+<span class="w">  </span><span class="n">walk_structure</span><span class="w"> 
</span><span class="p">(</span><span class="n">iter</span><span 
class="p">);</span>
+<span class="w">  </span><span 
class="n">poppler_structure_element_iter_free</span><span class="w"> 
</span><span class="p">(</span><span class="n">iter</span><span 
class="p">);</span>
+<span class="p">}</span></pre></td>
       </tr>
     </tbody>
   </table>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-23.01.0/glib/reference/html/index.html 
new/poppler-23.02.0/glib/reference/html/index.html
--- old/poppler-23.01.0/glib/reference/html/index.html  2023-01-01 
13:26:20.000000000 +0100
+++ new/poppler-23.02.0/glib/reference/html/index.html  2023-02-01 
19:50:14.000000000 +0100
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" 
cellspacing="0"><tr><th valign="middle"><p class="title">Poppler Reference 
Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for Poppler 23.01.0
+      for Poppler 23.02.0
     </p></div>
 </div>
 <hr>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/poppler-23.01.0/glib/reference/html/poppler-Poppler-Features.html 
new/poppler-23.02.0/glib/reference/html/poppler-Poppler-Features.html
--- old/poppler-23.01.0/glib/reference/html/poppler-Poppler-Features.html       
2023-01-01 13:26:20.000000000 +0100
+++ new/poppler-23.02.0/glib/reference/html/poppler-Poppler-Features.html       
2023-02-01 19:50:14.000000000 +0100
@@ -205,7 +205,7 @@
 <hr>
 <div class="refsect2">
 <a name="POPPLER-MINOR-VERSION:CAPS"></a><h3>POPPLER_MINOR_VERSION</h3>
-<pre class="programlisting">#define POPPLER_MINOR_VERSION (1)
+<pre class="programlisting">#define POPPLER_MINOR_VERSION (2)
 </pre>
 <p>The major version number of the poppler header files (e.g. in poppler 
version
 0.1.2 this is 1.)</p>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-23.01.0/poppler/CairoFontEngine.cc 
new/poppler-23.02.0/poppler/CairoFontEngine.cc
--- old/poppler-23.01.0/poppler/CairoFontEngine.cc      2023-01-01 
13:24:17.000000000 +0100
+++ new/poppler-23.02.0/poppler/CairoFontEngine.cc      2023-02-01 
17:42:42.000000000 +0100
@@ -21,7 +21,7 @@
 // Copyright (C) 2006, 2007, 2010, 2011 Carlos Garcia Campos 
<carlo...@gnome.org>
 // Copyright (C) 2007 Koji Otani <s...@bbr.jp>
 // Copyright (C) 2008, 2009 Chris Wilson <ch...@chris-wilson.co.uk>
-// Copyright (C) 2008, 2012, 2014, 2016, 2017, 2022 Adrian Johnson 
<ajohn...@redneon.com>
+// Copyright (C) 2008, 2012, 2014, 2016, 2017, 2022, 2023 Adrian Johnson 
<ajohn...@redneon.com>
 // Copyright (C) 2009 Darren Kenny <darren.ke...@sun.com>
 // Copyright (C) 2010 Suzuki Toshiya <mpsuz...@hiroshima-u.ac.jp>
 // Copyright (C) 2010 Jan Kümmel <jan+freedesk...@snorc.org>
@@ -482,7 +482,7 @@
     auto gfx = std::make_unique<Gfx>(info->doc, output_dev, resDict, &box, 
nullptr);
     output_dev->startDoc(info->doc, info->fontEngine);
     output_dev->startType3Render(gfx->getState(), gfx->getXRef());
-    output_dev->setInType3Char(true);
+    output_dev->setType3RenderType(color ? CairoOutputDev::Type3RenderColor : 
CairoOutputDev::Type3RenderMask);
     charProc = charProcs->getVal(glyph);
     if (!charProc.isStream()) {
         return CAIRO_STATUS_USER_FONT_ERROR;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-23.01.0/poppler/CairoOutputDev.cc 
new/poppler-23.02.0/poppler/CairoOutputDev.cc
--- old/poppler-23.01.0/poppler/CairoOutputDev.cc       2023-01-01 
13:24:17.000000000 +0100
+++ new/poppler-23.02.0/poppler/CairoOutputDev.cc       2023-02-01 
17:42:42.000000000 +0100
@@ -20,7 +20,7 @@
 // Copyright (C) 2005 Nickolay V. Shmyrev <nshmy...@yandex.ru>
 // Copyright (C) 2006-2011, 2013, 2014, 2017, 2018 Carlos Garcia Campos 
<carlo...@gnome.org>
 // Copyright (C) 2008 Carl Worth <cwo...@cworth.org>
-// Copyright (C) 2008-2018, 2021, 2022 Adrian Johnson <ajohn...@redneon.com>
+// Copyright (C) 2008-2018, 2021-2023 Adrian Johnson <ajohn...@redneon.com>
 // Copyright (C) 2008 Michael Vrable <mvra...@cs.ucsd.edu>
 // Copyright (C) 2008, 2009 Chris Wilson <ch...@chris-wilson.co.uk>
 // Copyright (C) 2008, 2012 Hib Eris <h...@hiberis.nl>
@@ -37,6 +37,7 @@
 // Copyright (C) 2021 Uli Schlachter <psyc...@znc.in>
 // Copyright (C) 2021 Christian Persch <c...@src.gnome.org>
 // Copyright (C) 2022 Zachary Travis <ztra...@everlaw.com>
+// Copyright (C) 2023 Artemy Gordon <artemy.gor...@gmail.com>
 //
 // To see a description of the changes please see the Changelog file that
 // came with your tarball or type make ChangeLog if you are building from git
@@ -155,7 +156,7 @@
     printing = true;
     use_show_text_glyphs = false;
     inUncoloredPattern = false;
-    inType3Char = false;
+    t3_render_state = Type3RenderNone;
     t3_glyph_has_bbox = false;
     t3_glyph_has_color = false;
     text_matrix_valid = true;
@@ -888,7 +889,7 @@
 
 void CairoOutputDev::stroke(GfxState *state)
 {
-    if (inType3Char) {
+    if (t3_render_state == Type3RenderMask) {
         GfxGray gray;
         state->getFillGray(&gray);
         if (colToDbl(gray) > 0.5) {
@@ -919,7 +920,7 @@
 
 void CairoOutputDev::fill(GfxState *state)
 {
-    if (inType3Char) {
+    if (t3_render_state == Type3RenderMask) {
         GfxGray gray;
         state->getFillGray(&gray);
         if (colToDbl(gray) > 0.5) {
@@ -2763,12 +2764,35 @@
     delete imgStr;
 }
 
+static inline void getMatteColorRgb(GfxImageColorMap *colorMap, const GfxColor 
*matteColorIn, GfxRGB *matteColorRgb)
+{
+    colorMap->getColorSpace()->getRGB(matteColorIn, matteColorRgb);
+    matteColorRgb->r = colToByte(matteColorRgb->r);
+    matteColorRgb->g = colToByte(matteColorRgb->g);
+    matteColorRgb->b = colToByte(matteColorRgb->b);
+}
+
+static inline void applyMask(unsigned int *imagePointer, int length, GfxRGB 
matteColor, unsigned char *alphaPointer)
+{
+    unsigned char *p, r, g, b;
+    int i;
+
+    for (i = 0, p = (unsigned char *)imagePointer; i < length; i++, p += 4, 
alphaPointer++) {
+        if (*alphaPointer) {
+            b = std::clamp(matteColor.b + (int)(p[0] - matteColor.b) * 255 / 
*alphaPointer, 0, 255);
+            g = std::clamp(matteColor.g + (int)(p[1] - matteColor.g) * 255 / 
*alphaPointer, 0, 255);
+            r = std::clamp(matteColor.r + (int)(p[2] - matteColor.r) * 255 / 
*alphaPointer, 0, 255);
+            imagePointer[i] = (r << 16) | (g << 8) | (b << 0);
+        }
+    }
+}
+
 // XXX: is this affect by AIS(alpha is shape)?
 void CairoOutputDev::drawSoftMaskedImage(GfxState *state, Object *ref, Stream 
*str, int width, int height, GfxImageColorMap *colorMap, bool interpolate, 
Stream *maskStr, int maskWidth, int maskHeight, GfxImageColorMap *maskColorMap,
                                          bool maskInterpolate)
 {
     ImageStream *maskImgStr, *imgStr;
-    ptrdiff_t row_stride;
+    ptrdiff_t row_stride, mask_row_stride;
     unsigned char *maskBuffer, *buffer;
     unsigned char *maskDest;
     unsigned int *dest;
@@ -2779,6 +2803,12 @@
     int y;
     cairo_filter_t filter;
     cairo_filter_t maskFilter;
+    GfxRGB matteColorRgb;
+
+    const GfxColor *matteColor = maskColorMap->getMatteColor();
+    if (matteColor != nullptr) {
+        getMatteColorRgb(colorMap, matteColor, &matteColorRgb);
+    }
 
     maskImgStr = new ImageStream(maskStr, maskWidth, 
maskColorMap->getNumPixelComps(), maskColorMap->getBits());
     maskImgStr->reset();
@@ -2791,9 +2821,9 @@
     }
 
     maskBuffer = cairo_image_surface_get_data(maskImage);
-    row_stride = cairo_image_surface_get_stride(maskImage);
+    mask_row_stride = cairo_image_surface_get_stride(maskImage);
     for (y = 0; y < maskHeight; y++) {
-        maskDest = (unsigned char *)(maskBuffer + y * row_stride);
+        maskDest = (unsigned char *)(maskBuffer + y * mask_row_stride);
         pix = maskImgStr->getLine();
         if (likely(pix != nullptr)) {
             maskColorMap->getGrayLine(pix, maskDest, maskWidth);
@@ -2835,14 +2865,22 @@
     for (y = 0; y < height; y++) {
         dest = reinterpret_cast<unsigned int *>(buffer + y * row_stride);
         pix = imgStr->getLine();
-        colorMap->getRGBLine(pix, dest, width);
+        if (likely(pix != nullptr)) {
+            colorMap->getRGBLine(pix, dest, width);
+            if (matteColor != nullptr) {
+                maskDest = (unsigned char *)(maskBuffer + y * mask_row_stride);
+                applyMask(dest, width, matteColorRgb, maskDest);
+            }
+        }
     }
 
     filter = getFilterForSurface(image, interpolate);
 
     cairo_surface_mark_dirty(image);
 
-    setMimeData(state, str, ref, colorMap, image, height);
+    if (matteColor == nullptr) {
+        setMimeData(state, str, ref, colorMap, image, height);
+    }
 
     pattern = cairo_pattern_create_for_surface(image);
     cairo_surface_destroy(image);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-23.01.0/poppler/CairoOutputDev.h 
new/poppler-23.02.0/poppler/CairoOutputDev.h
--- old/poppler-23.01.0/poppler/CairoOutputDev.h        2023-01-01 
13:24:17.000000000 +0100
+++ new/poppler-23.02.0/poppler/CairoOutputDev.h        2023-02-01 
17:42:42.000000000 +0100
@@ -18,7 +18,7 @@
 // Copyright (C) 2005, 2006 Kristian Høgsberg <k...@redhat.com>
 // Copyright (C) 2005 Nickolay V. Shmyrev <nshmy...@yandex.ru>
 // Copyright (C) 2006-2011, 2013 Carlos Garcia Campos <carlo...@gnome.org>
-// Copyright (C) 2008, 2009, 2011-2017, 2022 Adrian Johnson 
<ajohn...@redneon.com>
+// Copyright (C) 2008, 2009, 2011-2017, 2022, 2023 Adrian Johnson 
<ajohn...@redneon.com>
 // Copyright (C) 2008 Michael Vrable <mvra...@cs.ucsd.edu>
 // Copyright (C) 2010-2013 Thomas Freitag <thomas.frei...@alfa.de>
 // Copyright (C) 2015 Suzuki Toshiya <mpsuz...@hiroshima-u.ac.jp>
@@ -263,9 +263,15 @@
     }
     void copyAntialias(cairo_t *cr, cairo_t *source_cr);
 
-    void setInType3Char(bool inType3CharA)
+    enum Type3RenderType
     {
-        inType3Char = inType3CharA;
+        Type3RenderNone,
+        Type3RenderMask,
+        Type3RenderColor
+    };
+    void setType3RenderType(Type3RenderType state)
+    {
+        t3_render_state = state;
     }
     void getType3GlyphWidth(double *wx, double *wy)
     {
@@ -348,7 +354,7 @@
     int utf8Max;
     cairo_path_t *textClipPath;
     bool inUncoloredPattern; // inside a uncolored pattern (PaintType = 2)
-    bool inType3Char; // inside a Type 3 CharProc
+    Type3RenderType t3_render_state;
     double t3_glyph_wx, t3_glyph_wy;
     bool t3_glyph_has_bbox;
     bool t3_glyph_has_color;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-23.01.0/poppler/SignatureHandler.cc 
new/poppler-23.02.0/poppler/SignatureHandler.cc
--- old/poppler-23.01.0/poppler/SignatureHandler.cc     2023-01-01 
13:24:17.000000000 +0100
+++ new/poppler-23.02.0/poppler/SignatureHandler.cc     2023-02-01 
17:42:42.000000000 +0100
@@ -17,6 +17,7 @@
 // Copyright 2021 Theofilos Intzoglou <int....@gmail.com>
 // Copyright 2021 Marek Kasik <mka...@redhat.com>
 // Copyright 2022 Erich E. Hoover <erich.e.hoo...@gmail.com>
+// Copyright 2023 Tobias Deiminger <tobias.deimin...@posteo.de>
 //
 //========================================================================
 
@@ -769,15 +770,15 @@
             homeNssDb.append("/.pki/nssdb");
             initSuccess = (NSS_Init(homeNssDb.c_str()) == SECSuccess);
             sNssDir = homeNssDb.toStr();
-            if (!initSuccess) {
-                NSS_NoDB_Init(nullptr);
-            }
         }
     }
 
     if (initSuccess) {
         // Make sure NSS root certificates module is loaded
         SECMOD_AddNewModule("Root Certs", "libnssckbi.so", 0, 0);
+    } else {
+        fprintf(stderr, "NSS_Init failed: %s\n", 
PR_ErrorToString(PORT_GetError(), PR_LANGUAGE_I_DEFAULT));
+        NSS_NoDB_Init(nullptr);
     }
 }
 
@@ -857,6 +858,10 @@
         HASH_Destroy(hash_context);
     }
 
+    if (signing_cert) {
+        CERT_DestroyCertificate(signing_cert);
+    }
+
     free(temp_certs);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-23.01.0/qt5/src/Doxyfile 
new/poppler-23.02.0/qt5/src/Doxyfile
--- old/poppler-23.01.0/qt5/src/Doxyfile        2023-01-01 13:24:17.000000000 
+0100
+++ new/poppler-23.02.0/qt5/src/Doxyfile        2023-02-01 17:42:42.000000000 
+0100
@@ -31,7 +31,7 @@
 # This could be handy for archiving the generated documentation or
 # if some version control system is used.
 
-PROJECT_NUMBER         = 23.01.0
+PROJECT_NUMBER         = 23.02.0
 
 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
 # base path where the generated documentation will be put.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-23.01.0/qt6/src/Doxyfile 
new/poppler-23.02.0/qt6/src/Doxyfile
--- old/poppler-23.01.0/qt6/src/Doxyfile        2023-01-01 13:24:17.000000000 
+0100
+++ new/poppler-23.02.0/qt6/src/Doxyfile        2023-02-01 17:42:42.000000000 
+0100
@@ -31,7 +31,7 @@
 # This could be handy for archiving the generated documentation or
 # if some version control system is used.
 
-PROJECT_NUMBER         = 23.01.0
+PROJECT_NUMBER         = 23.02.0
 
 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
 # base path where the generated documentation will be put.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/poppler-23.01.0/utils/pdfsig.1 
new/poppler-23.02.0/utils/pdfsig.1
--- old/poppler-23.01.0/utils/pdfsig.1  2023-01-01 13:24:17.000000000 +0100
+++ new/poppler-23.02.0/utils/pdfsig.1  2023-02-01 17:42:42.000000000 +0100
@@ -62,7 +62,7 @@
 Sign the document in the specified signature field present in the document 
(must be unsigned).  Field can be specified by field name (string) or the n-th 
signature field in the document (integer).
 .TP
 .B \-nick " nickname"
-Use the certificate with the given nickname for signing.
+Use the certificate with the given nickname for signing. If nickname starts 
with pkcs11:, it's treated as PKCS#11 URI.
 .TP
 .B \-kpw " password"
 Use the given password for the signing key
@@ -97,6 +97,9 @@
 pdfsig input.pdf output.pdf -add-signature -nss-pwd password -nick my-cert 
-reason 'for fun!'
 Creates a new pdf named output.pdf with the contents of input.pdf signed by 
the 'my-cert' certificate.
 .TP
+pdfsig input.pdf output.pdf -add-signature -nss-pwd password -nick 
'pkcs11:token=smartcard0;object=Second%20certificate;type=cert'
+Same, but uses a PKCS#11 URI as defined in IETF RFC 7512 to select the 
certificate to be used for signing.
+.TP
 pdfsig input.pdf output.pdf -sign 0 -nss-pwd password -nick my-cert -reason 
'for fun!'
 Creates a new pdf named output.pdf with the contents of input.pdf signed by 
the 'my-cert' certificate. input.pdf must have an already existing un-signed 
signature field.
 .SH AUTHOR

Reply via email to