node-poppler 5.1.4 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/README.md +2 -0
  2. package/package.json +13 -13
  3. package/src/index.js +20 -8
  4. package/API.md +0 -465
  5. package/CHANGELOG.md +0 -976
  6. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Annot.h +0 -1783
  7. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/AnnotStampImageHelper.h +0 -68
  8. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Array.h +0 -92
  9. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/BBoxOutputDev.h +0 -54
  10. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/CMap.h +0 -128
  11. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/CachedFile.h +0 -149
  12. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/CairoFontEngine.h +0 -122
  13. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/CairoOutputDev.h +0 -468
  14. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/CairoRescaleBox.h +0 -60
  15. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Catalog.h +0 -318
  16. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/CertificateInfo.h +0 -129
  17. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/CharCodeToUnicode.h +0 -143
  18. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/CharTypes.h +0 -24
  19. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/CurlCachedFile.h +0 -37
  20. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/CurlPDFDocBuilder.h +0 -32
  21. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/DateInfo.h +0 -44
  22. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Decrypt.h +0 -147
  23. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Dict.h +0 -126
  24. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Error.h +0 -59
  25. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/ErrorCodes.h +0 -54
  26. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/FDPDFDocBuilder.h +0 -36
  27. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/FILECacheLoader.h +0 -34
  28. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/FileSpec.h +0 -85
  29. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/FontEncodingTables.h +0 -20
  30. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/FontInfo.h +0 -109
  31. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Form.h +0 -734
  32. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Function.h +0 -251
  33. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Gfx.h +0 -373
  34. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/GfxFont.h +0 -466
  35. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/GfxState.h +0 -1759
  36. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/GfxState_helpers.h +0 -90
  37. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/GlobalParams.h +0 -221
  38. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Hints.h +0 -91
  39. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/JArithmeticDecoder.h +0 -131
  40. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/JBIG2Stream.h +0 -130
  41. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/JPEG2000Stream.h +0 -54
  42. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/JSInfo.h +0 -65
  43. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Lexer.h +0 -113
  44. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Linearization.h +0 -43
  45. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Link.h +0 -566
  46. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/LocalPDFDocBuilder.h +0 -32
  47. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/MarkedContentOutputDev.h +0 -132
  48. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Movie.h +0 -123
  49. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/NameToCharCode.h +0 -52
  50. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/NameToUnicodeTable.h +0 -4300
  51. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Object.h +0 -678
  52. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/OptionalContent.h +0 -117
  53. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Outline.h +0 -122
  54. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/OutputDev.h +0 -379
  55. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/PDFDoc.h +0 -419
  56. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/PDFDocBuilder.h +0 -47
  57. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/PDFDocEncoding.h +0 -43
  58. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/PDFDocFactory.h +0 -58
  59. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/PSOutputDev.h +0 -549
  60. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/PSTokenizer.h +0 -47
  61. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Page.h +0 -273
  62. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/PageTransition.h +0 -105
  63. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Parser.h +0 -76
  64. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/PopplerCache.h +0 -65
  65. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/PreScanOutputDev.h +0 -148
  66. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/ProfileData.h +0 -35
  67. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Rendition.h +0 -164
  68. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/SecurityHandler.h +0 -131
  69. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Sound.h +0 -82
  70. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/SplashOutputDev.h +0 -413
  71. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Stream-CCITT.h +0 -334
  72. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Stream.h +0 -1504
  73. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/StructElement.h +0 -406
  74. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/StructTreeRoot.h +0 -89
  75. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/TextOutputDev.h +0 -918
  76. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/UTF.h +0 -112
  77. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/UnicodeCClassTables.h +0 -983
  78. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/UnicodeCompTables.h +0 -328
  79. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/UnicodeDecompTables.h +0 -7181
  80. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/UnicodeMap.h +0 -128
  81. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/UnicodeMapFuncs.h +0 -35
  82. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/UnicodeMapTables.h +0 -84
  83. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/UnicodeTypeTable.h +0 -49
  84. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/ViewerPreferences.h +0 -87
  85. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/XRef.h +0 -325
  86. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-destination.h +0 -69
  87. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-document.h +0 -135
  88. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-embedded-file.h +0 -55
  89. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-font-private.h +0 -68
  90. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-font.h +0 -95
  91. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-global.h +0 -132
  92. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-image.h +0 -74
  93. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-page-renderer.h +0 -77
  94. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-page-transition.h +0 -85
  95. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-page.h +0 -225
  96. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-rectangle.h +0 -66
  97. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-toc.h +0 -72
  98. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-version.h +0 -39
  99. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler_cpp_export.h +0 -42
  100. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/fofi/FoFiBase.h +0 -66
  101. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/fofi/FoFiEncodings.h +0 -43
  102. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/fofi/FoFiIdentifier.h +0 -52
  103. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/fofi/FoFiTrueType.h +0 -190
  104. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/fofi/FoFiType1.h +0 -70
  105. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/fofi/FoFiType1C.h +0 -263
  106. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-action.h +0 -454
  107. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-annot.h +0 -333
  108. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-attachment.h +0 -123
  109. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-date.h +0 -32
  110. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-document.h +0 -541
  111. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-enums.h +0 -191
  112. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-features.h +0 -88
  113. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-form-field.h +0 -254
  114. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-layer.h +0 -50
  115. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-macros.h +0 -42
  116. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-media.h +0 -80
  117. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-movie.h +0 -81
  118. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-page.h +0 -424
  119. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-structure-element.h +0 -425
  120. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler.h +0 -259
  121. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/GooCheckedOps.h +0 -116
  122. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/GooLikely.h +0 -22
  123. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/GooString.h +0 -262
  124. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/GooTimer.h +0 -59
  125. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/ImgWriter.h +0 -39
  126. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/JpegWriter.h +0 -69
  127. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/PNGWriter.h +0 -68
  128. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/TiffWriter.h +0 -70
  129. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/gdir.h +0 -96
  130. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/gfile.h +0 -156
  131. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/gmem.h +0 -201
  132. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/grandom.h +0 -21
  133. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/gstrtod.h +0 -45
  134. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/poppler-config.h +0 -155
  135. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/poppler_private_export.h +0 -42
  136. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/Splash.h +0 -336
  137. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashBitmap.h +0 -127
  138. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashClip.h +0 -131
  139. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashErrorCodes.h +0 -50
  140. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashFTFont.h +0 -71
  141. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashFTFontEngine.h +0 -72
  142. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashFTFontFile.h +0 -64
  143. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashFont.h +0 -116
  144. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashFontEngine.h +0 -89
  145. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashFontFile.h +0 -98
  146. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashFontFileID.h +0 -40
  147. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashGlyphBitmap.h +0 -23
  148. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashMath.h +0 -215
  149. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashPath.h +0 -138
  150. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashPattern.h +0 -107
  151. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashScreen.h +0 -87
  152. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashState.h +0 -132
  153. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashTypes.h +0 -248
  154. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashXPath.h +0 -95
  155. package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashXPathScanner.h +0 -136
  156. package/src/lib/win32/poppler-22.04.0/Library/lib/pkgconfig/poppler-cpp.pc +0 -12
  157. package/src/lib/win32/poppler-22.04.0/Library/lib/pkgconfig/poppler-glib.pc +0 -12
  158. package/src/lib/win32/poppler-22.04.0/Library/lib/pkgconfig/poppler.pc +0 -10
  159. package/src/lib/win32/poppler-22.04.0/Library/lib/poppler-cpp.lib +0 -0
  160. package/src/lib/win32/poppler-22.04.0/Library/lib/poppler-glib.lib +0 -0
  161. package/src/lib/win32/poppler-22.04.0/Library/lib/poppler.lib +0 -0
  162. package/src/lib/win32/poppler-22.04.0/Library/share/man/man1/pdfattach.1 +0 -60
  163. package/src/lib/win32/poppler-22.04.0/Library/share/man/man1/pdfdetach.1 +0 -94
  164. package/src/lib/win32/poppler-22.04.0/Library/share/man/man1/pdffonts.1 +0 -128
  165. package/src/lib/win32/poppler-22.04.0/Library/share/man/man1/pdfimages.1 +0 -265
  166. package/src/lib/win32/poppler-22.04.0/Library/share/man/man1/pdfinfo.1 +0 -198
  167. package/src/lib/win32/poppler-22.04.0/Library/share/man/man1/pdfseparate.1 +0 -60
  168. package/src/lib/win32/poppler-22.04.0/Library/share/man/man1/pdftocairo.1 +0 -346
  169. package/src/lib/win32/poppler-22.04.0/Library/share/man/man1/pdftohtml.1 +0 -118
  170. package/src/lib/win32/poppler-22.04.0/Library/share/man/man1/pdftoppm.1 +0 -230
  171. package/src/lib/win32/poppler-22.04.0/Library/share/man/man1/pdftops.1 +0 -267
  172. package/src/lib/win32/poppler-22.04.0/Library/share/man/man1/pdftotext.1 +0 -157
  173. package/src/lib/win32/poppler-22.04.0/Library/share/man/man1/pdfunite.1 +0 -43
  174. package/src/lib/win32/poppler-22.04.0/share/poppler/CMakeLists.txt +0 -309
  175. package/src/lib/win32/poppler-22.04.0/share/poppler/Makefile +0 -333
  176. package/tsconfig.json +0 -9
