pdfluent 1.0.0b17.post4__tar.gz

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 (680) hide show
  1. pdfluent-1.0.0b17.post4/LICENSE +249 -0
  2. pdfluent-1.0.0b17.post4/PKG-INFO +362 -0
  3. pdfluent-1.0.0b17.post4/README.md +323 -0
  4. pdfluent-1.0.0b17.post4/cff-parser/.gitignore +6 -0
  5. pdfluent-1.0.0b17.post4/cff-parser/Cargo.toml +38 -0
  6. pdfluent-1.0.0b17.post4/cff-parser/LICENSE-APACHE +201 -0
  7. pdfluent-1.0.0b17.post4/cff-parser/LICENSE-MIT +20 -0
  8. pdfluent-1.0.0b17.post4/cff-parser/README.md +62 -0
  9. pdfluent-1.0.0b17.post4/cff-parser/examples/dump.rs +77 -0
  10. pdfluent-1.0.0b17.post4/cff-parser/examples/tounicode.rs +20 -0
  11. pdfluent-1.0.0b17.post4/cff-parser/src/argstack.rs +84 -0
  12. pdfluent-1.0.0b17.post4/cff-parser/src/cff.rs +1483 -0
  13. pdfluent-1.0.0b17.post4/cff-parser/src/charset.rs +265 -0
  14. pdfluent-1.0.0b17.post4/cff-parser/src/charstring.rs +609 -0
  15. pdfluent-1.0.0b17.post4/cff-parser/src/dict.rs +322 -0
  16. pdfluent-1.0.0b17.post4/cff-parser/src/encoding.rs +247 -0
  17. pdfluent-1.0.0b17.post4/cff-parser/src/index.rs +236 -0
  18. pdfluent-1.0.0b17.post4/cff-parser/src/lib.rs +281 -0
  19. pdfluent-1.0.0b17.post4/cff-parser/src/parser.rs +748 -0
  20. pdfluent-1.0.0b17.post4/cff-parser/src/std_names.rs +393 -0
  21. pdfluent-1.0.0b17.post4/formcalc-interpreter/Cargo.toml +14 -0
  22. pdfluent-1.0.0b17.post4/formcalc-interpreter/LICENSE +249 -0
  23. pdfluent-1.0.0b17.post4/formcalc-interpreter/README.md +32 -0
  24. pdfluent-1.0.0b17.post4/formcalc-interpreter/src/ast.rs +180 -0
  25. pdfluent-1.0.0b17.post4/formcalc-interpreter/src/builtins.rs +2165 -0
  26. pdfluent-1.0.0b17.post4/formcalc-interpreter/src/error.rs +64 -0
  27. pdfluent-1.0.0b17.post4/formcalc-interpreter/src/interpreter.rs +1104 -0
  28. pdfluent-1.0.0b17.post4/formcalc-interpreter/src/lexer.rs +791 -0
  29. pdfluent-1.0.0b17.post4/formcalc-interpreter/src/lib.rs +24 -0
  30. pdfluent-1.0.0b17.post4/formcalc-interpreter/src/parser.rs +884 -0
  31. pdfluent-1.0.0b17.post4/formcalc-interpreter/src/som_bridge.rs +420 -0
  32. pdfluent-1.0.0b17.post4/formcalc-interpreter/src/value.rs +143 -0
  33. pdfluent-1.0.0b17.post4/formcalc-interpreter/tests/conformance.rs +916 -0
  34. pdfluent-1.0.0b17.post4/formcalc-interpreter/tests/edge_cases.rs +93 -0
  35. pdfluent-1.0.0b17.post4/formcalc-interpreter/tests/f211_test.rs +182 -0
  36. pdfluent-1.0.0b17.post4/hayro-ccitt/CHANGELOG.md +7 -0
  37. pdfluent-1.0.0b17.post4/hayro-ccitt/Cargo.toml +13 -0
  38. pdfluent-1.0.0b17.post4/hayro-ccitt/LICENSE-APACHE +201 -0
  39. pdfluent-1.0.0b17.post4/hayro-ccitt/LICENSE-MIT +19 -0
  40. pdfluent-1.0.0b17.post4/hayro-ccitt/README.md +56 -0
  41. pdfluent-1.0.0b17.post4/hayro-ccitt/src/bit_reader.rs +69 -0
  42. pdfluent-1.0.0b17.post4/hayro-ccitt/src/decode.rs +151 -0
  43. pdfluent-1.0.0b17.post4/hayro-ccitt/src/lib.rs +642 -0
  44. pdfluent-1.0.0b17.post4/hayro-ccitt/src/state_machine.rs +349 -0
  45. pdfluent-1.0.0b17.post4/hayro-jbig2/CHANGELOG.md +13 -0
  46. pdfluent-1.0.0b17.post4/hayro-jbig2/Cargo.toml +23 -0
  47. pdfluent-1.0.0b17.post4/hayro-jbig2/LICENSE-APACHE +201 -0
  48. pdfluent-1.0.0b17.post4/hayro-jbig2/LICENSE-MIT +19 -0
  49. pdfluent-1.0.0b17.post4/hayro-jbig2/README.md +57 -0
  50. pdfluent-1.0.0b17.post4/hayro-jbig2/src/arithmetic_decoder.rs +302 -0
  51. pdfluent-1.0.0b17.post4/hayro-jbig2/src/bitmap.rs +170 -0
  52. pdfluent-1.0.0b17.post4/hayro-jbig2/src/decode/generic.rs +685 -0
  53. pdfluent-1.0.0b17.post4/hayro-jbig2/src/decode/generic_refinement.rs +309 -0
  54. pdfluent-1.0.0b17.post4/hayro-jbig2/src/decode/halftone.rs +272 -0
  55. pdfluent-1.0.0b17.post4/hayro-jbig2/src/decode/mod.rs +233 -0
  56. pdfluent-1.0.0b17.post4/hayro-jbig2/src/decode/pattern.rs +143 -0
  57. pdfluent-1.0.0b17.post4/hayro-jbig2/src/decode/symbol.rs +800 -0
  58. pdfluent-1.0.0b17.post4/hayro-jbig2/src/decode/text.rs +878 -0
  59. pdfluent-1.0.0b17.post4/hayro-jbig2/src/error.rs +275 -0
  60. pdfluent-1.0.0b17.post4/hayro-jbig2/src/file.rs +214 -0
  61. pdfluent-1.0.0b17.post4/hayro-jbig2/src/gray_scale.rs +199 -0
  62. pdfluent-1.0.0b17.post4/hayro-jbig2/src/huffman_table.rs +656 -0
  63. pdfluent-1.0.0b17.post4/hayro-jbig2/src/huffman_tables_generated.rs +727 -0
  64. pdfluent-1.0.0b17.post4/hayro-jbig2/src/integer_decoder.rs +117 -0
  65. pdfluent-1.0.0b17.post4/hayro-jbig2/src/lazy.rs +29 -0
  66. pdfluent-1.0.0b17.post4/hayro-jbig2/src/lib.rs +738 -0
  67. pdfluent-1.0.0b17.post4/hayro-jbig2/src/page_info.rs +149 -0
  68. pdfluent-1.0.0b17.post4/hayro-jbig2/src/reader.rs +173 -0
  69. pdfluent-1.0.0b17.post4/hayro-jbig2/src/segment.rs +419 -0
  70. pdfluent-1.0.0b17.post4/hayro-jbig2/src/symbol_id_decoder.rs +40 -0
  71. pdfluent-1.0.0b17.post4/hayro-jpeg2000/CHANGELOG.md +13 -0
  72. pdfluent-1.0.0b17.post4/hayro-jpeg2000/Cargo.toml +29 -0
  73. pdfluent-1.0.0b17.post4/hayro-jpeg2000/LICENSE-APACHE +201 -0
  74. pdfluent-1.0.0b17.post4/hayro-jpeg2000/LICENSE-MIT +19 -0
  75. pdfluent-1.0.0b17.post4/hayro-jpeg2000/README.md +55 -0
  76. pdfluent-1.0.0b17.post4/hayro-jpeg2000/assets/CGATS001Compat-v2-micro.icc +0 -0
  77. pdfluent-1.0.0b17.post4/hayro-jpeg2000/assets/LAB.icc +0 -0
  78. pdfluent-1.0.0b17.post4/hayro-jpeg2000/assets/LICENSE.txt +116 -0
  79. pdfluent-1.0.0b17.post4/hayro-jpeg2000/assets/ProPhoto-v2-micro.icc +0 -0
  80. pdfluent-1.0.0b17.post4/hayro-jpeg2000/assets/README.md +4 -0
  81. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/error.rs +288 -0
  82. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/integration.rs +340 -0
  83. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/j2c/arithmetic_decoder.rs +348 -0
  84. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/j2c/bitplane.rs +1026 -0
  85. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/j2c/build.rs +329 -0
  86. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/j2c/codestream.rs +998 -0
  87. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/j2c/decode.rs +527 -0
  88. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/j2c/idwt.rs +778 -0
  89. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/j2c/mct.rs +105 -0
  90. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/j2c/mod.rs +89 -0
  91. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/j2c/progression.rs +338 -0
  92. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/j2c/rect.rs +45 -0
  93. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/j2c/segment.rs +343 -0
  94. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/j2c/tag_tree.rs +238 -0
  95. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/j2c/tile.rs +919 -0
  96. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/jp2/box.rs +102 -0
  97. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/jp2/cdef.rs +91 -0
  98. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/jp2/cmap.rs +52 -0
  99. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/jp2/colr.rs +143 -0
  100. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/jp2/icc.rs +83 -0
  101. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/jp2/mod.rs +147 -0
  102. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/jp2/pclr.rs +78 -0
  103. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/lib.rs +870 -0
  104. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/log.rs +28 -0
  105. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/math.rs +576 -0
  106. pdfluent-1.0.0b17.post4/hayro-jpeg2000/src/reader.rs +181 -0
  107. pdfluent-1.0.0b17.post4/lopdf/CHANGELOG.md +13 -0
  108. pdfluent-1.0.0b17.post4/lopdf/Cargo.toml +73 -0
  109. pdfluent-1.0.0b17.post4/lopdf/LICENSE +21 -0
  110. pdfluent-1.0.0b17.post4/lopdf/README.md +80 -0
  111. pdfluent-1.0.0b17.post4/lopdf/assets/example.pdf +21 -0
  112. pdfluent-1.0.0b17.post4/lopdf/examples/test_decompress.rs +41 -0
  113. pdfluent-1.0.0b17.post4/lopdf/src/bookmarks.rs +161 -0
  114. pdfluent-1.0.0b17.post4/lopdf/src/cmap_section.rs +28 -0
  115. pdfluent-1.0.0b17.post4/lopdf/src/common_data_structures/mod.rs +103 -0
  116. pdfluent-1.0.0b17.post4/lopdf/src/content.rs +46 -0
  117. pdfluent-1.0.0b17.post4/lopdf/src/creator.rs +386 -0
  118. pdfluent-1.0.0b17.post4/lopdf/src/datetime.rs +291 -0
  119. pdfluent-1.0.0b17.post4/lopdf/src/destinations.rs +82 -0
  120. pdfluent-1.0.0b17.post4/lopdf/src/document.rs +986 -0
  121. pdfluent-1.0.0b17.post4/lopdf/src/encodings/cmap.rs +281 -0
  122. pdfluent-1.0.0b17.post4/lopdf/src/encodings/glyphnames.rs +4501 -0
  123. pdfluent-1.0.0b17.post4/lopdf/src/encodings/mappings.rs +1820 -0
  124. pdfluent-1.0.0b17.post4/lopdf/src/encodings/mod.rs +198 -0
  125. pdfluent-1.0.0b17.post4/lopdf/src/encryption/algorithms.rs +1572 -0
  126. pdfluent-1.0.0b17.post4/lopdf/src/encryption/crypt_filters.rs +271 -0
  127. pdfluent-1.0.0b17.post4/lopdf/src/encryption/pkcs5.rs +51 -0
  128. pdfluent-1.0.0b17.post4/lopdf/src/encryption/rc4.rs +68 -0
  129. pdfluent-1.0.0b17.post4/lopdf/src/encryption.rs +1049 -0
  130. pdfluent-1.0.0b17.post4/lopdf/src/error.rs +169 -0
  131. pdfluent-1.0.0b17.post4/lopdf/src/filters/mod.rs +1 -0
  132. pdfluent-1.0.0b17.post4/lopdf/src/filters/png.rs +171 -0
  133. pdfluent-1.0.0b17.post4/lopdf/src/font.rs +137 -0
  134. pdfluent-1.0.0b17.post4/lopdf/src/incremental_document.rs +149 -0
  135. pdfluent-1.0.0b17.post4/lopdf/src/lib.rs +58 -0
  136. pdfluent-1.0.0b17.post4/lopdf/src/load_options.rs +83 -0
  137. pdfluent-1.0.0b17.post4/lopdf/src/object.rs +1270 -0
  138. pdfluent-1.0.0b17.post4/lopdf/src/object_stream.rs +337 -0
  139. pdfluent-1.0.0b17.post4/lopdf/src/outlines.rs +149 -0
  140. pdfluent-1.0.0b17.post4/lopdf/src/parser/cmap_parser.rs +1111 -0
  141. pdfluent-1.0.0b17.post4/lopdf/src/parser/mod.rs +1001 -0
  142. pdfluent-1.0.0b17.post4/lopdf/src/parser_aux.rs +717 -0
  143. pdfluent-1.0.0b17.post4/lopdf/src/processor.rs +370 -0
  144. pdfluent-1.0.0b17.post4/lopdf/src/reader.rs +1773 -0
  145. pdfluent-1.0.0b17.post4/lopdf/src/save_options.rs +83 -0
  146. pdfluent-1.0.0b17.post4/lopdf/src/toc.rs +150 -0
  147. pdfluent-1.0.0b17.post4/lopdf/src/writer.rs +813 -0
  148. pdfluent-1.0.0b17.post4/lopdf/src/xobject.rs +288 -0
  149. pdfluent-1.0.0b17.post4/lopdf/src/xref.rs +338 -0
  150. pdfluent-1.0.0b17.post4/lopdf/tests/test_filters.rs +552 -0
  151. pdfluent-1.0.0b17.post4/pdf-annot/CHANGELOG.md +7 -0
  152. pdfluent-1.0.0b17.post4/pdf-annot/Cargo.toml +24 -0
  153. pdfluent-1.0.0b17.post4/pdf-annot/LICENSE +249 -0
  154. pdfluent-1.0.0b17.post4/pdf-annot/README.md +40 -0
  155. pdfluent-1.0.0b17.post4/pdf-annot/src/annotation.rs +249 -0
  156. pdfluent-1.0.0b17.post4/pdf-annot/src/appearance.rs +49 -0
  157. pdfluent-1.0.0b17.post4/pdf-annot/src/appearance_writer.rs +394 -0
  158. pdfluent-1.0.0b17.post4/pdf-annot/src/builder/appearance.rs +207 -0
  159. pdfluent-1.0.0b17.post4/pdf-annot/src/builder/mod.rs +568 -0
  160. pdfluent-1.0.0b17.post4/pdf-annot/src/builder/page_attach.rs +96 -0
  161. pdfluent-1.0.0b17.post4/pdf-annot/src/builder/tests.rs +668 -0
  162. pdfluent-1.0.0b17.post4/pdf-annot/src/builder/types.rs +233 -0
  163. pdfluent-1.0.0b17.post4/pdf-annot/src/error.rs +22 -0
  164. pdfluent-1.0.0b17.post4/pdf-annot/src/flatten.rs +513 -0
  165. pdfluent-1.0.0b17.post4/pdf-annot/src/geometric.rs +137 -0
  166. pdfluent-1.0.0b17.post4/pdf-annot/src/lib.rs +28 -0
  167. pdfluent-1.0.0b17.post4/pdf-annot/src/link.rs +424 -0
  168. pdfluent-1.0.0b17.post4/pdf-annot/src/markup.rs +110 -0
  169. pdfluent-1.0.0b17.post4/pdf-annot/src/stamp.rs +259 -0
  170. pdfluent-1.0.0b17.post4/pdf-annot/src/types.rs +320 -0
  171. pdfluent-1.0.0b17.post4/pdf-compliance/CHANGELOG.md +7 -0
  172. pdfluent-1.0.0b17.post4/pdf-compliance/Cargo.toml +31 -0
  173. pdfluent-1.0.0b17.post4/pdf-compliance/LICENSE +249 -0
  174. pdfluent-1.0.0b17.post4/pdf-compliance/README.md +40 -0
  175. pdfluent-1.0.0b17.post4/pdf-compliance/src/bin/debug_transparency.rs +170 -0
  176. pdfluent-1.0.0b17.post4/pdf-compliance/src/bin/profile_compliance.rs +41 -0
  177. pdfluent-1.0.0b17.post4/pdf-compliance/src/check.rs +19080 -0
  178. pdfluent-1.0.0b17.post4/pdf-compliance/src/lib.rs +499 -0
  179. pdfluent-1.0.0b17.post4/pdf-compliance/src/pdfa.rs +3788 -0
  180. pdfluent-1.0.0b17.post4/pdf-compliance/src/pdfua.rs +351 -0
  181. pdfluent-1.0.0b17.post4/pdf-compliance/src/pdfx.rs +325 -0
  182. pdfluent-1.0.0b17.post4/pdf-compliance/src/pdfx_gen.rs +295 -0
  183. pdfluent-1.0.0b17.post4/pdf-compliance/src/tagged.rs +575 -0
  184. pdfluent-1.0.0b17.post4/pdf-compliance/src/tagged_gen.rs +543 -0
  185. pdfluent-1.0.0b17.post4/pdf-compliance/src/xmp.rs +3971 -0
  186. pdfluent-1.0.0b17.post4/pdf-docx/CHANGELOG.md +7 -0
  187. pdfluent-1.0.0b17.post4/pdf-docx/Cargo.toml +23 -0
  188. pdfluent-1.0.0b17.post4/pdf-docx/LICENSE +249 -0
  189. pdfluent-1.0.0b17.post4/pdf-docx/README.md +40 -0
  190. pdfluent-1.0.0b17.post4/pdf-docx/src/error.rs +43 -0
  191. pdfluent-1.0.0b17.post4/pdf-docx/src/layout.rs +413 -0
  192. pdfluent-1.0.0b17.post4/pdf-docx/src/lib.rs +572 -0
  193. pdfluent-1.0.0b17.post4/pdf-docx/src/writer.rs +793 -0
  194. pdfluent-1.0.0b17.post4/pdf-engine/CHANGELOG.md +7 -0
  195. pdfluent-1.0.0b17.post4/pdf-engine/Cargo.toml +111 -0
  196. pdfluent-1.0.0b17.post4/pdf-engine/LICENSE +249 -0
  197. pdfluent-1.0.0b17.post4/pdf-engine/README.md +40 -0
  198. pdfluent-1.0.0b17.post4/pdf-engine/examples/batch_extract.rs +27 -0
  199. pdfluent-1.0.0b17.post4/pdf-engine/examples/chunk_dump.rs +46 -0
  200. pdfluent-1.0.0b17.post4/pdf-engine/examples/logical_compare.rs +63 -0
  201. pdfluent-1.0.0b17.post4/pdf-engine/examples/m3b_verify.rs +418 -0
  202. pdfluent-1.0.0b17.post4/pdf-engine/examples/ocr_real_accuracy.rs +178 -0
  203. pdfluent-1.0.0b17.post4/pdf-engine/examples/ocr_single_image.rs +47 -0
  204. pdfluent-1.0.0b17.post4/pdf-engine/examples/pdfium_compare.rs +110 -0
  205. pdfluent-1.0.0b17.post4/pdf-engine/examples/render_bench.rs +114 -0
  206. pdfluent-1.0.0b17.post4/pdf-engine/examples/render_ours.rs +50 -0
  207. pdfluent-1.0.0b17.post4/pdf-engine/examples/render_quality_diff.rs +102 -0
  208. pdfluent-1.0.0b17.post4/pdf-engine/examples/structtree_measure.rs +167 -0
  209. pdfluent-1.0.0b17.post4/pdf-engine/examples/structtree_spike.rs +182 -0
  210. pdfluent-1.0.0b17.post4/pdf-engine/examples/structtree_table.rs +206 -0
  211. pdfluent-1.0.0b17.post4/pdf-engine/examples/structured_demo.rs +78 -0
  212. pdfluent-1.0.0b17.post4/pdf-engine/examples/table_audit.rs +66 -0
  213. pdfluent-1.0.0b17.post4/pdf-engine/examples/table_dump.rs +29 -0
  214. pdfluent-1.0.0b17.post4/pdf-engine/src/api.rs +374 -0
  215. pdfluent-1.0.0b17.post4/pdf-engine/src/api_error.rs +460 -0
  216. pdfluent-1.0.0b17.post4/pdf-engine/src/batch.rs +385 -0
  217. pdfluent-1.0.0b17.post4/pdf-engine/src/color.rs +73 -0
  218. pdfluent-1.0.0b17.post4/pdf-engine/src/document.rs +1790 -0
  219. pdfluent-1.0.0b17.post4/pdf-engine/src/error.rs +129 -0
  220. pdfluent-1.0.0b17.post4/pdf-engine/src/geometry.rs +201 -0
  221. pdfluent-1.0.0b17.post4/pdf-engine/src/lib.rs +107 -0
  222. pdfluent-1.0.0b17.post4/pdf-engine/src/limits.rs +422 -0
  223. pdfluent-1.0.0b17.post4/pdf-engine/src/ocr.rs +2739 -0
  224. pdfluent-1.0.0b17.post4/pdf-engine/src/render.rs +817 -0
  225. pdfluent-1.0.0b17.post4/pdf-engine/src/text.rs +3297 -0
  226. pdfluent-1.0.0b17.post4/pdf-engine/src/text_info.rs +153 -0
  227. pdfluent-1.0.0b17.post4/pdf-engine/src/thumbnail.rs +14 -0
  228. pdfluent-1.0.0b17.post4/pdf-engine/src/xfa.rs +37 -0
  229. pdfluent-1.0.0b17.post4/pdf-engine/tests/cloud_ocr_env.rs +200 -0
  230. pdfluent-1.0.0b17.post4/pdf-engine/tests/fixtures/text_span_info.sample.json +20 -0
  231. pdfluent-1.0.0b17.post4/pdf-engine/tests/golf1_extraction.rs +292 -0
  232. pdfluent-1.0.0b17.post4/pdf-engine/tests/text_span_info_contract.rs +152 -0
  233. pdfluent-1.0.0b17.post4/pdf-extract/CHANGELOG.md +7 -0
  234. pdfluent-1.0.0b17.post4/pdf-extract/Cargo.toml +31 -0
  235. pdfluent-1.0.0b17.post4/pdf-extract/LICENSE +249 -0
  236. pdfluent-1.0.0b17.post4/pdf-extract/README.md +40 -0
  237. pdfluent-1.0.0b17.post4/pdf-extract/src/error.rs +53 -0
  238. pdfluent-1.0.0b17.post4/pdf-extract/src/images.rs +840 -0
  239. pdfluent-1.0.0b17.post4/pdf-extract/src/lib.rs +63 -0
  240. pdfluent-1.0.0b17.post4/pdf-extract/src/search.rs +404 -0
  241. pdfluent-1.0.0b17.post4/pdf-extract/src/text.rs +4060 -0
  242. pdfluent-1.0.0b17.post4/pdf-font/CHANGELOG.md +7 -0
  243. pdfluent-1.0.0b17.post4/pdf-font/Cargo.toml +25 -0
  244. pdfluent-1.0.0b17.post4/pdf-font/LICENSE-APACHE +201 -0
  245. pdfluent-1.0.0b17.post4/pdf-font/LICENSE-MIT +19 -0
  246. pdfluent-1.0.0b17.post4/pdf-font/README.md +38 -0
  247. pdfluent-1.0.0b17.post4/pdf-font/assets/LICENSE.txt +28 -0
  248. pdfluent-1.0.0b17.post4/pdf-font/assets/README.md +2 -0
  249. pdfluent-1.0.0b17.post4/pdf-font/assets/cmaps.brotli +0 -0
  250. pdfluent-1.0.0b17.post4/pdf-font/src/cmap/bcmap/embedded.rs +136 -0
  251. pdfluent-1.0.0b17.post4/pdf-font/src/cmap/bcmap/huffman.rs +181 -0
  252. pdfluent-1.0.0b17.post4/pdf-font/src/cmap/bcmap/mod.rs +416 -0
  253. pdfluent-1.0.0b17.post4/pdf-font/src/cmap/bcmap/reader.rs +123 -0
  254. pdfluent-1.0.0b17.post4/pdf-font/src/cmap/mod.rs +1581 -0
  255. pdfluent-1.0.0b17.post4/pdf-font/src/cmap/parse.rs +382 -0
  256. pdfluent-1.0.0b17.post4/pdf-font/src/font/argstack.rs +81 -0
  257. pdfluent-1.0.0b17.post4/pdf-font/src/font/cff/charset.rs +246 -0
  258. pdfluent-1.0.0b17.post4/pdf-font/src/font/cff/charstring.rs +614 -0
  259. pdfluent-1.0.0b17.post4/pdf-font/src/font/cff/dict.rs +310 -0
  260. pdfluent-1.0.0b17.post4/pdf-font/src/font/cff/encoding.rs +191 -0
  261. pdfluent-1.0.0b17.post4/pdf-font/src/font/cff/index.rs +254 -0
  262. pdfluent-1.0.0b17.post4/pdf-font/src/font/cff/mod.rs +1151 -0
  263. pdfluent-1.0.0b17.post4/pdf-font/src/font/cff/parser.rs +595 -0
  264. pdfluent-1.0.0b17.post4/pdf-font/src/font/cff/std_names.rs +393 -0
  265. pdfluent-1.0.0b17.post4/pdf-font/src/font/mod.rs +234 -0
  266. pdfluent-1.0.0b17.post4/pdf-font/src/font/type1/charstring.rs +413 -0
  267. pdfluent-1.0.0b17.post4/pdf-font/src/font/type1/charstring_parser.rs +315 -0
  268. pdfluent-1.0.0b17.post4/pdf-font/src/font/type1/decrypt.rs +137 -0
  269. pdfluent-1.0.0b17.post4/pdf-font/src/font/type1/mod.rs +836 -0
  270. pdfluent-1.0.0b17.post4/pdf-font/src/font/type1/operator.rs +31 -0
  271. pdfluent-1.0.0b17.post4/pdf-font/src/font/type1/standard.rs +153 -0
  272. pdfluent-1.0.0b17.post4/pdf-font/src/font/type1/stream.rs +56 -0
  273. pdfluent-1.0.0b17.post4/pdf-font/src/font/util.rs +49 -0
  274. pdfluent-1.0.0b17.post4/pdf-font/src/lib.rs +17 -0
  275. pdfluent-1.0.0b17.post4/pdf-font/src/postscript/array.rs +127 -0
  276. pdfluent-1.0.0b17.post4/pdf-font/src/postscript/error.rs +30 -0
  277. pdfluent-1.0.0b17.post4/pdf-font/src/postscript/mod.rs +173 -0
  278. pdfluent-1.0.0b17.post4/pdf-font/src/postscript/name.rs +191 -0
  279. pdfluent-1.0.0b17.post4/pdf-font/src/postscript/number.rs +182 -0
  280. pdfluent-1.0.0b17.post4/pdf-font/src/postscript/object.rs +193 -0
  281. pdfluent-1.0.0b17.post4/pdf-font/src/postscript/reader.rs +136 -0
  282. pdfluent-1.0.0b17.post4/pdf-font/src/postscript/string/ascii_85.rs +90 -0
  283. pdfluent-1.0.0b17.post4/pdf-font/src/postscript/string/ascii_hex.rs +59 -0
  284. pdfluent-1.0.0b17.post4/pdf-font/src/postscript/string/literal.rs +86 -0
  285. pdfluent-1.0.0b17.post4/pdf-font/src/postscript/string.rs +288 -0
  286. pdfluent-1.0.0b17.post4/pdf-forms/CHANGELOG.md +61 -0
  287. pdfluent-1.0.0b17.post4/pdf-forms/Cargo.toml +33 -0
  288. pdfluent-1.0.0b17.post4/pdf-forms/LICENSE +249 -0
  289. pdfluent-1.0.0b17.post4/pdf-forms/README.md +151 -0
  290. pdfluent-1.0.0b17.post4/pdf-forms/src/actions.rs +138 -0
  291. pdfluent-1.0.0b17.post4/pdf-forms/src/appearance.rs +446 -0
  292. pdfluent-1.0.0b17.post4/pdf-forms/src/button.rs +278 -0
  293. pdfluent-1.0.0b17.post4/pdf-forms/src/choice.rs +184 -0
  294. pdfluent-1.0.0b17.post4/pdf-forms/src/encoding.rs +169 -0
  295. pdfluent-1.0.0b17.post4/pdf-forms/src/facade.rs +271 -0
  296. pdfluent-1.0.0b17.post4/pdf-forms/src/flags.rs +136 -0
  297. pdfluent-1.0.0b17.post4/pdf-forms/src/flatten.rs +937 -0
  298. pdfluent-1.0.0b17.post4/pdf-forms/src/lib.rs +75 -0
  299. pdfluent-1.0.0b17.post4/pdf-forms/src/metrics.rs +295 -0
  300. pdfluent-1.0.0b17.post4/pdf-forms/src/model.rs +408 -0
  301. pdfluent-1.0.0b17.post4/pdf-forms/src/parse.rs +335 -0
  302. pdfluent-1.0.0b17.post4/pdf-forms/src/text.rs +165 -0
  303. pdfluent-1.0.0b17.post4/pdf-forms/src/tree.rs +415 -0
  304. pdfluent-1.0.0b17.post4/pdf-forms/src/writeback.rs +1131 -0
  305. pdfluent-1.0.0b17.post4/pdf-interpret/CHANGELOG.md +7 -0
  306. pdfluent-1.0.0b17.post4/pdf-interpret/Cargo.toml +40 -0
  307. pdfluent-1.0.0b17.post4/pdf-interpret/LICENSE-APACHE +201 -0
  308. pdfluent-1.0.0b17.post4/pdf-interpret/LICENSE-MIT +19 -0
  309. pdfluent-1.0.0b17.post4/pdf-interpret/README.md +59 -0
  310. pdfluent-1.0.0b17.post4/pdf-interpret/assets/CGATS001Compat-v2-micro.icc +0 -0
  311. pdfluent-1.0.0b17.post4/pdf-interpret/assets/CGATS_LICENSE.txt +116 -0
  312. pdfluent-1.0.0b17.post4/pdf-interpret/assets/FoxitDingbats.pfb +0 -0
  313. pdfluent-1.0.0b17.post4/pdf-interpret/assets/FoxitFixed.pfb +0 -0
  314. pdfluent-1.0.0b17.post4/pdf-interpret/assets/FoxitFixedBold.pfb +0 -0
  315. pdfluent-1.0.0b17.post4/pdf-interpret/assets/FoxitFixedBoldItalic.pfb +0 -0
  316. pdfluent-1.0.0b17.post4/pdf-interpret/assets/FoxitFixedItalic.pfb +0 -0
  317. pdfluent-1.0.0b17.post4/pdf-interpret/assets/FoxitSans.pfb +0 -0
  318. pdfluent-1.0.0b17.post4/pdf-interpret/assets/FoxitSansBold.pfb +0 -0
  319. pdfluent-1.0.0b17.post4/pdf-interpret/assets/FoxitSansBoldItalic.pfb +0 -0
  320. pdfluent-1.0.0b17.post4/pdf-interpret/assets/FoxitSansItalic.pfb +0 -0
  321. pdfluent-1.0.0b17.post4/pdf-interpret/assets/FoxitSerif.pfb +0 -0
  322. pdfluent-1.0.0b17.post4/pdf-interpret/assets/FoxitSerifBold.pfb +0 -0
  323. pdfluent-1.0.0b17.post4/pdf-interpret/assets/FoxitSerifBoldItalic.pfb +0 -0
  324. pdfluent-1.0.0b17.post4/pdf-interpret/assets/FoxitSerifItalic.pfb +0 -0
  325. pdfluent-1.0.0b17.post4/pdf-interpret/assets/FoxitSymbol.pfb +0 -0
  326. pdfluent-1.0.0b17.post4/pdf-interpret/assets/LAB.icc +0 -0
  327. pdfluent-1.0.0b17.post4/pdf-interpret/assets/LICENSE_FOXIT +27 -0
  328. pdfluent-1.0.0b17.post4/pdf-interpret/assets/README.md +15 -0
  329. pdfluent-1.0.0b17.post4/pdf-interpret/src/cache.rs +406 -0
  330. pdfluent-1.0.0b17.post4/pdf-interpret/src/color.rs +1339 -0
  331. pdfluent-1.0.0b17.post4/pdf-interpret/src/context.rs +325 -0
  332. pdfluent-1.0.0b17.post4/pdf-interpret/src/convert.rs +30 -0
  333. pdfluent-1.0.0b17.post4/pdf-interpret/src/device.rs +95 -0
  334. pdfluent-1.0.0b17.post4/pdf-interpret/src/encode.rs +508 -0
  335. pdfluent-1.0.0b17.post4/pdf-interpret/src/font/blob.rs +285 -0
  336. pdfluent-1.0.0b17.post4/pdf-interpret/src/font/cid.rs +789 -0
  337. pdfluent-1.0.0b17.post4/pdf-interpret/src/font/generated/glyph_names.rs +8119 -0
  338. pdfluent-1.0.0b17.post4/pdf-interpret/src/font/generated/mac_expert.rs +174 -0
  339. pdfluent-1.0.0b17.post4/pdf-interpret/src/font/generated/mac_os_roman.rs +48 -0
  340. pdfluent-1.0.0b17.post4/pdf-interpret/src/font/generated/mac_roman.rs +432 -0
  341. pdfluent-1.0.0b17.post4/pdf-interpret/src/font/generated/metrics.rs +4215 -0
  342. pdfluent-1.0.0b17.post4/pdf-interpret/src/font/generated/mod.rs +9 -0
  343. pdfluent-1.0.0b17.post4/pdf-interpret/src/font/generated/standard.rs +157 -0
  344. pdfluent-1.0.0b17.post4/pdf-interpret/src/font/generated/symbol.rs +197 -0
  345. pdfluent-1.0.0b17.post4/pdf-interpret/src/font/generated/win_ansi.rs +230 -0
  346. pdfluent-1.0.0b17.post4/pdf-interpret/src/font/generated/zapf_dings.rs +210 -0
  347. pdfluent-1.0.0b17.post4/pdf-interpret/src/font/glyph_simulator.rs +53 -0
  348. pdfluent-1.0.0b17.post4/pdf-interpret/src/font/mod.rs +989 -0
  349. pdfluent-1.0.0b17.post4/pdf-interpret/src/font/outline.rs +228 -0
  350. pdfluent-1.0.0b17.post4/pdf-interpret/src/font/standard_font.rs +975 -0
  351. pdfluent-1.0.0b17.post4/pdf-interpret/src/font/true_type.rs +619 -0
  352. pdfluent-1.0.0b17.post4/pdf-interpret/src/font/type1.rs +614 -0
  353. pdfluent-1.0.0b17.post4/pdf-interpret/src/font/type3.rs +313 -0
  354. pdfluent-1.0.0b17.post4/pdf-interpret/src/function/mod.rs +112 -0
  355. pdfluent-1.0.0b17.post4/pdf-interpret/src/function/type0.rs +408 -0
  356. pdfluent-1.0.0b17.post4/pdf-interpret/src/function/type2.rs +148 -0
  357. pdfluent-1.0.0b17.post4/pdf-interpret/src/function/type3.rs +135 -0
  358. pdfluent-1.0.0b17.post4/pdf-interpret/src/function/type4.rs +913 -0
  359. pdfluent-1.0.0b17.post4/pdf-interpret/src/interpret/mod.rs +1158 -0
  360. pdfluent-1.0.0b17.post4/pdf-interpret/src/interpret/path.rs +163 -0
  361. pdfluent-1.0.0b17.post4/pdf-interpret/src/interpret/state.rs +444 -0
  362. pdfluent-1.0.0b17.post4/pdf-interpret/src/interpret/text.rs +189 -0
  363. pdfluent-1.0.0b17.post4/pdf-interpret/src/lib.rs +59 -0
  364. pdfluent-1.0.0b17.post4/pdf-interpret/src/ocg.rs +170 -0
  365. pdfluent-1.0.0b17.post4/pdf-interpret/src/pattern.rs +364 -0
  366. pdfluent-1.0.0b17.post4/pdf-interpret/src/shading.rs +1064 -0
  367. pdfluent-1.0.0b17.post4/pdf-interpret/src/soft_mask.rs +183 -0
  368. pdfluent-1.0.0b17.post4/pdf-interpret/src/types.rs +353 -0
  369. pdfluent-1.0.0b17.post4/pdf-interpret/src/util.rs +245 -0
  370. pdfluent-1.0.0b17.post4/pdf-interpret/src/x_object.rs +917 -0
  371. pdfluent-1.0.0b17.post4/pdf-manip/CHANGELOG.md +7 -0
  372. pdfluent-1.0.0b17.post4/pdf-manip/Cargo.toml +54 -0
  373. pdfluent-1.0.0b17.post4/pdf-manip/LICENSE +249 -0
  374. pdfluent-1.0.0b17.post4/pdf-manip/README.md +40 -0
  375. pdfluent-1.0.0b17.post4/pdf-manip/examples/check_pdfa_compliance.rs +27 -0
  376. pdfluent-1.0.0b17.post4/pdf-manip/examples/convert_pdfa.rs +231 -0
  377. pdfluent-1.0.0b17.post4/pdf-manip/examples/debug_failing_widths.rs +337 -0
  378. pdfluent-1.0.0b17.post4/pdf-manip/examples/debug_gen131_trace.rs +101 -0
  379. pdfluent-1.0.0b17.post4/pdf-manip/examples/debug_gen181_test.rs +38 -0
  380. pdfluent-1.0.0b17.post4/pdf-manip/examples/debug_gen_widths.rs +126 -0
  381. pdfluent-1.0.0b17.post4/pdf-manip/examples/debug_pdfa.rs +361 -0
  382. pdfluent-1.0.0b17.post4/pdf-manip/examples/debug_pdfa_one.rs +62 -0
  383. pdfluent-1.0.0b17.post4/pdf-manip/examples/debug_widths.rs +237 -0
  384. pdfluent-1.0.0b17.post4/pdf-manip/examples/diag_text_replace.rs +83 -0
  385. pdfluent-1.0.0b17.post4/pdf-manip/examples/inspect_cidset.rs +153 -0
  386. pdfluent-1.0.0b17.post4/pdf-manip/examples/pdfa_encoding_trace.rs +208 -0
  387. pdfluent-1.0.0b17.post4/pdf-manip/examples/pdfa_space_probe.rs +85 -0
  388. pdfluent-1.0.0b17.post4/pdf-manip/examples/pdfa_width_trace.rs +190 -0
  389. pdfluent-1.0.0b17.post4/pdf-manip/examples/test_w160_verapdf.rs +156 -0
  390. pdfluent-1.0.0b17.post4/pdf-manip/examples/timing_profile3.rs +49 -0
  391. pdfluent-1.0.0b17.post4/pdf-manip/examples/trace_tekton_widths.rs +133 -0
  392. pdfluent-1.0.0b17.post4/pdf-manip/resources/cmap/GB-EUC-H +171 -0
  393. pdfluent-1.0.0b17.post4/pdf-manip/src/NOTDEF_FIXES_LOG.md +69 -0
  394. pdfluent-1.0.0b17.post4/pdf-manip/src/bookmarks.rs +736 -0
  395. pdfluent-1.0.0b17.post4/pdf-manip/src/cff_append.rs +1168 -0
  396. pdfluent-1.0.0b17.post4/pdf-manip/src/content_editor.rs +1102 -0
  397. pdfluent-1.0.0b17.post4/pdf-manip/src/downsample.rs +624 -0
  398. pdfluent-1.0.0b17.post4/pdf-manip/src/encoding_utils.rs +503 -0
  399. pdfluent-1.0.0b17.post4/pdf-manip/src/encrypt.rs +452 -0
  400. pdfluent-1.0.0b17.post4/pdf-manip/src/error.rs +133 -0
  401. pdfluent-1.0.0b17.post4/pdf-manip/src/flate_decode.rs +78 -0
  402. pdfluent-1.0.0b17.post4/pdf-manip/src/font_subset.rs +423 -0
  403. pdfluent-1.0.0b17.post4/pdf-manip/src/header_footer.rs +527 -0
  404. pdfluent-1.0.0b17.post4/pdf-manip/src/image_insert.rs +788 -0
  405. pdfluent-1.0.0b17.post4/pdf-manip/src/lib.rs +96 -0
  406. pdfluent-1.0.0b17.post4/pdf-manip/src/optimize.rs +384 -0
  407. pdfluent-1.0.0b17.post4/pdf-manip/src/pages.rs +420 -0
  408. pdfluent-1.0.0b17.post4/pdf-manip/src/pdfa.rs +640 -0
  409. pdfluent-1.0.0b17.post4/pdf-manip/src/pdfa_cleanup.rs +6325 -0
  410. pdfluent-1.0.0b17.post4/pdf-manip/src/pdfa_colorspace.rs +3233 -0
  411. pdfluent-1.0.0b17.post4/pdf-manip/src/pdfa_fixups.rs +11137 -0
  412. pdfluent-1.0.0b17.post4/pdf-manip/src/pdfa_fonts.rs +24262 -0
  413. pdfluent-1.0.0b17.post4/pdf-manip/src/pdfa_repair.rs +1142 -0
  414. pdfluent-1.0.0b17.post4/pdf-manip/src/pdfa_structure.rs +222 -0
  415. pdfluent-1.0.0b17.post4/pdf-manip/src/pdfa_xmp.rs +1074 -0
  416. pdfluent-1.0.0b17.post4/pdf-manip/src/pdfua.rs +1087 -0
  417. pdfluent-1.0.0b17.post4/pdf-manip/src/text_edit/apply.rs +718 -0
  418. pdfluent-1.0.0b17.post4/pdf-manip/src/text_edit/mod.rs +1672 -0
  419. pdfluent-1.0.0b17.post4/pdf-manip/src/text_edit/scan.rs +437 -0
  420. pdfluent-1.0.0b17.post4/pdf-manip/src/text_edit/signatures.rs +132 -0
  421. pdfluent-1.0.0b17.post4/pdf-manip/src/text_edit/token.rs +548 -0
  422. pdfluent-1.0.0b17.post4/pdf-manip/src/text_replace.rs +834 -0
  423. pdfluent-1.0.0b17.post4/pdf-manip/src/text_run.rs +1365 -0
  424. pdfluent-1.0.0b17.post4/pdf-manip/src/text_style.rs +1208 -0
  425. pdfluent-1.0.0b17.post4/pdf-manip/src/watermark.rs +827 -0
  426. pdfluent-1.0.0b17.post4/pdf-manip/tests/debug_convert.rs +7732 -0
  427. pdfluent-1.0.0b17.post4/pdf-manip/tests/text_edit_contract.rs +1121 -0
  428. pdfluent-1.0.0b17.post4/pdf-manip/tests/text_replace_characterization.rs +647 -0
  429. pdfluent-1.0.0b17.post4/pdf-python/.gitignore +3 -0
  430. pdfluent-1.0.0b17.post4/pdf-python/Cargo.lock +3143 -0
  431. pdfluent-1.0.0b17.post4/pdf-python/Cargo.toml +30 -0
  432. pdfluent-1.0.0b17.post4/pdf-python/LICENSE +249 -0
  433. pdfluent-1.0.0b17.post4/pdf-python/README.md +323 -0
  434. pdfluent-1.0.0b17.post4/pdf-python/examples/demo.py +190 -0
  435. pdfluent-1.0.0b17.post4/pdf-python/src/lib.rs +2070 -0
  436. pdfluent-1.0.0b17.post4/pdf-python/src/text_edit.rs +321 -0
  437. pdfluent-1.0.0b17.post4/pdf-python/tests/conftest.py +1 -0
  438. pdfluent-1.0.0b17.post4/pdf-python/tests/test_license.py +470 -0
  439. pdfluent-1.0.0b17.post4/pdf-python/tests/test_license_signed_payload.py +299 -0
  440. pdfluent-1.0.0b17.post4/pdf-python/tests/test_multiselect.py +64 -0
  441. pdfluent-1.0.0b17.post4/pdf-python/tests/test_pdfluent_typing.py +442 -0
  442. pdfluent-1.0.0b17.post4/pdf-python/tests/test_signatures.py +197 -0
  443. pdfluent-1.0.0b17.post4/pdf-python/tests/test_smoke.py +365 -0
  444. pdfluent-1.0.0b17.post4/pdf-redact/CHANGELOG.md +7 -0
  445. pdfluent-1.0.0b17.post4/pdf-redact/Cargo.toml +29 -0
  446. pdfluent-1.0.0b17.post4/pdf-redact/LICENSE +249 -0
  447. pdfluent-1.0.0b17.post4/pdf-redact/README.md +40 -0
  448. pdfluent-1.0.0b17.post4/pdf-redact/src/error.rs +74 -0
  449. pdfluent-1.0.0b17.post4/pdf-redact/src/lib.rs +11 -0
  450. pdfluent-1.0.0b17.post4/pdf-redact/src/redact.rs +3260 -0
  451. pdfluent-1.0.0b17.post4/pdf-redact/src/search_redact.rs +1545 -0
  452. pdfluent-1.0.0b17.post4/pdf-redact/src/tounicode.rs +1066 -0
  453. pdfluent-1.0.0b17.post4/pdf-redact/tests/annotations_and_xmp.rs +206 -0
  454. pdfluent-1.0.0b17.post4/pdf-redact/tests/debug_redact.rs +294 -0
  455. pdfluent-1.0.0b17.post4/pdf-redact/tests/redact_image.rs +131 -0
  456. pdfluent-1.0.0b17.post4/pdf-redact/tests/regression_redact.rs +364 -0
  457. pdfluent-1.0.0b17.post4/pdf-redact/tests/tounicode_stub_smoke.rs +219 -0
  458. pdfluent-1.0.0b17.post4/pdf-render/CHANGELOG.md +7 -0
  459. pdfluent-1.0.0b17.post4/pdf-render/Cargo.toml +39 -0
  460. pdfluent-1.0.0b17.post4/pdf-render/LICENSE-APACHE +201 -0
  461. pdfluent-1.0.0b17.post4/pdf-render/LICENSE-MIT +19 -0
  462. pdfluent-1.0.0b17.post4/pdf-render/README.md +44 -0
  463. pdfluent-1.0.0b17.post4/pdf-render/src/lib.rs +485 -0
  464. pdfluent-1.0.0b17.post4/pdf-render/src/renderer.rs +1098 -0
  465. pdfluent-1.0.0b17.post4/pdf-sign/CHANGELOG.md +7 -0
  466. pdfluent-1.0.0b17.post4/pdf-sign/Cargo.toml +42 -0
  467. pdfluent-1.0.0b17.post4/pdf-sign/LICENSE +249 -0
  468. pdfluent-1.0.0b17.post4/pdf-sign/README.md +40 -0
  469. pdfluent-1.0.0b17.post4/pdf-sign/src/appearance.rs +135 -0
  470. pdfluent-1.0.0b17.post4/pdf-sign/src/byte_range.rs +142 -0
  471. pdfluent-1.0.0b17.post4/pdf-sign/src/chain.rs +367 -0
  472. pdfluent-1.0.0b17.post4/pdf-sign/src/cms.rs +490 -0
  473. pdfluent-1.0.0b17.post4/pdf-sign/src/cms_builder.rs +575 -0
  474. pdfluent-1.0.0b17.post4/pdf-sign/src/crypto.rs +394 -0
  475. pdfluent-1.0.0b17.post4/pdf-sign/src/docmdp.rs +212 -0
  476. pdfluent-1.0.0b17.post4/pdf-sign/src/lib.rs +267 -0
  477. pdfluent-1.0.0b17.post4/pdf-sign/src/ltv.rs +264 -0
  478. pdfluent-1.0.0b17.post4/pdf-sign/src/sig_dict.rs +135 -0
  479. pdfluent-1.0.0b17.post4/pdf-sign/src/sign.rs +1209 -0
  480. pdfluent-1.0.0b17.post4/pdf-sign/src/signer.rs +475 -0
  481. pdfluent-1.0.0b17.post4/pdf-sign/src/string_util.rs +45 -0
  482. pdfluent-1.0.0b17.post4/pdf-sign/src/tsa.rs +901 -0
  483. pdfluent-1.0.0b17.post4/pdf-sign/src/types.rs +111 -0
  484. pdfluent-1.0.0b17.post4/pdf-sign/src/x509.rs +341 -0
  485. pdfluent-1.0.0b17.post4/pdf-sign/tests/fixtures/test-ec-p256.p12 +0 -0
  486. pdfluent-1.0.0b17.post4/pdf-sign/tests/fixtures/test-rsa.p12 +0 -0
  487. pdfluent-1.0.0b17.post4/pdf-standard-fonts/Cargo.toml +24 -0
  488. pdfluent-1.0.0b17.post4/pdf-standard-fonts/LICENSE +249 -0
  489. pdfluent-1.0.0b17.post4/pdf-standard-fonts/LICENSE-FOXIT +27 -0
  490. pdfluent-1.0.0b17.post4/pdf-standard-fonts/README.md +53 -0
  491. pdfluent-1.0.0b17.post4/pdf-standard-fonts/assets/FoxitDingbats.cff +0 -0
  492. pdfluent-1.0.0b17.post4/pdf-standard-fonts/assets/FoxitFixed.cff +0 -0
  493. pdfluent-1.0.0b17.post4/pdf-standard-fonts/assets/FoxitFixedBold.cff +0 -0
  494. pdfluent-1.0.0b17.post4/pdf-standard-fonts/assets/FoxitFixedBoldItalic.cff +0 -0
  495. pdfluent-1.0.0b17.post4/pdf-standard-fonts/assets/FoxitFixedItalic.cff +0 -0
  496. pdfluent-1.0.0b17.post4/pdf-standard-fonts/assets/FoxitSans.cff +0 -0
  497. pdfluent-1.0.0b17.post4/pdf-standard-fonts/assets/FoxitSansBold.cff +0 -0
  498. pdfluent-1.0.0b17.post4/pdf-standard-fonts/assets/FoxitSansBoldItalic.cff +0 -0
  499. pdfluent-1.0.0b17.post4/pdf-standard-fonts/assets/FoxitSansItalic.cff +0 -0
  500. pdfluent-1.0.0b17.post4/pdf-standard-fonts/assets/FoxitSerif.cff +0 -0
  501. pdfluent-1.0.0b17.post4/pdf-standard-fonts/assets/FoxitSerifBold.cff +0 -0
  502. pdfluent-1.0.0b17.post4/pdf-standard-fonts/assets/FoxitSerifBoldItalic.cff +0 -0
  503. pdfluent-1.0.0b17.post4/pdf-standard-fonts/assets/FoxitSerifItalic.cff +0 -0
  504. pdfluent-1.0.0b17.post4/pdf-standard-fonts/assets/FoxitSymbol.cff +0 -0
  505. pdfluent-1.0.0b17.post4/pdf-standard-fonts/src/lib.rs +799 -0
  506. pdfluent-1.0.0b17.post4/pdf-syntax/CHANGELOG.md +7 -0
  507. pdfluent-1.0.0b17.post4/pdf-syntax/Cargo.toml +37 -0
  508. pdfluent-1.0.0b17.post4/pdf-syntax/LICENSE-APACHE +201 -0
  509. pdfluent-1.0.0b17.post4/pdf-syntax/LICENSE-MIT +19 -0
  510. pdfluent-1.0.0b17.post4/pdf-syntax/README.md +79 -0
  511. pdfluent-1.0.0b17.post4/pdf-syntax/src/bit_reader.rs +607 -0
  512. pdfluent-1.0.0b17.post4/pdf-syntax/src/byte_reader.rs +222 -0
  513. pdfluent-1.0.0b17.post4/pdf-syntax/src/content/gen_ops.py +222 -0
  514. pdfluent-1.0.0b17.post4/pdf-syntax/src/content/mod.rs +715 -0
  515. pdfluent-1.0.0b17.post4/pdf-syntax/src/content/ops.rs +200 -0
  516. pdfluent-1.0.0b17.post4/pdf-syntax/src/content/ops_generated.rs +528 -0
  517. pdfluent-1.0.0b17.post4/pdf-syntax/src/crypto/aes.rs +723 -0
  518. pdfluent-1.0.0b17.post4/pdf-syntax/src/crypto/md5.rs +122 -0
  519. pdfluent-1.0.0b17.post4/pdf-syntax/src/crypto/mod.rs +671 -0
  520. pdfluent-1.0.0b17.post4/pdf-syntax/src/crypto/rc4.rs +125 -0
  521. pdfluent-1.0.0b17.post4/pdf-syntax/src/crypto/sha256.rs +151 -0
  522. pdfluent-1.0.0b17.post4/pdf-syntax/src/crypto/sha384.rs +51 -0
  523. pdfluent-1.0.0b17.post4/pdf-syntax/src/crypto/sha512.rs +237 -0
  524. pdfluent-1.0.0b17.post4/pdf-syntax/src/data.rs +312 -0
  525. pdfluent-1.0.0b17.post4/pdf-syntax/src/filter/ascii_85.rs +95 -0
  526. pdfluent-1.0.0b17.post4/pdf-syntax/src/filter/ascii_hex.rs +103 -0
  527. pdfluent-1.0.0b17.post4/pdf-syntax/src/filter/ccitt.rs +117 -0
  528. pdfluent-1.0.0b17.post4/pdf-syntax/src/filter/dct.rs +208 -0
  529. pdfluent-1.0.0b17.post4/pdf-syntax/src/filter/jbig2.rs +49 -0
  530. pdfluent-1.0.0b17.post4/pdf-syntax/src/filter/jpx.rs +207 -0
  531. pdfluent-1.0.0b17.post4/pdf-syntax/src/filter/lzw_flate.rs +1125 -0
  532. pdfluent-1.0.0b17.post4/pdf-syntax/src/filter/mod.rs +134 -0
  533. pdfluent-1.0.0b17.post4/pdf-syntax/src/filter/run_length.rs +44 -0
  534. pdfluent-1.0.0b17.post4/pdf-syntax/src/leniency.rs +263 -0
  535. pdfluent-1.0.0b17.post4/pdf-syntax/src/lib.rs +101 -0
  536. pdfluent-1.0.0b17.post4/pdf-syntax/src/math.rs +61 -0
  537. pdfluent-1.0.0b17.post4/pdf-syntax/src/metadata.rs +43 -0
  538. pdfluent-1.0.0b17.post4/pdf-syntax/src/object/array.rs +406 -0
  539. pdfluent-1.0.0b17.post4/pdf-syntax/src/object/bool.rs +61 -0
  540. pdfluent-1.0.0b17.post4/pdf-syntax/src/object/date.rs +268 -0
  541. pdfluent-1.0.0b17.post4/pdf-syntax/src/object/dict.rs +1053 -0
  542. pdfluent-1.0.0b17.post4/pdf-syntax/src/object/indirect.rs +68 -0
  543. pdfluent-1.0.0b17.post4/pdf-syntax/src/object/mod.rs +389 -0
  544. pdfluent-1.0.0b17.post4/pdf-syntax/src/object/name.rs +365 -0
  545. pdfluent-1.0.0b17.post4/pdf-syntax/src/object/null.rs +53 -0
  546. pdfluent-1.0.0b17.post4/pdf-syntax/src/object/number.rs +533 -0
  547. pdfluent-1.0.0b17.post4/pdf-syntax/src/object/rect.rs +83 -0
  548. pdfluent-1.0.0b17.post4/pdf-syntax/src/object/ref.rs +187 -0
  549. pdfluent-1.0.0b17.post4/pdf-syntax/src/object/stream.rs +553 -0
  550. pdfluent-1.0.0b17.post4/pdf-syntax/src/object/string.rs +494 -0
  551. pdfluent-1.0.0b17.post4/pdf-syntax/src/object/tuple.rs +174 -0
  552. pdfluent-1.0.0b17.post4/pdf-syntax/src/page.rs +678 -0
  553. pdfluent-1.0.0b17.post4/pdf-syntax/src/pdf.rs +375 -0
  554. pdfluent-1.0.0b17.post4/pdf-syntax/src/reader.rs +290 -0
  555. pdfluent-1.0.0b17.post4/pdf-syntax/src/sync.rs +108 -0
  556. pdfluent-1.0.0b17.post4/pdf-syntax/src/trivia.rs +49 -0
  557. pdfluent-1.0.0b17.post4/pdf-syntax/src/util.rs +112 -0
  558. pdfluent-1.0.0b17.post4/pdf-syntax/src/xref.rs +1403 -0
  559. pdfluent-1.0.0b17.post4/pdf-xfa/Cargo.toml +51 -0
  560. pdfluent-1.0.0b17.post4/pdf-xfa/LICENSE +249 -0
  561. pdfluent-1.0.0b17.post4/pdf-xfa/README.md +42 -0
  562. pdfluent-1.0.0b17.post4/pdf-xfa/src/appearance_bridge.rs +638 -0
  563. pdfluent-1.0.0b17.post4/pdf-xfa/src/classify.rs +172 -0
  564. pdfluent-1.0.0b17.post4/pdf-xfa/src/datasets_writeback.rs +816 -0
  565. pdfluent-1.0.0b17.post4/pdf-xfa/src/dynamic.rs +2773 -0
  566. pdfluent-1.0.0b17.post4/pdf-xfa/src/encodings/glyphnames.rs +4501 -0
  567. pdfluent-1.0.0b17.post4/pdf-xfa/src/encodings/mappings.rs +1820 -0
  568. pdfluent-1.0.0b17.post4/pdf-xfa/src/error.rs +167 -0
  569. pdfluent-1.0.0b17.post4/pdf-xfa/src/extract.rs +735 -0
  570. pdfluent-1.0.0b17.post4/pdf-xfa/src/flatten.rs +7106 -0
  571. pdfluent-1.0.0b17.post4/pdf-xfa/src/flatten_trace.rs +584 -0
  572. pdfluent-1.0.0b17.post4/pdf-xfa/src/font_bridge.rs +2030 -0
  573. pdfluent-1.0.0b17.post4/pdf-xfa/src/image_bridge.rs +350 -0
  574. pdfluent-1.0.0b17.post4/pdf-xfa/src/javascript_policy.rs +752 -0
  575. pdfluent-1.0.0b17.post4/pdf-xfa/src/js_runtime/host.rs +2975 -0
  576. pdfluent-1.0.0b17.post4/pdf-xfa/src/js_runtime/mod.rs +788 -0
  577. pdfluent-1.0.0b17.post4/pdf-xfa/src/js_runtime/null.rs +99 -0
  578. pdfluent-1.0.0b17.post4/pdf-xfa/src/js_runtime/regex_guard.rs +781 -0
  579. pdfluent-1.0.0b17.post4/pdf-xfa/src/js_runtime/rquickjs_backend.rs +4598 -0
  580. pdfluent-1.0.0b17.post4/pdf-xfa/src/lib.rs +77 -0
  581. pdfluent-1.0.0b17.post4/pdf-xfa/src/merger.rs +4320 -0
  582. pdfluent-1.0.0b17.post4/pdf-xfa/src/paint_bridge.rs +1018 -0
  583. pdfluent-1.0.0b17.post4/pdf-xfa/src/render_bridge.rs +4893 -0
  584. pdfluent-1.0.0b17.post4/pdf-xfa/src/session.rs +1253 -0
  585. pdfluent-1.0.0b17.post4/pdf-xfa/src/template_parser.rs +2806 -0
  586. pdfluent-1.0.0b17.post4/pdfluent/CHANGELOG.md +304 -0
  587. pdfluent-1.0.0b17.post4/pdfluent/Cargo.toml +117 -0
  588. pdfluent-1.0.0b17.post4/pdfluent/LICENSE +249 -0
  589. pdfluent-1.0.0b17.post4/pdfluent/README.md +88 -0
  590. pdfluent-1.0.0b17.post4/pdfluent/benches/facade.rs +109 -0
  591. pdfluent-1.0.0b17.post4/pdfluent/examples/xfa_fill.rs +72 -0
  592. pdfluent-1.0.0b17.post4/pdfluent/src/async_io.rs +30 -0
  593. pdfluent-1.0.0b17.post4/pdfluent/src/capability.rs +151 -0
  594. pdfluent-1.0.0b17.post4/pdfluent/src/compliance.rs +91 -0
  595. pdfluent-1.0.0b17.post4/pdfluent/src/decoration.rs +69 -0
  596. pdfluent-1.0.0b17.post4/pdfluent/src/diagnostics.rs +417 -0
  597. pdfluent-1.0.0b17.post4/pdfluent/src/document.rs +3255 -0
  598. pdfluent-1.0.0b17.post4/pdfluent/src/encrypt.rs +229 -0
  599. pdfluent-1.0.0b17.post4/pdfluent/src/error.rs +738 -0
  600. pdfluent-1.0.0b17.post4/pdfluent/src/form.rs +338 -0
  601. pdfluent-1.0.0b17.post4/pdfluent/src/lib.rs +120 -0
  602. pdfluent-1.0.0b17.post4/pdfluent/src/license.rs +464 -0
  603. pdfluent-1.0.0b17.post4/pdfluent/src/merger.rs +120 -0
  604. pdfluent-1.0.0b17.post4/pdfluent/src/metadata.rs +271 -0
  605. pdfluent-1.0.0b17.post4/pdfluent/src/page_labels.rs +273 -0
  606. pdfluent-1.0.0b17.post4/pdfluent/src/parity.rs +272 -0
  607. pdfluent-1.0.0b17.post4/pdfluent/src/prelude.rs +27 -0
  608. pdfluent-1.0.0b17.post4/pdfluent/src/redact.rs +36 -0
  609. pdfluent-1.0.0b17.post4/pdfluent/src/signer.rs +249 -0
  610. pdfluent-1.0.0b17.post4/pdfluent/src/structure.rs +277 -0
  611. pdfluent-1.0.0b17.post4/pdfluent/src/tagged.rs +143 -0
  612. pdfluent-1.0.0b17.post4/pdfluent/src/tier.rs +98 -0
  613. pdfluent-1.0.0b17.post4/pdfluent/src/watermark.rs +112 -0
  614. pdfluent-1.0.0b17.post4/pdfluent/src/xfa.rs +238 -0
  615. pdfluent-1.0.0b17.post4/pyproject.toml +55 -0
  616. pdfluent-1.0.0b17.post4/python/pdfluent/__init__.py +326 -0
  617. pdfluent-1.0.0b17.post4/python/pdfluent/__init__.pyi +1031 -0
  618. pdfluent-1.0.0b17.post4/python/pdfluent/_native.pyi +560 -0
  619. pdfluent-1.0.0b17.post4/python/pdfluent/py.typed +0 -0
  620. pdfluent-1.0.0b17.post4/xfa-dom-resolver/Cargo.toml +14 -0
  621. pdfluent-1.0.0b17.post4/xfa-dom-resolver/LICENSE +249 -0
  622. pdfluent-1.0.0b17.post4/xfa-dom-resolver/README.md +32 -0
  623. pdfluent-1.0.0b17.post4/xfa-dom-resolver/src/data_dom.rs +886 -0
  624. pdfluent-1.0.0b17.post4/xfa-dom-resolver/src/error.rs +56 -0
  625. pdfluent-1.0.0b17.post4/xfa-dom-resolver/src/lib.rs +13 -0
  626. pdfluent-1.0.0b17.post4/xfa-dom-resolver/src/som.rs +485 -0
  627. pdfluent-1.0.0b17.post4/xfa-dom-resolver/src/template_dom.rs +8 -0
  628. pdfluent-1.0.0b17.post4/xfa-dom-resolver/src/xfa_dom.rs +21 -0
  629. pdfluent-1.0.0b17.post4/xfa-dom-resolver/tests/edge_cases.rs +163 -0
  630. pdfluent-1.0.0b17.post4/xfa-js-sandboxed/Cargo.toml +16 -0
  631. pdfluent-1.0.0b17.post4/xfa-js-sandboxed/LICENSE +249 -0
  632. pdfluent-1.0.0b17.post4/xfa-js-sandboxed/README.md +13 -0
  633. pdfluent-1.0.0b17.post4/xfa-js-sandboxed/src/error.rs +27 -0
  634. pdfluent-1.0.0b17.post4/xfa-js-sandboxed/src/field_store.rs +74 -0
  635. pdfluent-1.0.0b17.post4/xfa-js-sandboxed/src/lib.rs +20 -0
  636. pdfluent-1.0.0b17.post4/xfa-js-sandboxed/src/runtime.rs +501 -0
  637. pdfluent-1.0.0b17.post4/xfa-js-sandboxed/src/value.rs +64 -0
  638. pdfluent-1.0.0b17.post4/xfa-js-sandboxed/tests/cancel_mid_flight.rs +98 -0
  639. pdfluent-1.0.0b17.post4/xfa-js-sandboxed/tests/error_propagation.rs +97 -0
  640. pdfluent-1.0.0b17.post4/xfa-js-sandboxed/tests/field_read_write.rs +98 -0
  641. pdfluent-1.0.0b17.post4/xfa-js-sandboxed/tests/sandbox_isolation.rs +132 -0
  642. pdfluent-1.0.0b17.post4/xfa-js-sandboxed/tests/simple_calculate.rs +62 -0
  643. pdfluent-1.0.0b17.post4/xfa-json/Cargo.toml +16 -0
  644. pdfluent-1.0.0b17.post4/xfa-json/LICENSE +249 -0
  645. pdfluent-1.0.0b17.post4/xfa-json/README.md +32 -0
  646. pdfluent-1.0.0b17.post4/xfa-json/src/coerce.rs +104 -0
  647. pdfluent-1.0.0b17.post4/xfa-json/src/export.rs +388 -0
  648. pdfluent-1.0.0b17.post4/xfa-json/src/import.rs +471 -0
  649. pdfluent-1.0.0b17.post4/xfa-json/src/lib.rs +23 -0
  650. pdfluent-1.0.0b17.post4/xfa-json/src/schema.rs +267 -0
  651. pdfluent-1.0.0b17.post4/xfa-json/src/types.rs +121 -0
  652. pdfluent-1.0.0b17.post4/xfa-layout-engine/Cargo.toml +19 -0
  653. pdfluent-1.0.0b17.post4/xfa-layout-engine/LICENSE +249 -0
  654. pdfluent-1.0.0b17.post4/xfa-layout-engine/README.md +32 -0
  655. pdfluent-1.0.0b17.post4/xfa-layout-engine/src/error.rs +26 -0
  656. pdfluent-1.0.0b17.post4/xfa-layout-engine/src/form.rs +807 -0
  657. pdfluent-1.0.0b17.post4/xfa-layout-engine/src/layout.rs +8729 -0
  658. pdfluent-1.0.0b17.post4/xfa-layout-engine/src/layout_patch.py +254 -0
  659. pdfluent-1.0.0b17.post4/xfa-layout-engine/src/layout_patch_override.py +113 -0
  660. pdfluent-1.0.0b17.post4/xfa-layout-engine/src/lib.rs +15 -0
  661. pdfluent-1.0.0b17.post4/xfa-layout-engine/src/scripting.rs +452 -0
  662. pdfluent-1.0.0b17.post4/xfa-layout-engine/src/text.rs +670 -0
  663. pdfluent-1.0.0b17.post4/xfa-layout-engine/src/types.rs +485 -0
  664. pdfluent-1.0.0b17.post4/xfa-layout-engine/tests/border_width.rs +141 -0
  665. pdfluent-1.0.0b17.post4/xfa-layout-engine/tests/js_calculate.rs +165 -0
  666. pdfluent-1.0.0b17.post4/xfa-layout-engine/tests/line_height.rs +112 -0
  667. pdfluent-1.0.0b17.post4/xfa-layout-engine/tests/overflow_leader_trailer.rs +339 -0
  668. pdfluent-1.0.0b17.post4/xfa-layout-engine/tests/overflow_leader_trailer_per_subform.rs +496 -0
  669. pdfluent-1.0.0b17.post4/xfa-layout-engine/tests/pagination_edge_cases.rs +346 -0
  670. pdfluent-1.0.0b17.post4/xfa-layout-engine/tests/paragraph_margins.rs +115 -0
  671. pdfluent-1.0.0b17.post4/xfa-layout-engine/tests/text_indent.rs +107 -0
  672. pdfluent-1.0.0b17.post4/xfa-license/CHANGELOG.md +7 -0
  673. pdfluent-1.0.0b17.post4/xfa-license/Cargo.toml +22 -0
  674. pdfluent-1.0.0b17.post4/xfa-license/LICENSE +249 -0
  675. pdfluent-1.0.0b17.post4/xfa-license/README.md +34 -0
  676. pdfluent-1.0.0b17.post4/xfa-license/src/claims.rs +338 -0
  677. pdfluent-1.0.0b17.post4/xfa-license/src/error.rs +58 -0
  678. pdfluent-1.0.0b17.post4/xfa-license/src/lib.rs +341 -0
  679. pdfluent-1.0.0b17.post4/xfa-license/src/metering.rs +251 -0
  680. pdfluent-1.0.0b17.post4/xfa-license/src/token.rs +184 -0
@@ -0,0 +1,249 @@
1
+ PDFluent Commercial License
2
+ Version 1.0
3
+ Effective: 2026-05-02
4
+
5
+ Copyright (c) 2026 Innovation Trigger BV (operating as PDFluent).
6
+ All rights reserved.
7
+
8
+ IMPORTANT — READ CAREFULLY. This is a legal agreement between you ("Licensee")
9
+ and Innovation Trigger BV, a private limited company organized under the laws
10
+ of the Netherlands and operating under the trade name "PDFluent" ("PDFluent",
11
+ "we", "us"). By installing, copying, downloading, or otherwise using the
12
+ Software, you agree to be bound by the terms of this License. If you do not
13
+ agree, do not install or use the Software.
14
+
15
+ This License governs the use of all Rust crates published by PDFluent that
16
+ reference this LICENSE file in their Cargo manifest. PDFluent also publishes
17
+ separate crates under permissive open-source licenses (MIT or Apache-2.0);
18
+ those crates are NOT governed by this License and may be used under their
19
+ respective open-source terms. See the NOTICE file for the list of crates
20
+ covered by each license.
21
+
22
+ Note: this License is separate from the license for the PDFluent desktop
23
+ editor application. A license to use the PDFluent editor, including a free
24
+ one, does not grant any rights under this License. If you are embedding,
25
+ linking against, or programmatically calling the Software described below,
26
+ this License applies regardless of whether you also use the editor. See
27
+ https://pdfluent.com/sdk/pricing for SDK licensing options.
28
+
29
+ ----------------------------------------------------------------------------
30
+
31
+ 1. DEFINITIONS
32
+
33
+ "Software" means the source code, compiled object code, binary artefacts,
34
+ and accompanying documentation of the PDFluent crates that reference this
35
+ LICENSE file.
36
+
37
+ "Production Use" means any use of the Software in connection with the
38
+ operation of a business or for the benefit of a third party, including
39
+ without limitation: (a) processing data of customers, clients, or other
40
+ third parties; (b) integration into a commercial product, service, or
41
+ internal business application; (c) deployment in a production environment.
42
+
43
+ "Evaluation Use" means use of the Software solely for the purpose of
44
+ evaluating its suitability for Production Use, including in development,
45
+ testing, demonstration, and non-public staging environments. Evaluation
46
+ Use does not include any form of Production Use.
47
+
48
+ "Valid License" means a current and active license entitlement issued by
49
+ PDFluent or an authorized reseller, identified by an Ed25519-signed
50
+ license key file or by other written commercial terms agreed with
51
+ PDFluent.
52
+
53
+ "Authorized Use" means the scope of Production Use granted under a Valid
54
+ License, including the number of developers, locations, products, and
55
+ deployment configurations described in the commercial terms applicable to
56
+ that Valid License.
57
+
58
+ ----------------------------------------------------------------------------
59
+
60
+ 2. EVALUATION GRANT
61
+
62
+ Subject to compliance with this License, PDFluent grants Licensee a
63
+ non-exclusive, non-transferable, worldwide, royalty-free license to:
64
+
65
+ (a) install and use the Software for Evaluation Use; and
66
+
67
+ (b) make a reasonable number of internal copies of the Software for the
68
+ sole purpose of supporting Evaluation Use.
69
+
70
+ The Software, when used without a Valid License, may produce output that
71
+ contains identifying markers indicating that the output was generated by
72
+ an unlicensed copy of the Software (including but not limited to a
73
+ "Producer" string in PDF metadata and a one-time warning emitted to
74
+ standard error). Licensee shall not remove, modify, suppress, or
75
+ circumvent these markers, nor any license-enforcement mechanism within
76
+ the Software.
77
+
78
+ ----------------------------------------------------------------------------
79
+
80
+ 3. PRODUCTION GRANT
81
+
82
+ Production Use of the Software is permitted ONLY when Licensee holds a
83
+ Valid License covering the intended use. The scope of Production Use
84
+ permitted is determined by the Valid License and by the commercial terms
85
+ referenced therein. The current commercial terms, including pricing,
86
+ tiers, add-ons, and definitions of permitted use, are published at:
87
+
88
+ https://pdfluent.com/terms
89
+ https://pdfluent.com/pricing
90
+
91
+ Production Use exceeding the Authorized Use of the applicable Valid
92
+ License is a material breach of this License.
93
+
94
+ ----------------------------------------------------------------------------
95
+
96
+ 4. RESTRICTIONS
97
+
98
+ Except as expressly permitted by this License or by a separately
99
+ negotiated written agreement with PDFluent, Licensee shall not:
100
+
101
+ (a) use the Software in Production Use without a Valid License;
102
+
103
+ (b) remove, disable, alter, or circumvent any license-enforcement,
104
+ watermarking, telemetry, or attribution mechanism contained in the
105
+ Software;
106
+
107
+ (c) redistribute, publish, sell, sublicense, lease, rent, or otherwise
108
+ make the Software available to any third party, except under a
109
+ separately purchased OEM Redistribution add-on as described in the
110
+ commercial terms;
111
+
112
+ (d) reverse engineer, decompile, or disassemble the Software, except to
113
+ the limited extent that such activity is expressly permitted by
114
+ applicable law notwithstanding this restriction;
115
+
116
+ (e) modify the Software with the intent of, or in a manner that has the
117
+ effect of, evading any restriction in this License;
118
+
119
+ (f) remove, obscure, or alter any copyright, trademark, attribution, or
120
+ other proprietary notices contained in the Software or its
121
+ documentation; or
122
+
123
+ (g) redistribute, sublicense, expose, or offer the Software as a
124
+ standalone SDK, library, API, platform, service, or substantially
125
+ similar substitute for PDFluent, except as expressly permitted under
126
+ an OEM Redistribution add-on.
127
+
128
+ For clarity, restriction (g) is intended to prevent re-packaging or
129
+ re-offering the Software (in whole or in substantial part) as a competing
130
+ PDF SDK or service. It does not restrict Licensee from using the Software
131
+ inside its own application, product, or service that delivers
132
+ functionality beyond what the Software itself provides.
133
+
134
+ ----------------------------------------------------------------------------
135
+
136
+ 5. RESERVATION OF RIGHTS
137
+
138
+ The Software is licensed, not sold. Title, ownership, and all
139
+ intellectual property rights in and to the Software remain at all times
140
+ with PDFluent and its licensors. All rights not expressly granted under
141
+ this License are reserved by PDFluent.
142
+
143
+ Feedback, suggestions, or improvements that Licensee voluntarily provides
144
+ to PDFluent regarding the Software may be used by PDFluent without
145
+ restriction, without obligation of confidentiality, and without
146
+ compensation to Licensee.
147
+
148
+ ----------------------------------------------------------------------------
149
+
150
+ 6. THIRD-PARTY COMPONENTS
151
+
152
+ The Software may include or depend upon third-party components,
153
+ including upstream open-source crates from which certain PDFluent crates
154
+ are derived. Such components remain subject to their respective licenses,
155
+ which are reproduced in the THIRD_PARTY_LICENSES.txt file accompanying
156
+ the Software. Nothing in this License is intended to limit or override
157
+ any rights granted under those third-party licenses with respect to those
158
+ third-party components.
159
+
160
+ ----------------------------------------------------------------------------
161
+
162
+ 7. NO WARRANTY
163
+
164
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
165
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
166
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND
167
+ NON-INFRINGEMENT. PDFLUENT DOES NOT WARRANT THAT THE SOFTWARE WILL MEET
168
+ LICENSEE'S REQUIREMENTS, OPERATE WITHOUT INTERRUPTION, OR BE FREE OF
169
+ ERRORS OR DEFECTS.
170
+
171
+ ----------------------------------------------------------------------------
172
+
173
+ 8. LIMITATION OF LIABILITY
174
+
175
+ TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL
176
+ PDFLUENT OR ITS CONTRIBUTORS BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
177
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED
178
+ TO PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, LOSS OF USE, DATA, OR
179
+ PROFITS, OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
180
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
181
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
182
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
183
+
184
+ PDFLUENT'S TOTAL CUMULATIVE LIABILITY UNDER OR IN CONNECTION WITH THIS
185
+ LICENSE SHALL NOT EXCEED THE GREATER OF (i) THE FEES PAID BY LICENSEE TO
186
+ PDFLUENT UNDER THE APPLICABLE VALID LICENSE IN THE TWELVE (12) MONTHS
187
+ IMMEDIATELY PRECEDING THE EVENT GIVING RISE TO LIABILITY, OR (ii) ONE
188
+ HUNDRED EUROS (€100).
189
+
190
+ ----------------------------------------------------------------------------
191
+
192
+ 9. TERMINATION
193
+
194
+ This License is effective until terminated. This License terminates
195
+ automatically and without notice if Licensee fails to comply with any
196
+ term of this License. Upon termination, Licensee shall cease all use of
197
+ the Software, destroy all copies in its possession or control, and, on
198
+ request, certify such destruction in writing to PDFluent.
199
+
200
+ Sections 4 (Restrictions), 5 (Reservation of Rights), 7 (No Warranty),
201
+ 8 (Limitation of Liability), 10 (Governing Law), and 11 (Entire
202
+ Agreement) survive any termination of this License.
203
+
204
+ ----------------------------------------------------------------------------
205
+
206
+ 10. GOVERNING LAW AND JURISDICTION
207
+
208
+ This License shall be governed by and construed in accordance with the
209
+ laws of the Netherlands, excluding its conflict-of-laws provisions and
210
+ the United Nations Convention on Contracts for the International Sale
211
+ of Goods. The courts of Amsterdam, the Netherlands, shall have
212
+ exclusive jurisdiction over any dispute arising from or in connection
213
+ with this License, except that PDFluent may seek injunctive relief in
214
+ any court of competent jurisdiction to protect its intellectual
215
+ property rights.
216
+
217
+ ----------------------------------------------------------------------------
218
+
219
+ 11. ENTIRE AGREEMENT
220
+
221
+ This License, together with any Valid License terms and any commercial
222
+ terms expressly incorporated by reference, constitutes the entire
223
+ agreement between Licensee and PDFluent with respect to the Software
224
+ and supersedes all prior or contemporaneous communications,
225
+ representations, or agreements, whether oral or written. No
226
+ modification or amendment of this License shall be effective unless in
227
+ writing and signed by an authorized representative of PDFluent.
228
+
229
+ ----------------------------------------------------------------------------
230
+
231
+ CONTACT
232
+
233
+ Innovation Trigger BV
234
+ Operating as PDFluent
235
+ Email: hello@pdfluent.com
236
+ Web: https://pdfluent.com
237
+
238
+ For commercial terms, pricing, evaluation policies, trial keys, and OEM
239
+ licensing options, visit https://pdfluent.com/pricing.
240
+
241
+ ----------------------------------------------------------------------------
242
+
243
+ NOTE ON HISTORICAL VERSIONS
244
+
245
+ Versions of PDFluent crates published to crates.io prior to 2026-05-02
246
+ under the MIT license remain available under the MIT license. This License
247
+ applies to versions published on or after that date that reference this
248
+ LICENSE file in their Cargo manifest. See CHANGELOG.md for the version
249
+ boundary.
@@ -0,0 +1,362 @@
1
+ Metadata-Version: 2.4
2
+ Name: pdfluent
3
+ Version: 1.0.0b17.post4
4
+ Classifier: Development Status :: 4 - Beta
5
+ Classifier: Intended Audience :: Developers
6
+ Classifier: License :: Other/Proprietary License
7
+ Classifier: Operating System :: OS Independent
8
+ Classifier: Programming Language :: Rust
9
+ Classifier: Programming Language :: Python :: Implementation :: CPython
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.8
12
+ Classifier: Programming Language :: Python :: 3.9
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
18
+ Classifier: Topic :: Multimedia :: Graphics
19
+ Classifier: Topic :: Office/Business
20
+ Classifier: Topic :: Text Processing
21
+ Requires-Dist: numpy ; extra == 'numpy'
22
+ Requires-Dist: pillow ; extra == 'pillow'
23
+ Requires-Dist: pytest>=7.0 ; extra == 'test'
24
+ Provides-Extra: numpy
25
+ Provides-Extra: pillow
26
+ Provides-Extra: test
27
+ License-File: LICENSE
28
+ Summary: Enterprise PDF SDK — find and replace PDF text while preserving fonts and layout, plus render, extract, annotate, sign, and validate PDFs. Pure Rust, zero system dependencies.
29
+ Keywords: pdf-text-replace,find-and-replace,edit-pdf-text,pdf,xfa,acroform,render,text-extraction,forms,pdf-a,annotations,redaction,rust,pdfluent
30
+ Author-email: Innovation Trigger BV <team@pdfluent.com>
31
+ License: PDFluent Commercial License
32
+ Requires-Python: >=3.8
33
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
34
+ Project-URL: Bug Tracker, https://pdfluent.com/support
35
+ Project-URL: Documentation, https://pdfluent.com/docs
36
+ Project-URL: Homepage, https://pdfluent.com
37
+ Project-URL: Repository, https://github.com/pdfluent/pdfluent-sdk
38
+
39
+ # pdfluent
40
+
41
+ **Enterprise PDF SDK for Python — built on a pure-Rust stack, zero system dependencies.**
42
+
43
+ Render pages, extract text, fill forms, annotate, redact, encrypt, merge, and validate PDF/A — all from a single `pip install`.
44
+
45
+ ## Installation
46
+
47
+ ```bash
48
+ pip install pdfluent
49
+
50
+ # Optional extras
51
+ pip install pdfluent[pillow] # PIL Image support
52
+ pip install pdfluent[numpy] # NumPy array support
53
+ ```
54
+
55
+ > Requires Python ≥ 3.8. Pre-built wheels for Linux (x86_64, aarch64), macOS (x86_64, arm64), and Windows (x86_64).
56
+
57
+ ## Quick Start
58
+
59
+ ```python
60
+ from pdfluent import Document
61
+
62
+ # Open, inspect, render
63
+ with Document("invoice.pdf") as doc:
64
+ print(f"{doc.page_count} pages — {doc.metadata.title}")
65
+
66
+ img = doc[0].render(dpi=150)
67
+ img.save("page_0.png") # requires Pillow
68
+
69
+ # Extract text
70
+ doc = Document("report.pdf")
71
+ for page in doc:
72
+ print(page.extract_text())
73
+
74
+ # Fill a form field and save
75
+ doc = Document("form.pdf")
76
+ doc.set_form_field("Name", "Jane Doe")
77
+ # Multi-select list box: select several options at once
78
+ doc.set_multi_select("Languages", ["EN", "NL"])
79
+ doc.save("form_filled.pdf")
80
+
81
+ # Search-and-redact
82
+ doc = Document("contract.pdf")
83
+ report = doc.redact_text("Confidential")
84
+ print(f"Redacted {report.areas_redacted} areas on {report.pages_affected} pages")
85
+ doc.save("contract_redacted.pdf")
86
+
87
+ # PDF/A validation
88
+ from pdfluent import validate_pdfa
89
+
90
+ report = validate_pdfa("archive.pdf")
91
+ if report.is_compliant:
92
+ print(f"✓ {report.pdfa_level} compliant")
93
+ else:
94
+ for issue in report.issues:
95
+ print(f"[{issue.severity}] {issue.rule}: {issue.message}")
96
+
97
+ # Merge PDFs
98
+ from pdfluent import merge_pdfs
99
+ merge_pdfs(["a.pdf", "b.pdf", "c.pdf"], "merged.pdf")
100
+
101
+ # Encrypt / decrypt
102
+ doc = Document("sensitive.pdf")
103
+ doc.encrypt("sensitive_enc.pdf", password="s3cr3t")
104
+
105
+ from pdfluent import decrypt_pdf
106
+ decrypt_pdf("sensitive_enc.pdf", "sensitive_dec.pdf", password="s3cr3t")
107
+ ```
108
+
109
+ ## Features
110
+
111
+ | Feature | Description |
112
+ |---|---|
113
+ | **Render** | Pages to RGBA pixels, PIL Images, or NumPy arrays at any DPI |
114
+ | **Text extraction** | Plain text or structured `TextBlock`/`TextSpan` with position |
115
+ | **Text search** | Find pages containing a query string |
116
+ | **Forms (AcroForm)** | Read and fill text, checkbox, radio, combo/list fields; **multi-select list boxes** (`set_multi_select`); hierarchical names; appearance-stream regeneration |
117
+ | **Annotations** | Read existing annotations; add highlights and free-text notes |
118
+ | **Redaction** | Search-and-redact: black-box all occurrences of a string |
119
+ | **Encryption** | AES-256 (PDF 2.0) encrypt/decrypt with user + owner passwords |
120
+ | **Merge / split** | Merge multiple PDFs; split into individual pages (via page slicing) |
121
+ | **PDF/A validation** | Validate against PDF/A-1B, 2B, 3B with issue-level reporting |
122
+ | **Metadata** | Read title, author, subject, keywords, creator, producer |
123
+ | **Bookmarks** | Traverse the document outline tree |
124
+ | **Thumbnails** | Fast downscaled preview images |
125
+
126
+ ## API Overview
127
+
128
+ ### `Document(source, password=None)`
129
+
130
+ Opens a PDF from a file path (`str`) or raw bytes.
131
+
132
+ ```python
133
+ doc = Document("file.pdf") # from path
134
+ doc = Document(open("file.pdf","rb").read()) # from bytes
135
+ doc = Document("encrypted.pdf", password="pw")
136
+ ```
137
+
138
+ **Properties:** `page_count`, `metadata`, `bookmarks`
139
+ **Methods:** `render_all(dpi)`, `search(query)`, `extract_text(page_num)`, `save(path)`,
140
+ `get_form_fields()`, `set_form_field(name, value)`, `get_annotations(page)`,
141
+ `add_annotation(page, type, rect, content)`, `redact_text(term, page=None)`,
142
+ `encrypt(path, password)`, `decrypt(path, password)`
143
+ **Protocols:** `len(doc)`, `doc[0]`, `for page in doc`, `with Document(...) as doc`
144
+
145
+ #### AcroForm fill behaviour
146
+
147
+ `set_form_field(name, value)` supports text, checkbox, radio, and choice
148
+ (combo/list) fields. Hierarchical names (`"parent.child"`) are resolved
149
+ through `/Kids` recursion. Every call keeps `/V`, `/AS`, and `/AP` consistent
150
+ so the fill is visible in all PDF viewers without needing `/NeedAppearances`
151
+ processing.
152
+
153
+ ```python
154
+ doc.set_form_field("Name", "Jane Doe") # text field
155
+ doc.set_form_field("Agree", "On") # checkbox — pass on-state name
156
+ doc.set_form_field("Country", "NL") # radio group — export value
157
+ doc.set_form_field("Category", "Urgent") # combo / list — option value
158
+ doc.save("form_filled.pdf")
159
+ ```
160
+
161
+ Read-only fields raise `PdfluentError`.
162
+
163
+ ### `Page`
164
+
165
+ **Properties:** `index`, `width`, `height`, `rotation`, `geometry`
166
+ **Methods:** `render(dpi, width, height, background)`, `thumbnail(max_dimension)`,
167
+ `extract_text()`, `extract_text_blocks()`
168
+
169
+ ### `RenderedImage`
170
+
171
+ **Properties:** `width`, `height`, `pixels` (raw RGBA bytes)
172
+ **Methods:** `to_pil()`, `to_numpy()`, `save(path)`
173
+
174
+ ### `TextSpan`
175
+
176
+ Structured text with position data.
177
+
178
+ **Properties:** `text`, `x`, `y`, `font_size`
179
+ **G1 font-metadata (Optional):** `font_name`, `is_bold`, `is_italic`, `color`
180
+
181
+ > G1 fields return `None` in the current release. They are typed as `Optional`
182
+ > so downstream code handles the `None` case correctly today and will
183
+ > automatically receive data once the G1 extraction milestone lands.
184
+
185
+ ```python
186
+ for block in page.extract_text_blocks():
187
+ for span in block.spans:
188
+ if span.font_name is not None:
189
+ print(f"{span.font_name} {'bold' if span.is_bold else ''}")
190
+ print(f" '{span.text}' @ ({span.x:.1f}, {span.y:.1f})")
191
+ ```
192
+
193
+ ### Module-level functions
194
+
195
+ | Function | Description |
196
+ |---|---|
197
+ | `open_pdf(path, password=None)` | Alias for `Document(path)` |
198
+ | `merge_pdfs(paths, output)` | Merge a list of PDFs |
199
+ | `validate_pdfa(path)` → `ComplianceReport` | Run PDF/A validation |
200
+ | `decrypt_pdf(input, output, password)` | Decrypt to a new file |
201
+
202
+ ## Exception Hierarchy
203
+
204
+ Every pdfluent-specific error derives from `PdfluentError`, so a single
205
+ `except PdfluentError:` clause catches all library errors:
206
+
207
+ ```python
208
+ from pdfluent import PdfluentError, PdfluentParseError, PdfluentEncryptedError
209
+
210
+ try:
211
+ with Document("broken.pdf") as doc:
212
+ doc.render_all()
213
+ except PdfluentParseError as exc:
214
+ print(f"Not a valid PDF: {exc}")
215
+ except PdfluentEncryptedError:
216
+ print("PDF is password-protected")
217
+ except PdfluentError as exc:
218
+ print(f"PDF error: {exc}")
219
+ ```
220
+
221
+ Full hierarchy:
222
+
223
+ ```
224
+ PdfluentError — base; catch all pdfluent errors
225
+ ├── PdfluentParseError — corrupt / non-PDF bytes
226
+ ├── PdfluentValidationError — schema / compliance failures
227
+ ├── PdfluentRenderError — rendering and XFA flatten failures
228
+ ├── PdfluentEncryptedError — operation blocked by encryption
229
+ ├── PdfluentPageRangeError — page index out of range
230
+ ├── PdfluentIoError — file-system I/O errors
231
+ ├── PdfluentLicenseError — invalid / expired license
232
+ ├── PdfluentGeometryError — invalid page geometry
233
+ └── PdfluentLimitError — processing-limit exceeded
234
+ ```
235
+
236
+ ## Typing Support
237
+
238
+ pdfluent ships with hand-written `.pyi` stub files for IDE completion and
239
+ `mypy --strict` compatibility:
240
+
241
+ - `pdfluent/__init__.pyi` — full public API stubs
242
+ - `pdfluent/_native.pyi` — native extension stubs (for mypy without a build)
243
+
244
+ ### Verifying with mypy
245
+
246
+ ```bash
247
+ pip install mypy
248
+ cd crates/pdf-python
249
+ mypy --strict --python-path python tests/test_pdfluent_typing.py
250
+ ```
251
+
252
+ ### Example with typed annotations
253
+
254
+ ```python
255
+ from __future__ import annotations
256
+ from typing import Optional
257
+ from pdfluent import Document, TextSpan, PdfluentError
258
+
259
+ def get_font(span: TextSpan) -> Optional[str]:
260
+ """Return the font name if available."""
261
+ return span.font_name # Optional[str] — mypy knows this may be None
262
+
263
+ def safe_open(path: str) -> Optional[Document]:
264
+ try:
265
+ return Document(path)
266
+ except PdfluentError:
267
+ return None
268
+ ```
269
+
270
+ ## License Activation
271
+
272
+ ```python
273
+ from pdfluent import activate_license, LicenseInfo, PdfluentLicenseError
274
+
275
+ # Activate from a JSON license string or base64-encoded key
276
+ try:
277
+ info: LicenseInfo = activate_license(open("my.license").read())
278
+ print(f"{info.tier} license for {info.company} ({info.seats} seats)")
279
+ except PdfluentLicenseError as exc:
280
+ print(f"License error: {exc}")
281
+
282
+ # Or set the environment variable and call with empty string:
283
+ # PDFLUENT_LICENSE_KEY="<base64-key>" python myscript.py
284
+ info = activate_license("") # reads PDFLUENT_LICENSE_KEY from env
285
+ ```
286
+
287
+ `LicenseInfo` fields: `licensee`, `company`, `tier`, `expires_at` (Unix timestamp), `seats`.
288
+
289
+ ## Comparison
290
+
291
+ | | pdfluent | pypdf | pdfminer | pdfplumber | pikepdf |
292
+ |---|---|---|---|---|---|
293
+ | Rendering | ✓ | – | – | ✓ (via pdfminer) | – |
294
+ | Text extraction | ✓ | ✓ | ✓ | ✓ | – |
295
+ | Form fill | ✓ | ✓ | – | – | ✓ |
296
+ | Redaction | ✓ | – | – | – | ✓ |
297
+ | Encryption | ✓ (AES-256) | ✓ | – | – | ✓ |
298
+ | PDF/A validation | ✓ | – | – | – | – |
299
+ | Typed stubs | ✓ | partial | – | – | – |
300
+ | Native deps | **none** | none | none | none | libqpdf |
301
+ | Language | **Rust** | Python | Python | Python | C++ |
302
+
303
+ ## License Activation
304
+
305
+ The SDK runs in Trial mode by default; output is marked via `/Producer`
306
+ metadata. Activate a license to unlock the paid-tier capability set.
307
+
308
+ ```python
309
+ import pdfluent
310
+
311
+ # Activate from a key string
312
+ pdfluent.activate_license_key("tier:enterprise")
313
+
314
+ # Or read the key from a UTF-8 text file
315
+ pdfluent.activate_license_file("/path/to/key.lic")
316
+
317
+ # Inspect the current status (always succeeds; defaults to Trial)
318
+ status = pdfluent.license_status()
319
+ print(status.tier) # "Enterprise"
320
+ print(status.source) # "Explicit" | "EnvVar" | "Default"
321
+ print(status.output_is_marked) # False
322
+ ```
323
+
324
+ The `PDFLUENT_LICENSE_KEY` environment variable is honoured automatically
325
+ on process start when no explicit activation has happened.
326
+
327
+ **Behavior to be aware of:**
328
+
329
+ - The active tier is **process-global and set-once**. Re-activating with the
330
+ same key is a no-op. Re-activating with a different tier raises
331
+ `RuntimeError`; restart Python to switch tiers.
332
+ - Invalid keys raise `ValueError`; missing license files raise `OSError`.
333
+ - The key string is never logged or stored beyond the call to
334
+ `activate_license_key`.
335
+
336
+ The 1.0 release accepts the simple evaluation format `tier:<name>`
337
+ (`trial`/`developer`/`team`/`business`/`enterprise`). Cryptographically
338
+ signed payloads will be accepted by the same functions in 1.1 without
339
+ breaking the API.
340
+
341
+ ## Building from Source
342
+
343
+ Requires a Rust toolchain and `maturin`.
344
+
345
+ ```bash
346
+ pip install maturin
347
+ cd crates/pdf-python
348
+ maturin develop --release # install in current venv
349
+ maturin build --release # build wheel in ./dist/
350
+ ```
351
+
352
+ ## License
353
+
354
+ PDFluent Commercial License. See LICENSE.
355
+
356
+ ## Links
357
+
358
+ - **Documentation:** <https://pdfluent.com/docs>
359
+ - **Pricing:** <https://pdfluent.com/pricing>
360
+ - **PDFluent editor** (source-available): <https://github.com/pdfluent/pdfluent>. The free desktop app this SDK powers.
361
+ - Built by [Innovation Trigger BV](https://pdfluent.com)
362
+