@@ -1,419 +0,0 @@
1
- //========================================================================
2
- //
3
- // PDFDoc.h
4
- //
5
- // Copyright 1996-2003 Glyph & Cog, LLC
6
- //
7
- //========================================================================
8
-
9
- //========================================================================
10
- //
11
- // Modified under the Poppler project - http://poppler.freedesktop.org
12
- //
13
- // All changes made under the Poppler project to this file are licensed
14
- // under GPL version 2 or later
15
- //
16
- // Copyright (C) 2005, 2006, 2008 Brad Hards <bradh@frogmouth.net>
17
- // Copyright (C) 2005, 2009, 2014, 2015, 2017-2022 Albert Astals Cid <aacid@kde.org>
18
- // Copyright (C) 2008 Julien Rebetez <julienr@svn.gnome.org>
19
- // Copyright (C) 2008 Pino Toscano <pino@kde.org>
20
- // Copyright (C) 2008 Carlos Garcia Campos <carlosgc@gnome.org>
21
- // Copyright (C) 2009 Eric Toombs <ewtoombs@uwaterloo.ca>
22
- // Copyright (C) 2009 Kovid Goyal <kovid@kovidgoyal.net>
23
- // Copyright (C) 2010, 2014 Hib Eris <hib@hiberis.nl>
24
- // Copyright (C) 2010 Srinivas Adicherla <srinivas.adicherla@geodesic.com>
25
- // Copyright (C) 2011, 2013, 2014, 2016 Thomas Freitag <Thomas.Freitag@alfa.de>
26
- // Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it>
27
- // Copyright (C) 2013, 2017 Adrian Johnson <ajohnson@redneon.com>
28
- // Copyright (C) 2013, 2018 Adam Reichold <adamreichold@myopera.com>
29
- // Copyright (C) 2013 Adrian Perez de Castro <aperez@igalia.com>
30
- // Copyright (C) 2015 André Guerreiro <aguerreiro1985@gmail.com>
31
- // Copyright (C) 2015 André Esser <bepandre@hotmail.com>
32
- // Copyright (C) 2016 Jakub Alba <jakubalba@gmail.com>
33
- // Copyright (C) 2018 Klarälvdalens Datakonsult AB, a KDAB Group company, <info@kdab.com>. Work sponsored by the LiMux project of the city of Munich
34
- // Copyright (C) 2018 Evangelos Rigas <erigas@rnd2.org>
35
- // Copyright (C) 2020, 2021 Oliver Sander <oliver.sander@tu-dresden.de>
36
- // Copyright (C) 2020 Nelson Benítez León <nbenitezl@gmail.com>
37
- // Copyright (C) 2021 Mahmoud Khalil <mahmoudkhalil11@gmail.com>
38
- // Copyright (C) 2021 Georgiy Sgibnev <georgiy@sgibnev.com>. Work sponsored by lab50.net.
39
- // Copyright (C) 2021 Marek Kasik <mkasik@redhat.com>
40
- // Copyright (C) 2022 Felix Jung <fxjung@posteo.de>
41
- //
42
- // To see a description of the changes please see the Changelog file that
43
- // came with your tarball or type make ChangeLog if you are building from git
44
- //
45
- //========================================================================
46
-
47
- #ifndef PDFDOC_H
48
- #define PDFDOC_H
49
-
50
- #include <algorithm>
51
- #include <cstdio>
52
- #include <mutex>
53
-
54
- #include "poppler-config.h"
55
-
56
- #include "poppler_private_export.h"
57
-
58
- #include "XRef.h"
59
- #include "Catalog.h"
60
- #include "Page.h"
61
- #include "Annot.h"
62
- #include "ErrorCodes.h"
63
- #include "Form.h"
64
- #include "OptionalContent.h"
65
- #include "Stream.h"
66
-
67
- class GooString;
68
- class GooFile;
69
- class BaseStream;
70
- class OutputDev;
71
- class Links;
72
- class LinkAction;
73
- class LinkDest;
74
- class Outline;
75
- class Linearization;
76
- class SecurityHandler;
77
- class Hints;
78
- class StructTreeRoot;
79
-
80
- enum PDFWriteMode
81
- {
82
- writeStandard,
83
- writeForceRewrite,
84
- writeForceIncremental
85
- };
86
-
87
- enum PDFSubtype
88
- {
89
- subtypeNull,
90
- subtypePDFA,
91
- subtypePDFE,
92
- subtypePDFUA,
93
- subtypePDFVT,
94
- subtypePDFX,
95
- subtypeNone
96
- };
97
-
98
- enum PDFSubtypePart
99
- {
100
- subtypePartNull,
101
- subtypePart1,
102
- subtypePart2,
103
- subtypePart3,
104
- subtypePart4,
105
- subtypePart5,
106
- subtypePart6,
107
- subtypePart7,
108
- subtypePart8,
109
- subtypePartNone
110
- };
111
-
112
- enum PDFSubtypeConformance
113
- {
114
- subtypeConfNull,
115
- subtypeConfA,
116
- subtypeConfB,
117
- subtypeConfG,
118
- subtypeConfN,
119
- subtypeConfP,
120
- subtypeConfPG,
121
- subtypeConfU,
122
- subtypeConfNone
123
- };
124
-
125
- //------------------------------------------------------------------------
126
- // PDFDoc
127
- //------------------------------------------------------------------------
128
-
129
- class POPPLER_PRIVATE_EXPORT PDFDoc
130
- {
131
- public:
132
- explicit PDFDoc(std::unique_ptr<GooString> &&fileNameA, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr,
133
- const std::function<void()> &xrefReconstructedCallback = {});
134
-
135
- #ifdef _WIN32
136
- PDFDoc(wchar_t *fileNameA, int fileNameLen, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr, const std::function<void()> &xrefReconstructedCallback = {});
137
- #endif
138
-
139
- explicit PDFDoc(BaseStream *strA, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr, const std::function<void()> &xrefReconstructedCallback = {});
140
- ~PDFDoc();
141
-
142
- PDFDoc(const PDFDoc &) = delete;
143
- PDFDoc &operator=(const PDFDoc &) = delete;
144
-
145
- static std::unique_ptr<PDFDoc> ErrorPDFDoc(int errorCode, std::unique_ptr<GooString> &&fileNameA);
146
-
147
- // Was PDF document successfully opened?
148
- bool isOk() const { return ok; }
149
-
150
- // Get the error code (if isOk() returns false).
151
- int getErrorCode() const { return errCode; }
152
-
153
- // Get the error code returned by fopen() (if getErrorCode() ==
154
- // errOpenFile).
155
- int getFopenErrno() const { return fopenErrno; }
156
-
157
- // Get file name.
158
- const GooString *getFileName() const { return fileName.get(); }
159
- #ifdef _WIN32
160
- wchar_t *getFileNameU() { return fileNameU; }
161
- #endif
162
-
163
- // Get the linearization table.
164
- Linearization *getLinearization();
165
- bool checkLinearization();
166
-
167
- // Get the xref table.
168
- XRef *getXRef() const { return xref; }
169
-
170
- // Get catalog.
171
- Catalog *getCatalog() const { return catalog; }
172
-
173
- // Get optional content configuration
174
- OCGs *getOptContentConfig() const { return catalog->getOptContentConfig(); }
175
-
176
- // Get base stream.
177
- BaseStream *getBaseStream() const { return str; }
178
-
179
- // Get page parameters.
180
- double getPageMediaWidth(int page) { return getPage(page) ? getPage(page)->getMediaWidth() : 0.0; }
181
- double getPageMediaHeight(int page) { return getPage(page) ? getPage(page)->getMediaHeight() : 0.0; }
182
- double getPageCropWidth(int page) { return getPage(page) ? getPage(page)->getCropWidth() : 0.0; }
183
- double getPageCropHeight(int page) { return getPage(page) ? getPage(page)->getCropHeight() : 0.0; }
184
- int getPageRotate(int page) { return getPage(page) ? getPage(page)->getRotate() : 0; }
185
-
186
- // Get number of pages.
187
- int getNumPages();
188
-
189
- // Return the contents of the metadata stream, or nullptr if there is
190
- // no metadata.
191
- std::unique_ptr<GooString> readMetadata() const { return catalog->readMetadata(); }
192
-
193
- // Return the structure tree root object.
194
- const StructTreeRoot *getStructTreeRoot() const { return catalog->getStructTreeRoot(); }
195
-
196
- // Get page.
197
- Page *getPage(int page);
198
-
199
- // Display a page.
200
- void displayPage(OutputDev *out, int page, double hDPI, double vDPI, int rotate, bool useMediaBox, bool crop, bool printing, bool (*abortCheckCbk)(void *data) = nullptr, void *abortCheckCbkData = nullptr,
201
- bool (*annotDisplayDecideCbk)(Annot *annot, void *user_data) = nullptr, void *annotDisplayDecideCbkData = nullptr, bool copyXRef = false);
202
-
203
- // Display a range of pages.
204
- void displayPages(OutputDev *out, int firstPage, int lastPage, double hDPI, double vDPI, int rotate, bool useMediaBox, bool crop, bool printing, bool (*abortCheckCbk)(void *data) = nullptr, void *abortCheckCbkData = nullptr,
205
- bool (*annotDisplayDecideCbk)(Annot *annot, void *user_data) = nullptr, void *annotDisplayDecideCbkData = nullptr);
206
-
207
- // Display part of a page.
208
- void displayPageSlice(OutputDev *out, int page, double hDPI, double vDPI, int rotate, bool useMediaBox, bool crop, bool printing, int sliceX, int sliceY, int sliceW, int sliceH, bool (*abortCheckCbk)(void *data) = nullptr,
209
- void *abortCheckCbkData = nullptr, bool (*annotDisplayDecideCbk)(Annot *annot, void *user_data) = nullptr, void *annotDisplayDecideCbkData = nullptr, bool copyXRef = false);
210
-
211
- // Find a page, given its object ID. Returns page number, or 0 if
212
- // not found.
213
- int findPage(const Ref ref) { return catalog->findPage(ref); }
214
-
215
- // Returns the links for the current page, transferring ownership to
216
- // the caller.
217
- std::unique_ptr<Links> getLinks(int page);
218
-
219
- // Find a named destination. Returns the link destination, or
220
- // nullptr if <name> is not a destination.
221
- std::unique_ptr<LinkDest> findDest(const GooString *name) { return catalog->findDest(name); }
222
-
223
- // Process the links for a page.
224
- void processLinks(OutputDev *out, int page);
225
-
226
- // Return the outline object.
227
- Outline *getOutline();
228
-
229
- // Is the file encrypted?
230
- bool isEncrypted() { return xref->isEncrypted(); }
231
-
232
- std::vector<FormFieldSignature *> getSignatureFields();
233
-
234
- // Check various permissions.
235
- bool okToPrint(bool ignoreOwnerPW = false) { return xref->okToPrint(ignoreOwnerPW); }
236
- bool okToPrintHighRes(bool ignoreOwnerPW = false) { return xref->okToPrintHighRes(ignoreOwnerPW); }
237
- bool okToChange(bool ignoreOwnerPW = false) { return xref->okToChange(ignoreOwnerPW); }
238
- bool okToCopy(bool ignoreOwnerPW = false) { return xref->okToCopy(ignoreOwnerPW); }
239
- bool okToAddNotes(bool ignoreOwnerPW = false) { return xref->okToAddNotes(ignoreOwnerPW); }
240
- bool okToFillForm(bool ignoreOwnerPW = false) { return xref->okToFillForm(ignoreOwnerPW); }
241
- bool okToAccessibility(bool ignoreOwnerPW = false) { return xref->okToAccessibility(ignoreOwnerPW); }
242
- bool okToAssemble(bool ignoreOwnerPW = false) { return xref->okToAssemble(ignoreOwnerPW); }
243
-
244
- // Is this document linearized?
245
- bool isLinearized(bool tryingToReconstruct = false);
246
-
247
- // Return the document's Info dictionary (if any).
248
- Object getDocInfo() { return xref->getDocInfo(); }
249
- Object getDocInfoNF() { return xref->getDocInfoNF(); }
250
-
251
- // Remove the document's Info dictionary and update the trailer dictionary.
252
- void removeDocInfo() { xref->removeDocInfo(); }
253
-
254
- // Set doc info string entry. nullptr or empty value will cause a removal.
255
- // Takes ownership of value.
256
- void setDocInfoStringEntry(const char *key, GooString *value);
257
-
258
- // Set document's properties in document's Info dictionary.
259
- // nullptr or empty value will cause a removal.
260
- // Takes ownership of value.
261
- void setDocInfoTitle(GooString *title) { setDocInfoStringEntry("Title", title); }
262
- void setDocInfoAuthor(GooString *author) { setDocInfoStringEntry("Author", author); }
263
- void setDocInfoSubject(GooString *subject) { setDocInfoStringEntry("Subject", subject); }
264
- void setDocInfoKeywords(GooString *keywords) { setDocInfoStringEntry("Keywords", keywords); }
265
- void setDocInfoCreator(GooString *creator) { setDocInfoStringEntry("Creator", creator); }
266
- void setDocInfoProducer(GooString *producer) { setDocInfoStringEntry("Producer", producer); }
267
- void setDocInfoCreatDate(GooString *creatDate) { setDocInfoStringEntry("CreationDate", creatDate); }
268
- void setDocInfoModDate(GooString *modDate) { setDocInfoStringEntry("ModDate", modDate); }
269
-
270
- // Get document's properties from document's Info dictionary.
271
- // Returns nullptr on fail.
272
- std::unique_ptr<GooString> getDocInfoStringEntry(const char *key);
273
-
274
- std::unique_ptr<GooString> getDocInfoTitle() { return getDocInfoStringEntry("Title"); }
275
- std::unique_ptr<GooString> getDocInfoAuthor() { return getDocInfoStringEntry("Author"); }
276
- std::unique_ptr<GooString> getDocInfoSubject() { return getDocInfoStringEntry("Subject"); }
277
- std::unique_ptr<GooString> getDocInfoKeywords() { return getDocInfoStringEntry("Keywords"); }
278
- std::unique_ptr<GooString> getDocInfoCreator() { return getDocInfoStringEntry("Creator"); }
279
- std::unique_ptr<GooString> getDocInfoProducer() { return getDocInfoStringEntry("Producer"); }
280
- std::unique_ptr<GooString> getDocInfoCreatDate() { return getDocInfoStringEntry("CreationDate"); }
281
- std::unique_ptr<GooString> getDocInfoModDate() { return getDocInfoStringEntry("ModDate"); }
282
-
283
- // Return the PDF subtype, part, and conformance
284
- PDFSubtype getPDFSubtype() const { return pdfSubtype; }
285
- PDFSubtypePart getPDFSubtypePart() const { return pdfPart; }
286
- PDFSubtypeConformance getPDFSubtypeConformance() const { return pdfConformance; }
287
-
288
- // Return the PDF version specified by the file (either header or catalog).
289
- int getPDFMajorVersion() const { return std::max(headerPdfMajorVersion, catalog->getPDFMajorVersion()); }
290
- int getPDFMinorVersion() const
291
- {
292
- const int catalogMajorVersion = catalog->getPDFMajorVersion();
293
- if (catalogMajorVersion > headerPdfMajorVersion) {
294
- return catalog->getPDFMinorVersion();
295
- } else if (headerPdfMajorVersion > catalogMajorVersion) {
296
- return headerPdfMinorVersion;
297
- } else {
298
- return std::max(headerPdfMinorVersion, catalog->getPDFMinorVersion());
299
- }
300
- }
301
-
302
- // Return the PDF ID in the trailer dictionary (if any).
303
- bool getID(GooString *permanent_id, GooString *update_id) const;
304
-
305
- // Save one page with another name.
306
- int savePageAs(const GooString &name, int pageNo);
307
- // Save this file with another name.
308
- int saveAs(const GooString &name, PDFWriteMode mode = writeStandard);
309
- // Save this file in the given output stream.
310
- int saveAs(OutStream *outStr, PDFWriteMode mode = writeStandard);
311
- // Save this file with another name without saving changes
312
- int saveWithoutChangesAs(const GooString &name);
313
- // Save this file in the given output stream without saving changes
314
- int saveWithoutChangesAs(OutStream *outStr);
315
-
316
- // Return a pointer to the GUI (XPDFCore or WinPDFCore object).
317
- void *getGUIData() { return guiData; }
318
-
319
- // rewrite pageDict with MediaBox, CropBox and new page CTM
320
- void replacePageDict(int pageNo, int rotate, const PDFRectangle *mediaBox, const PDFRectangle *cropBox);
321
- void markPageObjects(Dict *pageDict, XRef *xRef, XRef *countRef, unsigned int numOffset, int oldRefNum, int newRefNum, std::set<Dict *> *alreadyMarkedDicts = nullptr);
322
- bool markAnnotations(Object *annots, XRef *xRef, XRef *countRef, unsigned int numOffset, int oldPageNum, int newPageNum, std::set<Dict *> *alreadyMarkedDicts = nullptr);
323
- void markAcroForm(Object *afObj, XRef *xRef, XRef *countRef, unsigned int numOffset, int oldRefNum, int newRefNum);
324
- // write all objects used by pageDict to outStr
325
- unsigned int writePageObjects(OutStream *outStr, XRef *xRef, unsigned int numOffset, bool combine = false);
326
- static void writeObject(Object *obj, OutStream *outStr, XRef *xref, unsigned int numOffset, unsigned char *fileKey, CryptAlgorithm encAlgorithm, int keyLength, int objNum, int objGen, std::set<Dict *> *alreadyWrittenDicts = nullptr);
327
- static void writeObject(Object *obj, OutStream *outStr, XRef *xref, unsigned int numOffset, unsigned char *fileKey, CryptAlgorithm encAlgorithm, int keyLength, Ref ref, std::set<Dict *> *alreadyWrittenDicts = nullptr);
328
- static void writeHeader(OutStream *outStr, int major, int minor);
329
-
330
- static Object createTrailerDict(int uxrefSize, bool incrUpdate, Goffset startxRef, Ref *root, XRef *xRef, const char *fileName, Goffset fileSize);
331
- static void writeXRefTableTrailer(Object &&trailerDict, XRef *uxref, bool writeAllEntries, Goffset uxrefOffset, OutStream *outStr, XRef *xRef);
332
- static void writeXRefStreamTrailer(Object &&trailerDict, XRef *uxref, Ref *uxrefStreamRef, Goffset uxrefOffset, OutStream *outStr, XRef *xRef);
333
- // scans the PDF and returns whether it contains any javascript
334
- bool hasJavascript();
335
-
336
- // Arguments signatureText and signatureTextLeft are UTF-16 big endian strings with BOM.
337
- // Arguments reason and location are UTF-16 big endian strings with BOM. An empty string and nullptr are acceptable too.
338
- // Argument imagePath is a background image (a path to a file).
339
- // sign() takes ownership of partialFieldName.
340
- bool sign(const char *saveFilename, const char *certNickname, const char *password, GooString *partialFieldName, int page, const PDFRectangle &rect, const GooString &signatureText, const GooString &signatureTextLeft, double fontSize,
341
- double leftFontSize, std::unique_ptr<AnnotColor> &&fontColor, double borderWidth, std::unique_ptr<AnnotColor> &&borderColor, std::unique_ptr<AnnotColor> &&backgroundColor, const GooString *reason = nullptr,
342
- const GooString *location = nullptr, const std::string &imagePath = "", const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {});
343
-
344
- private:
345
- // insert referenced objects in XRef
346
- void markDictionnary(Dict *dict, XRef *xRef, XRef *countRef, unsigned int numOffset, int oldRefNum, int newRefNum, std::set<Dict *> *alreadyMarkedDicts);
347
- void markObject(Object *obj, XRef *xRef, XRef *countRef, unsigned int numOffset, int oldRefNum, int newRefNum, std::set<Dict *> *alreadyMarkedDicts = nullptr);
348
- static void writeDictionnary(Dict *dict, OutStream *outStr, XRef *xRef, unsigned int numOffset, unsigned char *fileKey, CryptAlgorithm encAlgorithm, int keyLength, Ref ref, std::set<Dict *> *alreadyWrittenDicts);
349
-
350
- // Write object header to current file stream and return its offset
351
- static Goffset writeObjectHeader(Ref *ref, OutStream *outStr);
352
- static void writeObjectFooter(OutStream *outStr);
353
-
354
- inline void writeObject(Object *obj, OutStream *outStr, unsigned char *fileKey, CryptAlgorithm encAlgorithm, int keyLength, int objNum, int objGen)
355
- {
356
- writeObject(obj, outStr, getXRef(), 0, fileKey, encAlgorithm, keyLength, { objNum, objGen });
357
- }
358
- inline void writeObject(Object *obj, OutStream *outStr, unsigned char *fileKey, CryptAlgorithm encAlgorithm, int keyLength, Ref ref) { writeObject(obj, outStr, getXRef(), 0, fileKey, encAlgorithm, keyLength, ref); }
359
- static void writeStream(Stream *str, OutStream *outStr);
360
- static void writeRawStream(Stream *str, OutStream *outStr);
361
- void writeXRefTableTrailer(Goffset uxrefOffset, XRef *uxref, bool writeAllEntries, int uxrefSize, OutStream *outStr, bool incrUpdate);
362
- static void writeString(const GooString *s, OutStream *outStr, const unsigned char *fileKey, CryptAlgorithm encAlgorithm, int keyLength, Ref ref);
363
- void saveIncrementalUpdate(OutStream *outStr);
364
- void saveCompleteRewrite(OutStream *outStr);
365
-
366
- Page *parsePage(int page);
367
-
368
- // Get hints.
369
- Hints *getHints();
370
-
371
- PDFDoc();
372
- bool setup(const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword, const std::function<void()> &xrefReconstructedCallback);
373
- bool checkFooter();
374
- void checkHeader();
375
- bool checkEncryption(const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword);
376
- void extractPDFSubtype();
377
-
378
- // Get the offset of the start xref table.
379
- Goffset getStartXRef(bool tryingToReconstruct = false);
380
- // Get the offset of the entries in the main XRef table of a
381
- // linearized document (0 for non linearized documents).
382
- Goffset getMainXRefEntriesOffset(bool tryingToReconstruct = false);
383
- long long strToLongLong(const char *s);
384
-
385
- std::unique_ptr<GooString> fileName;
386
- #ifdef _WIN32
387
- wchar_t *fileNameU = nullptr;
388
- #endif
389
- std::unique_ptr<GooFile> file;
390
- BaseStream *str = nullptr;
391
- void *guiData = nullptr;
392
- int headerPdfMajorVersion;
393
- int headerPdfMinorVersion;
394
- PDFSubtype pdfSubtype;
395
- PDFSubtypePart pdfPart;
396
- PDFSubtypeConformance pdfConformance;
397
- Linearization *linearization = nullptr;
398
- // linearizationState = 0: unchecked
399
- // linearizationState = 1: checked and valid
400
- // linearizationState = 2: checked and invalid
401
- int linearizationState;
402
- XRef *xref = nullptr;
403
- SecurityHandler *secHdlr = nullptr;
404
- Catalog *catalog = nullptr;
405
- Hints *hints = nullptr;
406
- Outline *outline = nullptr;
407
- Page **pageCache = nullptr;
408
-
409
- bool ok = false;
410
- int errCode = errNone;
411
- // If there is an error opening the PDF file with fopen() in the constructor,
412
- // then the POSIX errno will be here.
413
- int fopenErrno;
414
-
415
- Goffset startXRefPos = -1; // offset of last xref table
416
- mutable std::recursive_mutex mutex;
417
- };
418
-
419
- #endif
@@ -1,47 +0,0 @@
1
- //========================================================================
2
- //
3
- // PDFDocBuilder.h
4
- //
5
- // This file is licensed under the GPLv2 or later
6
- //
7
- // Copyright 2010 Hib Eris <hib@hiberis.nl>
8
- // Copyright 2010, 2018, 2020, 2022 Albert Astals Cid <aacid@kde.org>
9
- // Copyright 2021 Oliver Sander <oliver.sander@tu-dresden.de>
10
- //
11
- //========================================================================
12
-
13
- #ifndef PDFDOCBUILDER_H
14
- #define PDFDOCBUILDER_H
15
-
16
- #include <memory>
17
-
18
- #include "PDFDoc.h"
19
- class GooString;
20
-
21
- //------------------------------------------------------------------------
22
- // PDFDocBuilder
23
- //
24
- // PDFDocBuilder is an abstract class that specifies the interface for
25
- // constructing PDFDocs.
26
- //------------------------------------------------------------------------
27
-
28
- class PDFDocBuilder
29
- {
30
-
31
- public:
32
- PDFDocBuilder() = default;
33
- virtual ~PDFDocBuilder();
34
-
35
- PDFDocBuilder(const PDFDocBuilder &) = delete;
36
- PDFDocBuilder &operator=(const PDFDocBuilder &) = delete;
37
-
38
- // Builds a new PDFDoc. Returns a PDFDoc. You should check this PDFDoc
39
- // with PDFDoc::isOk() for failures.
40
- // The caller is responsible for deleting ownerPassword, userPassWord and guiData.
41
- virtual std::unique_ptr<PDFDoc> buildPDFDoc(const GooString &uri, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr) = 0;
42
-
43
- // Returns true if the builder supports building a PDFDoc from the URI.
44
- virtual bool supports(const GooString &uri) = 0;
45
- };
46
-
47
- #endif /* PDFDOCBUILDER_H */
@@ -1,43 +0,0 @@
1
- //========================================================================
2
- //
3
- // PDFDocEncoding.h
4
- //
5
- // Copyright 2002-2003 Glyph & Cog, LLC
6
- //
7
- //========================================================================
8
-
9
- //========================================================================
10
- //
11
- // Modified under the Poppler project - http://poppler.freedesktop.org
12
- //
13
- // All changes made under the Poppler project to this file are licensed
14
- // under GPL version 2 or later
15
- //
16
- // Copyright (C) 2007 Adrian Johnson <ajohnson@redneon.com>
17
- // Copyright (C) 2019 Volker Krause <vkrause@kde.org>
18
- // Copyright (C) 2020 Oliver Sander <oliver.sander@tu-dresden.de>
19
- //
20
- // To see a description of the changes please see the Changelog file that
21
- // came with your tarball or type make ChangeLog if you are building from git
22
- //
23
- //========================================================================
24
-
25
- #ifndef PDFDOCENCODING_H
26
- #define PDFDOCENCODING_H
27
-
28
- #include <string>
29
-
30
- #include "CharTypes.h"
31
- #include "poppler_private_export.h"
32
-
33
- class GooString;
34
-
35
- #ifdef _COMPILING_POPPLER
36
- extern __declspec(dllexport) const Unicode pdfDocEncoding[256];
37
- #else
38
- extern __declspec(dllimport) const Unicode pdfDocEncoding[256];
39
- #endif
40
-
41
- char POPPLER_PRIVATE_EXPORT *pdfDocEncodingToUTF16(const std::string &orig, int *length);
42
-
43
- #endif
@@ -1,58 +0,0 @@
1
- //========================================================================
2
- //
3
- // PDFDocFactory.h
4
- //
5
- // This file is licensed under the GPLv2 or later
6
- //
7
- // Copyright 2010 Hib Eris <hib@hiberis.nl>
8
- // Copyright 2010, 2018, 2021, 2022 Albert Astals Cid <aacid@kde.org>
9
- // Copyright 2019, 2021 Oliver Sander <oliver.sander@tu-dresden.de>
10
- //
11
- //========================================================================
12
-
13
- #ifndef PDFDOCFACTORY_H
14
- #define PDFDOCFACTORY_H
15
-
16
- #include <memory>
17
-
18
- #include "PDFDoc.h"
19
- #include "poppler_private_export.h"
20
-
21
- class GooString;
22
- class PDFDocBuilder;
23
-
24
- //------------------------------------------------------------------------
25
- // PDFDocFactory
26
- //
27
- // PDFDocFactory allows the construction of PDFDocs from different URIs.
28
- //
29
- // By default, it supports local files, 'file://' and 'fd:0' (stdin). When
30
- // compiled with libcurl, it also supports 'http://' and 'https://'.
31
- //
32
- // You can extend the supported URIs by giving a list of PDFDocBuilders to
33
- // the constructor, or by registering a new PDFDocBuilder afterwards.
34
- //------------------------------------------------------------------------
35
-
36
- class POPPLER_PRIVATE_EXPORT PDFDocFactory
37
- {
38
-
39
- public:
40
- explicit PDFDocFactory(std::vector<PDFDocBuilder *> *pdfDocBuilders = nullptr);
41
- ~PDFDocFactory();
42
-
43
- PDFDocFactory(const PDFDocFactory &) = delete;
44
- PDFDocFactory &operator=(const PDFDocFactory &) = delete;
45
-
46
- // Create a PDFDoc. Returns a PDFDoc. You should check this PDFDoc
47
- // with PDFDoc::isOk() for failures.
48
- // The caller is responsible for deleting ownerPassword, userPassWord and guiData.
49
- std::unique_ptr<PDFDoc> createPDFDoc(const GooString &uri, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr);
50
-
51
- // Extend supported URIs with the ones from the PDFDocBuilder.
52
- void registerPDFDocBuilder(PDFDocBuilder *pdfDocBuilder);
53
-
54
- private:
55
- std::vector<PDFDocBuilder *> *builders;
56
- };
57
-
58
- #endif /* PDFDOCFACTORY_H */