@pdfme/pdf-lib 6.0.3-dev.0 → 6.0.4-dev.1

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 (449) hide show
  1. package/{src/api/Embeddable.ts → dist/api/Embeddable.d.ts} +1 -1
  2. package/dist/api/PDFDocument.d.ts +778 -0
  3. package/dist/api/PDFDocumentOptions.d.ts +38 -0
  4. package/dist/api/PDFEmbeddedFile.d.ts +38 -0
  5. package/dist/api/PDFEmbeddedPage.d.ts +73 -0
  6. package/dist/api/PDFFont.d.ts +94 -0
  7. package/dist/api/PDFImage.d.ts +95 -0
  8. package/dist/api/PDFJavaScript.d.ts +38 -0
  9. package/dist/api/PDFPage.d.ts +910 -0
  10. package/dist/api/PDFPageOptions.d.ts +172 -0
  11. package/dist/api/StandardFonts.d.ts +16 -0
  12. package/dist/api/colors.d.ts +34 -0
  13. package/dist/api/errors.d.ts +42 -0
  14. package/dist/api/form/PDFButton.d.ts +137 -0
  15. package/dist/api/form/PDFCheckBox.d.ts +142 -0
  16. package/dist/api/form/PDFDropdown.d.ts +402 -0
  17. package/dist/api/form/PDFField.d.ts +203 -0
  18. package/dist/api/form/PDFForm.d.ts +411 -0
  19. package/dist/api/form/PDFOptionList.d.ts +335 -0
  20. package/dist/api/form/PDFRadioGroup.d.ts +252 -0
  21. package/dist/api/form/PDFSignature.d.ts +29 -0
  22. package/dist/api/form/PDFTextField.d.ts +537 -0
  23. package/dist/api/form/appearances.d.ts +41 -0
  24. package/dist/api/image/alignment.d.ts +5 -0
  25. package/dist/api/objects.d.ts +4 -0
  26. package/dist/api/operations.d.ts +226 -0
  27. package/dist/api/operators.d.ts +90 -0
  28. package/dist/api/rotations.d.ts +38 -0
  29. package/dist/api/sizes.d.ts +52 -0
  30. package/dist/api/svg.d.ts +70 -0
  31. package/dist/api/svgPath.d.ts +2 -0
  32. package/dist/api/text/alignment.d.ts +5 -0
  33. package/dist/api/text/layout.d.ts +54 -0
  34. package/dist/core/PDFContext.d.ts +84 -0
  35. package/dist/core/PDFObjectCopier.d.ts +37 -0
  36. package/dist/core/acroform/PDFAcroButton.d.ts +21 -0
  37. package/dist/core/acroform/PDFAcroCheckBox.d.ts +13 -0
  38. package/dist/core/acroform/PDFAcroChoice.d.ts +20 -0
  39. package/dist/core/acroform/PDFAcroComboBox.d.ts +9 -0
  40. package/dist/core/acroform/PDFAcroField.d.ts +36 -0
  41. package/dist/core/acroform/PDFAcroForm.d.ts +20 -0
  42. package/dist/core/acroform/PDFAcroListBox.d.ts +9 -0
  43. package/dist/core/acroform/PDFAcroNonTerminal.d.ts +13 -0
  44. package/dist/core/acroform/PDFAcroPushButton.d.ts +9 -0
  45. package/dist/core/acroform/PDFAcroRadioButton.d.ts +13 -0
  46. package/{src/core/acroform/PDFAcroSignature.ts → dist/core/acroform/PDFAcroSignature.d.ts} +2 -4
  47. package/dist/core/acroform/PDFAcroTerminal.d.ts +16 -0
  48. package/dist/core/acroform/PDFAcroText.d.ts +22 -0
  49. package/dist/core/acroform/flags.d.ts +141 -0
  50. package/dist/core/acroform/utils.d.ts +6 -0
  51. package/dist/core/annotation/AppearanceCharacteristics.d.ts +33 -0
  52. package/dist/core/annotation/BorderStyle.d.ts +11 -0
  53. package/dist/core/annotation/PDFAnnotation.d.ts +51 -0
  54. package/dist/core/annotation/PDFWidgetAnnotation.d.ts +26 -0
  55. package/dist/core/annotation/flags.d.ts +79 -0
  56. package/dist/core/crypto.d.ts +95 -0
  57. package/dist/core/document/PDFCrossRefSection.d.ts +27 -0
  58. package/dist/core/document/PDFHeader.d.ts +10 -0
  59. package/dist/core/document/PDFTrailer.d.ts +9 -0
  60. package/dist/core/document/PDFTrailerDict.d.ts +10 -0
  61. package/dist/core/embedders/CMap.d.ts +3 -0
  62. package/dist/core/embedders/CustomFontEmbedder.d.ts +44 -0
  63. package/dist/core/embedders/CustomFontSubsetEmbedder.d.ts +20 -0
  64. package/dist/core/embedders/FileEmbedder.d.ts +33 -0
  65. package/dist/core/embedders/FontFlags.d.ts +13 -0
  66. package/dist/core/embedders/JavaScriptEmbedder.d.ts +10 -0
  67. package/dist/core/embedders/JpegEmbedder.d.ts +23 -0
  68. package/dist/core/embedders/PDFPageEmbedder.d.ts +37 -0
  69. package/dist/core/embedders/PngEmbedder.d.ts +19 -0
  70. package/dist/core/embedders/StandardFontEmbedder.d.ts +36 -0
  71. package/dist/core/errors.d.ts +94 -0
  72. package/{src/core/index.ts → dist/core/index.d.ts} +1 -17
  73. package/dist/core/interactive/ViewerPreferences.d.ts +347 -0
  74. package/dist/core/objects/PDFArray.d.ts +63 -0
  75. package/dist/core/objects/PDFBool.d.ts +13 -0
  76. package/dist/core/objects/PDFDict.d.ts +62 -0
  77. package/dist/core/objects/PDFHexString.d.ts +16 -0
  78. package/dist/core/objects/PDFInvalidObject.d.ts +11 -0
  79. package/dist/core/objects/PDFName.d.ts +41 -0
  80. package/dist/core/objects/PDFNull.d.ts +10 -0
  81. package/dist/core/objects/PDFNumber.d.ts +15 -0
  82. package/dist/core/objects/PDFObject.d.ts +8 -0
  83. package/dist/core/objects/PDFRawStream.d.ts +16 -0
  84. package/dist/core/objects/PDFRef.d.ts +13 -0
  85. package/dist/core/objects/PDFStream.d.ts +16 -0
  86. package/dist/core/objects/PDFString.d.ts +16 -0
  87. package/dist/core/operators/PDFOperator.d.ts +19 -0
  88. package/dist/core/operators/PDFOperatorNames.d.ts +76 -0
  89. package/dist/core/parser/BaseParser.d.ts +14 -0
  90. package/dist/core/parser/ByteStream.d.ts +26 -0
  91. package/dist/core/parser/PDFObjectParser.d.ts +31 -0
  92. package/dist/core/parser/PDFObjectStreamParser.d.ts +13 -0
  93. package/dist/core/parser/PDFParser.d.ts +46 -0
  94. package/dist/core/parser/PDFXRefStreamParser.d.ts +21 -0
  95. package/dist/core/streams/Ascii85Stream.d.ts +9 -0
  96. package/dist/core/streams/AsciiHexStream.d.ts +9 -0
  97. package/dist/core/streams/DecodeStream.d.ts +26 -0
  98. package/dist/core/streams/DecryptStream.d.ts +12 -0
  99. package/dist/core/streams/FlateStream.d.ts +13 -0
  100. package/dist/core/streams/LZWStream.d.ts +12 -0
  101. package/dist/core/streams/RunLengthStream.d.ts +8 -0
  102. package/dist/core/streams/Stream.d.ts +34 -0
  103. package/dist/core/streams/decode.d.ts +3 -0
  104. package/dist/core/structures/PDFCatalog.d.ts +27 -0
  105. package/dist/core/structures/PDFContentStream.d.ts +15 -0
  106. package/dist/core/structures/PDFCrossRefStream.d.ts +53 -0
  107. package/dist/core/structures/PDFFlateStream.d.ts +13 -0
  108. package/dist/core/structures/PDFObjectStream.d.ts +20 -0
  109. package/dist/core/structures/PDFPageLeaf.d.ts +54 -0
  110. package/dist/core/structures/PDFPageTree.d.ts +41 -0
  111. package/dist/core/syntax/CharCodes.d.ts +61 -0
  112. package/dist/core/syntax/Delimiters.d.ts +1 -0
  113. package/dist/core/syntax/Irregular.d.ts +1 -0
  114. package/dist/core/syntax/Keywords.d.ts +22 -0
  115. package/dist/core/syntax/Numeric.d.ts +3 -0
  116. package/dist/core/syntax/Whitespace.d.ts +1 -0
  117. package/dist/core/writers/PDFStreamWriter.d.ts +19 -0
  118. package/dist/core/writers/PDFWriter.d.ts +29 -0
  119. package/dist/index.js +19124 -0
  120. package/dist/index.js.map +1 -0
  121. package/dist/types/fontkit.d.ts +597 -0
  122. package/{src/types/index.ts → dist/types/index.d.ts} +8 -13
  123. package/{src/types/matrix.ts → dist/types/matrix.d.ts} +1 -2
  124. package/dist/utils/Cache.d.ts +10 -0
  125. package/dist/utils/arrays.d.ts +16 -0
  126. package/dist/utils/async.d.ts +5 -0
  127. package/dist/utils/base64.d.ts +10 -0
  128. package/dist/utils/elements/Arc.d.ts +22 -0
  129. package/dist/utils/elements/Circle.d.ts +14 -0
  130. package/dist/utils/elements/Ellipse.d.ts +20 -0
  131. package/dist/utils/elements/GraphElement.d.ts +6 -0
  132. package/dist/utils/elements/Line.d.ts +23 -0
  133. package/dist/utils/elements/Plot.d.ts +11 -0
  134. package/dist/utils/elements/Point.d.ts +18 -0
  135. package/dist/utils/elements/Rectangle.d.ts +21 -0
  136. package/dist/utils/elements/Segment.d.ts +19 -0
  137. package/dist/utils/errors.d.ts +1 -0
  138. package/dist/utils/intersections.d.ts +9 -0
  139. package/dist/utils/maths.d.ts +45 -0
  140. package/dist/utils/numbers.d.ts +23 -0
  141. package/dist/utils/objects.d.ts +15 -0
  142. package/dist/utils/pdfDocEncoding.d.ts +7 -0
  143. package/dist/utils/png.d.ts +17 -0
  144. package/dist/utils/rng.d.ts +13 -0
  145. package/dist/utils/strings.d.ts +25 -0
  146. package/{src/utils/unicode.ts → dist/utils/unicode.d.ts} +8 -195
  147. package/dist/utils/validators.d.ts +26 -0
  148. package/package.json +6 -1
  149. package/__tests__/api/PDFDocument.spec.ts +0 -576
  150. package/__tests__/api/PDFImage.spec.ts +0 -60
  151. package/__tests__/api/PDFPage.spec.ts +0 -151
  152. package/__tests__/api/form/PDFCheckBox.spec.ts +0 -71
  153. package/__tests__/api/form/PDFDropdown.spec.ts +0 -118
  154. package/__tests__/api/form/PDFForm.spec.ts +0 -370
  155. package/__tests__/api/form/PDFOptionList.spec.ts +0 -104
  156. package/__tests__/api/form/PDFRadioGroup.spec.ts +0 -183
  157. package/__tests__/api/form/PDFTextField.spec.ts +0 -148
  158. package/__tests__/api/svgPath.spec.ts +0 -153
  159. package/__tests__/api/text/layout.spec.ts +0 -166
  160. package/__tests__/core/PDFContext.spec.ts +0 -194
  161. package/__tests__/core/PDFObjectCopier.spec.ts +0 -421
  162. package/__tests__/core/acroform/PDFAcroField.spec.ts +0 -98
  163. package/__tests__/core/acroform/PDFAcroTerminal.spec.ts +0 -39
  164. package/__tests__/core/annotation/PDFWidgetAnnotation.spec.ts +0 -40
  165. package/__tests__/core/document/PDFCrossRefSection.spec.ts +0 -88
  166. package/__tests__/core/document/PDFHeader.spec.ts +0 -22
  167. package/__tests__/core/document/PDFTrailer.spec.ts +0 -28
  168. package/__tests__/core/document/PDFTrailerDict.spec.ts +0 -24
  169. package/__tests__/core/embedders/CMap.spec.ts +0 -47
  170. package/__tests__/core/embedders/CustomFontEmbedder.spec.ts +0 -96
  171. package/__tests__/core/embedders/CustomFontSubsetEmbedder.spec.ts +0 -62
  172. package/__tests__/core/embedders/FileEmbedder.spec.ts +0 -54
  173. package/__tests__/core/embedders/JpegEmbedder.spec.ts +0 -67
  174. package/__tests__/core/embedders/PDFPageEmbedder.spec.ts +0 -65
  175. package/__tests__/core/embedders/PngEmbedder.spec.ts +0 -87
  176. package/__tests__/core/embedders/StandardFontEmbedder.spec.ts +0 -79
  177. package/__tests__/core/embedders/data/SourceHanSerifJP-Regular.otf.cmap +0 -16096
  178. package/__tests__/core/embedders/data/Ubuntu-R.ttf.cmap +0 -1211
  179. package/__tests__/core/objects/PDFArray.spec.ts +0 -134
  180. package/__tests__/core/objects/PDFBool.spec.ts +0 -42
  181. package/__tests__/core/objects/PDFDict.spec.ts +0 -195
  182. package/__tests__/core/objects/PDFHexString.spec.ts +0 -168
  183. package/__tests__/core/objects/PDFInvalidObject.spec.ts +0 -32
  184. package/__tests__/core/objects/PDFName.spec.ts +0 -122
  185. package/__tests__/core/objects/PDFNull.spec.ts +0 -30
  186. package/__tests__/core/objects/PDFNumber.spec.ts +0 -50
  187. package/__tests__/core/objects/PDFObject.spec.ts +0 -29
  188. package/__tests__/core/objects/PDFRawStream.spec.ts +0 -45
  189. package/__tests__/core/objects/PDFRef.spec.ts +0 -60
  190. package/__tests__/core/objects/PDFString.spec.ts +0 -237
  191. package/__tests__/core/operators/PDFOperator.spec.ts +0 -77
  192. package/__tests__/core/parser/PDFObjectParser.spec.ts +0 -730
  193. package/__tests__/core/parser/PDFObjectStreamParser.spec.ts +0 -158
  194. package/__tests__/core/parser/PDFParser.spec.ts +0 -398
  195. package/__tests__/core/parser/PDFXRefStreamParser.spec.ts +0 -187
  196. package/__tests__/core/parser/data/object-stream-invalid +0 -2
  197. package/__tests__/core/parser/data/object-stream1 +0 -16
  198. package/__tests__/core/parser/data/object-stream2 +0 -10
  199. package/__tests__/core/parser/data/object-stream3 +0 -0
  200. package/__tests__/core/parser/data/object-stream4 +0 -0
  201. package/__tests__/core/parser/data/xref-stream1 +0 -0
  202. package/__tests__/core/parser/data/xref-stream2 +0 -0
  203. package/__tests__/core/parser/data/xref-stream3 +0 -0
  204. package/__tests__/core/parser/data/xref-stream4 +0 -0
  205. package/__tests__/core/streams/Ascii85Stream.spec.ts +0 -20
  206. package/__tests__/core/streams/AsciiHexStream.spec.ts +0 -20
  207. package/__tests__/core/streams/FlateStream.spec.ts +0 -20
  208. package/__tests__/core/streams/LZWStream.spec.ts +0 -20
  209. package/__tests__/core/streams/RunLengthStream.spec.ts +0 -20
  210. package/__tests__/core/streams/Stream.spec.ts +0 -128
  211. package/__tests__/core/streams/data/ascii85/1.decoded +0 -0
  212. package/__tests__/core/streams/data/ascii85/1.encoded +0 -43
  213. package/__tests__/core/streams/data/asciihex/1.decoded +0 -1
  214. package/__tests__/core/streams/data/asciihex/1.encoded +0 -1
  215. package/__tests__/core/streams/data/asciihex/2.decoded +0 -7
  216. package/__tests__/core/streams/data/asciihex/2.encoded +0 -1
  217. package/__tests__/core/streams/data/flate/1.corrupt.encoded +0 -1
  218. package/__tests__/core/streams/data/flate/1.decoded +0 -0
  219. package/__tests__/core/streams/data/flate/1.encoded +0 -2
  220. package/__tests__/core/streams/data/flate/2.decoded +0 -33
  221. package/__tests__/core/streams/data/flate/2.encoded +0 -0
  222. package/__tests__/core/streams/data/flate/3.decoded +0 -15
  223. package/__tests__/core/streams/data/flate/3.encoded +0 -0
  224. package/__tests__/core/streams/data/flate/4.decoded +0 -16
  225. package/__tests__/core/streams/data/flate/4.encoded +0 -0
  226. package/__tests__/core/streams/data/flate/5.decoded +0 -0
  227. package/__tests__/core/streams/data/flate/5.encoded +0 -0
  228. package/__tests__/core/streams/data/flate/6.decoded +0 -17
  229. package/__tests__/core/streams/data/flate/6.encoded +0 -0
  230. package/__tests__/core/streams/data/flate/7.decoded +0 -20
  231. package/__tests__/core/streams/data/flate/7.encoded +0 -1
  232. package/__tests__/core/streams/data/lzw/1.decoded +0 -0
  233. package/__tests__/core/streams/data/lzw/1.encoded +0 -0
  234. package/__tests__/core/streams/data/lzw/2.decoded +0 -0
  235. package/__tests__/core/streams/data/lzw/2.encoded +0 -0
  236. package/__tests__/core/streams/data/lzw/3.decoded +0 -14
  237. package/__tests__/core/streams/data/lzw/3.encoded +0 -2
  238. package/__tests__/core/streams/data/lzw/4.decoded +0 -14
  239. package/__tests__/core/streams/data/lzw/4.encoded +0 -2
  240. package/__tests__/core/streams/data/runlength/1.decoded +0 -1
  241. package/__tests__/core/streams/data/runlength/1.encoded +0 -1
  242. package/__tests__/core/streams/data/runlength/2.decoded +0 -1
  243. package/__tests__/core/streams/data/runlength/2.encoded +0 -1
  244. package/__tests__/core/streams/data/runlength/3.decoded +0 -0
  245. package/__tests__/core/streams/data/runlength/3.encoded +0 -0
  246. package/__tests__/core/streams/data/runlength/4.decoded +0 -1
  247. package/__tests__/core/streams/data/runlength/4.encoded +0 -1
  248. package/__tests__/core/streams/data/runlength/5.decoded +0 -1
  249. package/__tests__/core/streams/data/runlength/5.encoded +0 -1
  250. package/__tests__/core/streams/data/runlength/empty.encoded +0 -1
  251. package/__tests__/core/structures/PDFCatalog.spec.ts +0 -108
  252. package/__tests__/core/structures/PDFContentStream.spec.ts +0 -117
  253. package/__tests__/core/structures/PDFCrossRefStream.spec.ts +0 -145
  254. package/__tests__/core/structures/PDFObjectStream.spec.ts +0 -138
  255. package/__tests__/core/structures/PDFPageLeaf.spec.ts +0 -355
  256. package/__tests__/core/structures/PDFPageTree.spec.ts +0 -592
  257. package/__tests__/core/writers/PDFStreamWriter.spec.ts +0 -71
  258. package/__tests__/core/writers/PDFWriter.spec.ts +0 -144
  259. package/__tests__/core/writers/data/stream-writer-1.pdf +0 -0
  260. package/__tests__/index.test.ts +0 -12
  261. package/__tests__/utils/base64.spec.ts +0 -61
  262. package/__tests__/utils/data/simple.pdf +0 -201
  263. package/__tests__/utils/data/simple.pdf.base64 +0 -1
  264. package/__tests__/utils/pdfDocEncoding.spec.ts +0 -82
  265. package/__tests__/utils/png.spec.ts +0 -53
  266. package/__tests__/utils/rng.spec.ts +0 -14
  267. package/__tests__/utils/strings.spec.ts +0 -98
  268. package/__tests__/utils/unicode.spec.ts +0 -337
  269. package/assets/fonts/source_hans_jp/SourceHanSerifJP-Regular.otf +0 -0
  270. package/assets/fonts/ubuntu/Ubuntu-B.ttf +0 -0
  271. package/assets/fonts/ubuntu/Ubuntu-R.ttf +0 -0
  272. package/assets/images/cat_riding_unicorn.jpg +0 -0
  273. package/assets/images/cmyk_colorspace.jpg +0 -0
  274. package/assets/images/greyscale_bird.png +0 -0
  275. package/assets/images/minions_banana_alpha.png +0 -0
  276. package/assets/images/minions_banana_no_alpha.png +0 -0
  277. package/assets/images/minions_laughing.jpg +0 -0
  278. package/assets/pdfs/bixby_guide.pdf +0 -0
  279. package/assets/pdfs/encrypted_new.pdf +0 -0
  280. package/assets/pdfs/encrypted_old.pdf +0 -0
  281. package/assets/pdfs/fancy_fields.pdf +0 -0
  282. package/assets/pdfs/giraffe.pdf +0 -0
  283. package/assets/pdfs/invalid_root_ref.pdf +0 -0
  284. package/assets/pdfs/just_metadata.pdf +0 -49
  285. package/assets/pdfs/missing_endobj_keyword.pdf +0 -70
  286. package/assets/pdfs/missing_xref_trailer_dict.pdf +0 -141
  287. package/assets/pdfs/normal.pdf +0 -0
  288. package/assets/pdfs/pdf20examples/PDF 2.0 with offset start.pdf +0 -179
  289. package/assets/pdfs/stuff_following_header.pdf +0 -0
  290. package/assets/pdfs/us_constitution.pdf +0 -0
  291. package/assets/pdfs/with_comments.pdf +0 -0
  292. package/assets/pdfs/with_invalid_objects.pdf +0 -53
  293. package/assets/pdfs/with_invalid_stream_EOL.pdf +0 -0
  294. package/assets/pdfs/with_null_parent_entry.pdf +0 -0
  295. package/assets/pdfs/with_signature.pdf +0 -0
  296. package/assets/pdfs/with_update_sections.pdf +0 -0
  297. package/assets/pdfs/with_viewer_prefs.pdf +0 -0
  298. package/assets/pdfs/with_xfa_fields.pdf +0 -0
  299. package/src/api/PDFDocument.ts +0 -1389
  300. package/src/api/PDFDocumentOptions.ts +0 -45
  301. package/src/api/PDFEmbeddedFile.ts +0 -87
  302. package/src/api/PDFEmbeddedPage.ts +0 -100
  303. package/src/api/PDFFont.ts +0 -149
  304. package/src/api/PDFImage.ts +0 -143
  305. package/src/api/PDFJavaScript.ts +0 -75
  306. package/src/api/PDFPage.ts +0 -1604
  307. package/src/api/PDFPageOptions.ts +0 -175
  308. package/src/api/StandardFonts.ts +0 -16
  309. package/src/api/colors.ts +0 -109
  310. package/src/api/errors.ts +0 -110
  311. package/src/api/form/PDFButton.ts +0 -242
  312. package/src/api/form/PDFCheckBox.ts +0 -247
  313. package/src/api/form/PDFDropdown.ts +0 -637
  314. package/src/api/form/PDFField.ts +0 -491
  315. package/src/api/form/PDFForm.ts +0 -842
  316. package/src/api/form/PDFOptionList.ts +0 -555
  317. package/src/api/form/PDFRadioGroup.ts +0 -455
  318. package/src/api/form/PDFSignature.ts +0 -44
  319. package/src/api/form/PDFTextField.ts +0 -811
  320. package/src/api/form/appearances.ts +0 -655
  321. package/src/api/image/alignment.ts +0 -5
  322. package/src/api/objects.ts +0 -10
  323. package/src/api/operations.ts +0 -873
  324. package/src/api/operators.ts +0 -335
  325. package/src/api/rotations.ts +0 -84
  326. package/src/api/sizes.ts +0 -52
  327. package/src/api/svg.ts +0 -888
  328. package/src/api/svgPath.ts +0 -460
  329. package/src/api/text/alignment.ts +0 -5
  330. package/src/api/text/layout.ts +0 -328
  331. package/src/core/PDFContext.ts +0 -274
  332. package/src/core/PDFObjectCopier.ts +0 -142
  333. package/src/core/acroform/PDFAcroButton.ts +0 -104
  334. package/src/core/acroform/PDFAcroCheckBox.ts +0 -48
  335. package/src/core/acroform/PDFAcroChoice.ts +0 -143
  336. package/src/core/acroform/PDFAcroComboBox.ts +0 -21
  337. package/src/core/acroform/PDFAcroField.ts +0 -168
  338. package/src/core/acroform/PDFAcroForm.ts +0 -96
  339. package/src/core/acroform/PDFAcroListBox.ts +0 -19
  340. package/src/core/acroform/PDFAcroNonTerminal.ts +0 -33
  341. package/src/core/acroform/PDFAcroPushButton.ts +0 -21
  342. package/src/core/acroform/PDFAcroRadioButton.ts +0 -57
  343. package/src/core/acroform/PDFAcroTerminal.ts +0 -70
  344. package/src/core/acroform/PDFAcroText.ts +0 -76
  345. package/src/core/acroform/flags.ts +0 -162
  346. package/src/core/acroform/utils.ts +0 -129
  347. package/src/core/annotation/AppearanceCharacteristics.ts +0 -133
  348. package/src/core/annotation/BorderStyle.ts +0 -31
  349. package/src/core/annotation/PDFAnnotation.ts +0 -148
  350. package/src/core/annotation/PDFWidgetAnnotation.ts +0 -111
  351. package/src/core/annotation/flags.ts +0 -90
  352. package/src/core/crypto.ts +0 -1844
  353. package/src/core/document/PDFCrossRefSection.ts +0 -161
  354. package/src/core/document/PDFHeader.ts +0 -48
  355. package/src/core/document/PDFTrailer.ts +0 -48
  356. package/src/core/document/PDFTrailerDict.ts +0 -39
  357. package/src/core/embedders/CMap.ts +0 -65
  358. package/src/core/embedders/CustomFontEmbedder.ts +0 -237
  359. package/src/core/embedders/CustomFontSubsetEmbedder.ts +0 -89
  360. package/src/core/embedders/FileEmbedder.ts +0 -77
  361. package/src/core/embedders/FontFlags.ts +0 -45
  362. package/src/core/embedders/JavaScriptEmbedder.ts +0 -34
  363. package/src/core/embedders/JpegEmbedder.ts +0 -118
  364. package/src/core/embedders/PDFPageEmbedder.ts +0 -139
  365. package/src/core/embedders/PngEmbedder.ts +0 -69
  366. package/src/core/embedders/StandardFontEmbedder.ts +0 -121
  367. package/src/core/errors.ts +0 -226
  368. package/src/core/interactive/ViewerPreferences.ts +0 -565
  369. package/src/core/objects/PDFArray.ts +0 -179
  370. package/src/core/objects/PDFBool.ts +0 -53
  371. package/src/core/objects/PDFDict.ts +0 -220
  372. package/src/core/objects/PDFHexString.ts +0 -94
  373. package/src/core/objects/PDFInvalidObject.ts +0 -34
  374. package/src/core/objects/PDFName.ts +0 -152
  375. package/src/core/objects/PDFNull.ts +0 -30
  376. package/src/core/objects/PDFNumber.ts +0 -44
  377. package/src/core/objects/PDFObject.ts +0 -22
  378. package/src/core/objects/PDFRawStream.ts +0 -41
  379. package/src/core/objects/PDFRef.ts +0 -51
  380. package/src/core/objects/PDFStream.ts +0 -87
  381. package/src/core/objects/PDFString.ts +0 -118
  382. package/src/core/operators/PDFOperator.ts +0 -72
  383. package/src/core/operators/PDFOperatorNames.ts +0 -92
  384. package/src/core/parser/BaseParser.ts +0 -119
  385. package/src/core/parser/ByteStream.ts +0 -76
  386. package/src/core/parser/PDFObjectParser.ts +0 -302
  387. package/src/core/parser/PDFObjectStreamParser.ts +0 -65
  388. package/src/core/parser/PDFParser.ts +0 -363
  389. package/src/core/parser/PDFXRefStreamParser.ts +0 -129
  390. package/src/core/streams/Ascii85Stream.ts +0 -97
  391. package/src/core/streams/AsciiHexStream.ts +0 -77
  392. package/src/core/streams/DecodeStream.ts +0 -188
  393. package/src/core/streams/DecryptStream.ts +0 -49
  394. package/src/core/streams/FlateStream.ts +0 -397
  395. package/src/core/streams/LZWStream.ts +0 -157
  396. package/src/core/streams/RunLengthStream.ts +0 -55
  397. package/src/core/streams/Stream.ts +0 -126
  398. package/src/core/streams/decode.ts +0 -70
  399. package/src/core/structures/PDFCatalog.ts +0 -81
  400. package/src/core/structures/PDFContentStream.ts +0 -58
  401. package/src/core/structures/PDFCrossRefStream.ts +0 -238
  402. package/src/core/structures/PDFFlateStream.ts +0 -40
  403. package/src/core/structures/PDFObjectStream.ts +0 -91
  404. package/src/core/structures/PDFPageLeaf.ts +0 -244
  405. package/src/core/structures/PDFPageTree.ts +0 -192
  406. package/src/core/syntax/CharCodes.ts +0 -62
  407. package/src/core/syntax/Delimiters.ts +0 -14
  408. package/src/core/syntax/Irregular.ts +0 -10
  409. package/src/core/syntax/Keywords.ts +0 -57
  410. package/src/core/syntax/Numeric.ts +0 -26
  411. package/src/core/syntax/Whitespace.ts +0 -10
  412. package/src/core/writers/PDFStreamWriter.ts +0 -114
  413. package/src/core/writers/PDFWriter.ts +0 -146
  414. package/src/types/fontkit.ts +0 -643
  415. package/src/utils/Cache.ts +0 -26
  416. package/src/utils/arrays.ts +0 -153
  417. package/src/utils/async.ts +0 -8
  418. package/src/utils/base64.ts +0 -98
  419. package/src/utils/elements/Arc.ts +0 -97
  420. package/src/utils/elements/Circle.ts +0 -47
  421. package/src/utils/elements/Ellipse.ts +0 -117
  422. package/src/utils/elements/GraphElement.ts +0 -14
  423. package/src/utils/elements/Line.ts +0 -83
  424. package/src/utils/elements/Plot.ts +0 -50
  425. package/src/utils/elements/Point.ts +0 -37
  426. package/src/utils/elements/Rectangle.ts +0 -65
  427. package/src/utils/elements/Segment.ts +0 -81
  428. package/src/utils/errors.ts +0 -3
  429. package/src/utils/intersections.ts +0 -237
  430. package/src/utils/maths.ts +0 -96
  431. package/src/utils/numbers.ts +0 -55
  432. package/src/utils/objects.ts +0 -13
  433. package/src/utils/pdfDocEncoding.ts +0 -69
  434. package/src/utils/png.ts +0 -100
  435. package/src/utils/rng.ts +0 -21
  436. package/src/utils/strings.ts +0 -191
  437. package/src/utils/validators.ts +0 -192
  438. package/tsconfig.build.json +0 -14
  439. package/tsconfig.json +0 -15
  440. package/vite.config.mts +0 -39
  441. /package/{src/api/form/index.ts → dist/api/form/index.d.ts} +0 -0
  442. /package/{src/api/image/index.ts → dist/api/image/index.d.ts} +0 -0
  443. /package/{src/api/index.ts → dist/api/index.d.ts} +0 -0
  444. /package/{src/api/text/index.ts → dist/api/text/index.d.ts} +0 -0
  445. /package/{src/core/acroform/index.ts → dist/core/acroform/index.d.ts} +0 -0
  446. /package/{src/core/annotation/index.ts → dist/core/annotation/index.d.ts} +0 -0
  447. /package/{src/index.ts → dist/index.d.ts} +0 -0
  448. /package/{src/utils/elements/index.ts → dist/utils/elements/index.d.ts} +0 -0
  449. /package/{src/utils/index.ts → dist/utils/index.d.ts} +0 -0
@@ -0,0 +1,226 @@
1
+ import { Color } from './colors';
2
+ import { LineCapStyle, FillRule } from './operators';
3
+ import { Rotation } from './rotations';
4
+ import { PDFHexString, PDFName, PDFNumber, PDFOperator } from '../core';
5
+ import type { Space, TransformationMatrix } from '../types';
6
+ export interface DrawTextOptions {
7
+ color: Color;
8
+ font: string | PDFName;
9
+ size: number | PDFNumber;
10
+ rotate: Rotation;
11
+ xSkew: Rotation;
12
+ ySkew: Rotation;
13
+ x: number | PDFNumber;
14
+ y: number | PDFNumber;
15
+ graphicsState?: string | PDFName;
16
+ matrix?: TransformationMatrix;
17
+ clipSpaces?: Space[];
18
+ }
19
+ export declare const drawText: (line: PDFHexString, options: DrawTextOptions) => PDFOperator[];
20
+ export interface DrawLinesOfTextOptions extends DrawTextOptions {
21
+ lineHeight: number | PDFNumber;
22
+ }
23
+ export declare const drawLinesOfText: (lines: PDFHexString[], options: DrawLinesOfTextOptions) => PDFOperator[];
24
+ export declare const drawImage: (name: string | PDFName, options: {
25
+ x: number | PDFNumber;
26
+ y: number | PDFNumber;
27
+ width: number | PDFNumber;
28
+ height: number | PDFNumber;
29
+ rotate: Rotation;
30
+ xSkew: Rotation;
31
+ ySkew: Rotation;
32
+ graphicsState?: string | PDFName;
33
+ matrix?: TransformationMatrix;
34
+ clipSpaces?: Space[];
35
+ }) => PDFOperator[];
36
+ export declare const drawPage: (name: string | PDFName, options: {
37
+ x: number | PDFNumber;
38
+ y: number | PDFNumber;
39
+ xScale: number | PDFNumber;
40
+ yScale: number | PDFNumber;
41
+ rotate: Rotation;
42
+ xSkew: Rotation;
43
+ ySkew: Rotation;
44
+ graphicsState?: string | PDFName;
45
+ }) => PDFOperator[];
46
+ export declare const drawLine: (options: {
47
+ start: {
48
+ x: number | PDFNumber;
49
+ y: number | PDFNumber;
50
+ };
51
+ end: {
52
+ x: number | PDFNumber;
53
+ y: number | PDFNumber;
54
+ };
55
+ thickness: number | PDFNumber;
56
+ color: Color | undefined;
57
+ dashArray?: (number | PDFNumber)[];
58
+ dashPhase?: number | PDFNumber;
59
+ lineCap?: LineCapStyle;
60
+ graphicsState?: string | PDFName;
61
+ matrix?: TransformationMatrix;
62
+ clipSpaces?: Space[];
63
+ }) => PDFOperator[];
64
+ export declare const drawRectangle: (options: {
65
+ x: number | PDFNumber;
66
+ y: number | PDFNumber;
67
+ width: number | PDFNumber;
68
+ height: number | PDFNumber;
69
+ borderWidth: number | PDFNumber;
70
+ color: Color | undefined;
71
+ borderColor: Color | undefined;
72
+ rotate: Rotation;
73
+ xSkew: Rotation;
74
+ ySkew: Rotation;
75
+ borderLineCap?: LineCapStyle;
76
+ borderDashArray?: (number | PDFNumber)[];
77
+ borderDashPhase?: number | PDFNumber;
78
+ graphicsState?: string | PDFName;
79
+ matrix?: TransformationMatrix;
80
+ clipSpaces?: Space[];
81
+ radius?: number | PDFNumber;
82
+ }) => PDFOperator[];
83
+ /** @deprecated */
84
+ export declare const drawEllipsePath: (config: {
85
+ x: number | PDFNumber;
86
+ y: number | PDFNumber;
87
+ xScale: number | PDFNumber;
88
+ yScale: number | PDFNumber;
89
+ }) => PDFOperator[];
90
+ export declare const drawEllipse: (options: {
91
+ x: number | PDFNumber;
92
+ y: number | PDFNumber;
93
+ xScale: number | PDFNumber;
94
+ yScale: number | PDFNumber;
95
+ rotate?: Rotation;
96
+ color: Color | undefined;
97
+ borderColor: Color | undefined;
98
+ borderWidth: number | PDFNumber;
99
+ borderDashArray?: (number | PDFNumber)[];
100
+ borderDashPhase?: number | PDFNumber;
101
+ graphicsState?: string | PDFName;
102
+ borderLineCap?: LineCapStyle;
103
+ matrix?: TransformationMatrix;
104
+ clipSpaces?: Space[];
105
+ }) => PDFOperator[];
106
+ export declare const drawSvgPath: (path: string, options: {
107
+ x: number | PDFNumber;
108
+ y: number | PDFNumber;
109
+ rotate?: Rotation;
110
+ scale: number | PDFNumber | undefined;
111
+ color: Color | undefined;
112
+ borderColor: Color | undefined;
113
+ borderWidth: number | PDFNumber;
114
+ borderDashArray?: (number | PDFNumber)[];
115
+ borderDashPhase?: number | PDFNumber;
116
+ borderLineCap?: LineCapStyle;
117
+ graphicsState?: string | PDFName;
118
+ fillRule?: FillRule;
119
+ matrix?: TransformationMatrix;
120
+ clipSpaces?: Space[];
121
+ }) => PDFOperator[];
122
+ export declare const drawCheckMark: (options: {
123
+ x: number | PDFNumber;
124
+ y: number | PDFNumber;
125
+ size: number | PDFNumber;
126
+ thickness: number | PDFNumber;
127
+ color: Color | undefined;
128
+ }) => PDFOperator[];
129
+ export declare const rotateInPlace: (options: {
130
+ width: number | PDFNumber;
131
+ height: number | PDFNumber;
132
+ rotation: 0 | 90 | 180 | 270;
133
+ }) => PDFOperator[];
134
+ export declare const drawCheckBox: (options: {
135
+ x: number | PDFNumber;
136
+ y: number | PDFNumber;
137
+ width: number | PDFNumber;
138
+ height: number | PDFNumber;
139
+ thickness: number | PDFNumber;
140
+ borderWidth: number | PDFNumber;
141
+ markColor: Color | undefined;
142
+ color: Color | undefined;
143
+ borderColor: Color | undefined;
144
+ filled: boolean;
145
+ }) => PDFOperator[];
146
+ export declare const drawRadioButton: (options: {
147
+ x: number | PDFNumber;
148
+ y: number | PDFNumber;
149
+ width: number | PDFNumber;
150
+ height: number | PDFNumber;
151
+ borderWidth: number | PDFNumber;
152
+ dotColor: Color | undefined;
153
+ color: Color | undefined;
154
+ borderColor: Color | undefined;
155
+ filled: boolean;
156
+ }) => PDFOperator[];
157
+ export declare const drawButton: (options: {
158
+ x: number | PDFNumber;
159
+ y: number | PDFNumber;
160
+ width: number | PDFNumber;
161
+ height: number | PDFNumber;
162
+ borderWidth: number | PDFNumber;
163
+ color: Color | undefined;
164
+ borderColor: Color | undefined;
165
+ textLines: {
166
+ encoded: PDFHexString;
167
+ x: number;
168
+ y: number;
169
+ }[];
170
+ textColor: Color;
171
+ font: string | PDFName;
172
+ fontSize: number | PDFNumber;
173
+ }) => PDFOperator[];
174
+ export interface DrawTextLinesOptions {
175
+ color: Color;
176
+ font: string | PDFName;
177
+ size: number | PDFNumber;
178
+ rotate: Rotation;
179
+ xSkew: Rotation;
180
+ ySkew: Rotation;
181
+ }
182
+ export declare const drawTextLines: (lines: {
183
+ encoded: PDFHexString;
184
+ x: number;
185
+ y: number;
186
+ }[], options: DrawTextLinesOptions) => PDFOperator[];
187
+ export declare const drawTextField: (options: {
188
+ x: number | PDFNumber;
189
+ y: number | PDFNumber;
190
+ width: number | PDFNumber;
191
+ height: number | PDFNumber;
192
+ borderWidth: number | PDFNumber;
193
+ color: Color | undefined;
194
+ borderColor: Color | undefined;
195
+ textLines: {
196
+ encoded: PDFHexString;
197
+ x: number;
198
+ y: number;
199
+ }[];
200
+ textColor: Color;
201
+ font: string | PDFName;
202
+ fontSize: number | PDFNumber;
203
+ padding: number | PDFNumber;
204
+ }) => PDFOperator[];
205
+ export declare const drawOptionList: (options: {
206
+ x: number | PDFNumber;
207
+ y: number | PDFNumber;
208
+ width: number | PDFNumber;
209
+ height: number | PDFNumber;
210
+ borderWidth: number | PDFNumber;
211
+ color: Color | undefined;
212
+ borderColor: Color | undefined;
213
+ textLines: {
214
+ encoded: PDFHexString;
215
+ x: number;
216
+ y: number;
217
+ height: number;
218
+ }[];
219
+ textColor: Color;
220
+ font: string | PDFName;
221
+ fontSize: number | PDFNumber;
222
+ lineHeight: number | PDFNumber;
223
+ selectedLines: number[];
224
+ selectedColor: Color;
225
+ padding: number | PDFNumber;
226
+ }) => PDFOperator[];
@@ -0,0 +1,90 @@
1
+ import { PDFHexString, PDFName, PDFNumber, PDFOperator } from '../core';
2
+ export declare const clip: () => PDFOperator;
3
+ export declare const clipEvenOdd: () => PDFOperator;
4
+ export declare const concatTransformationMatrix: (a: number | PDFNumber, b: number | PDFNumber, c: number | PDFNumber, d: number | PDFNumber, e: number | PDFNumber, f: number | PDFNumber) => PDFOperator;
5
+ export declare const translate: (xPos: number | PDFNumber, yPos: number | PDFNumber) => PDFOperator;
6
+ export declare const scale: (xPos: number | PDFNumber, yPos: number | PDFNumber) => PDFOperator;
7
+ export declare const rotateRadians: (angle: number | PDFNumber) => PDFOperator;
8
+ export declare const rotateDegrees: (angle: number | PDFNumber) => PDFOperator;
9
+ export declare const skewRadians: (xSkewAngle: number | PDFNumber, ySkewAngle: number | PDFNumber) => PDFOperator;
10
+ export declare const skewDegrees: (xSkewAngle: number | PDFNumber, ySkewAngle: number | PDFNumber) => PDFOperator;
11
+ export declare const setDashPattern: (dashArray: (number | PDFNumber)[], dashPhase: number | PDFNumber) => PDFOperator;
12
+ export declare const restoreDashPattern: () => PDFOperator;
13
+ export declare enum LineCapStyle {
14
+ Butt = 0,
15
+ Round = 1,
16
+ Projecting = 2
17
+ }
18
+ export declare const setLineCap: (style: LineCapStyle) => PDFOperator;
19
+ export declare enum LineJoinStyle {
20
+ Miter = 0,
21
+ Round = 1,
22
+ Bevel = 2
23
+ }
24
+ export declare const setLineJoin: (style: LineJoinStyle) => PDFOperator;
25
+ export declare const setGraphicsState: (state: string | PDFName) => PDFOperator;
26
+ export declare const pushGraphicsState: () => PDFOperator;
27
+ export declare const popGraphicsState: () => PDFOperator;
28
+ export declare const setLineWidth: (width: number | PDFNumber) => PDFOperator;
29
+ export declare const appendBezierCurve: (x1: number | PDFNumber, y1: number | PDFNumber, x2: number | PDFNumber, y2: number | PDFNumber, x3: number | PDFNumber, y3: number | PDFNumber) => PDFOperator;
30
+ export declare const appendQuadraticCurve: (x1: number | PDFNumber, y1: number | PDFNumber, x2: number | PDFNumber, y2: number | PDFNumber) => PDFOperator;
31
+ export declare const closePath: () => PDFOperator;
32
+ export declare const moveTo: (xPos: number | PDFNumber, yPos: number | PDFNumber) => PDFOperator;
33
+ export declare const lineTo: (xPos: number | PDFNumber, yPos: number | PDFNumber) => PDFOperator;
34
+ /**
35
+ * @param xPos x coordinate for the lower left corner of the rectangle
36
+ * @param yPos y coordinate for the lower left corner of the rectangle
37
+ * @param width width of the rectangle
38
+ * @param height height of the rectangle
39
+ */
40
+ export declare const rectangle: (xPos: number | PDFNumber, yPos: number | PDFNumber, width: number | PDFNumber, height: number | PDFNumber) => PDFOperator;
41
+ /**
42
+ * @param xPos x coordinate for the lower left corner of the square
43
+ * @param yPos y coordinate for the lower left corner of the square
44
+ * @param size width and height of the square
45
+ */
46
+ export declare const square: (xPos: number, yPos: number, size: number) => PDFOperator;
47
+ export declare const stroke: () => PDFOperator;
48
+ export declare enum FillRule {
49
+ NonZero = "f",
50
+ EvenOdd = "f*"
51
+ }
52
+ export declare const fill: () => PDFOperator;
53
+ export declare const fillEvenOdd: () => PDFOperator;
54
+ export declare const fillAndStroke: () => PDFOperator;
55
+ export declare const endPath: () => PDFOperator;
56
+ export declare const nextLine: () => PDFOperator;
57
+ export declare const moveText: (x: number | PDFNumber, y: number | PDFNumber) => PDFOperator;
58
+ export declare const showText: (text: PDFHexString) => PDFOperator;
59
+ export declare const beginText: () => PDFOperator;
60
+ export declare const endText: () => PDFOperator;
61
+ export declare const setFontAndSize: (name: string | PDFName, size: number | PDFNumber) => PDFOperator;
62
+ export declare const setCharacterSpacing: (spacing: number | PDFNumber) => PDFOperator;
63
+ export declare const setWordSpacing: (spacing: number | PDFNumber) => PDFOperator;
64
+ /** @param squeeze horizontal character spacing */
65
+ export declare const setCharacterSqueeze: (squeeze: number | PDFNumber) => PDFOperator;
66
+ export declare const setLineHeight: (lineHeight: number | PDFNumber) => PDFOperator;
67
+ export declare const setTextRise: (rise: number | PDFNumber) => PDFOperator;
68
+ export declare enum TextRenderingMode {
69
+ Fill = 0,
70
+ Outline = 1,
71
+ FillAndOutline = 2,
72
+ Invisible = 3,
73
+ FillAndClip = 4,
74
+ OutlineAndClip = 5,
75
+ FillAndOutlineAndClip = 6,
76
+ Clip = 7
77
+ }
78
+ export declare const setTextRenderingMode: (mode: TextRenderingMode) => PDFOperator;
79
+ export declare const setTextMatrix: (a: number | PDFNumber, b: number | PDFNumber, c: number | PDFNumber, d: number | PDFNumber, e: number | PDFNumber, f: number | PDFNumber) => PDFOperator;
80
+ export declare const rotateAndSkewTextRadiansAndTranslate: (rotationAngle: number | PDFNumber, xSkewAngle: number | PDFNumber, ySkewAngle: number | PDFNumber, x: number | PDFNumber, y: number | PDFNumber) => PDFOperator;
81
+ export declare const rotateAndSkewTextDegreesAndTranslate: (rotationAngle: number | PDFNumber, xSkewAngle: number | PDFNumber, ySkewAngle: number | PDFNumber, x: number | PDFNumber, y: number | PDFNumber) => PDFOperator;
82
+ export declare const drawObject: (name: string | PDFName) => PDFOperator;
83
+ export declare const setFillingGrayscaleColor: (gray: number | PDFNumber) => PDFOperator;
84
+ export declare const setStrokingGrayscaleColor: (gray: number | PDFNumber) => PDFOperator;
85
+ export declare const setFillingRgbColor: (red: number | PDFNumber, green: number | PDFNumber, blue: number | PDFNumber) => PDFOperator;
86
+ export declare const setStrokingRgbColor: (red: number | PDFNumber, green: number | PDFNumber, blue: number | PDFNumber) => PDFOperator;
87
+ export declare const setFillingCmykColor: (cyan: number | PDFNumber, magenta: number | PDFNumber, yellow: number | PDFNumber, key: number | PDFNumber) => PDFOperator;
88
+ export declare const setStrokingCmykColor: (cyan: number | PDFNumber, magenta: number | PDFNumber, yellow: number | PDFNumber, key: number | PDFNumber) => PDFOperator;
89
+ export declare const beginMarkedContent: (tag: string | PDFName) => PDFOperator;
90
+ export declare const endMarkedContent: () => PDFOperator;
@@ -0,0 +1,38 @@
1
+ export declare enum RotationTypes {
2
+ Degrees = "degrees",
3
+ Radians = "radians"
4
+ }
5
+ export interface Radians {
6
+ type: RotationTypes.Radians;
7
+ angle: number;
8
+ }
9
+ export interface Degrees {
10
+ type: RotationTypes.Degrees;
11
+ angle: number;
12
+ }
13
+ export type Rotation = Radians | Degrees;
14
+ export declare const radians: (radianAngle: number) => Radians;
15
+ export declare const degrees: (degreeAngle: number) => Degrees;
16
+ export declare const degreesToRadians: (degree: number) => number;
17
+ export declare const radiansToDegrees: (radian: number) => number;
18
+ export declare const toRadians: (rotation: Rotation) => number;
19
+ export declare const toDegrees: (rotation: Rotation) => number;
20
+ export declare const reduceRotation: (degreeAngle?: number) => 0 | 90 | 180 | 270;
21
+ export declare const adjustDimsForRotation: (dims: {
22
+ width: number;
23
+ height: number;
24
+ }, degreeAngle?: number) => {
25
+ width: number;
26
+ height: number;
27
+ };
28
+ export declare const rotateRectangle: (rectangle: {
29
+ x: number;
30
+ y: number;
31
+ width: number;
32
+ height: number;
33
+ }, borderWidth?: number, degreeAngle?: number) => {
34
+ x: number;
35
+ y: number;
36
+ width: number;
37
+ height: number;
38
+ };
@@ -0,0 +1,52 @@
1
+ export declare const PageSizes: {
2
+ '4A0': [number, number];
3
+ '2A0': [number, number];
4
+ A0: [number, number];
5
+ A1: [number, number];
6
+ A2: [number, number];
7
+ A3: [number, number];
8
+ A4: [number, number];
9
+ A5: [number, number];
10
+ A6: [number, number];
11
+ A7: [number, number];
12
+ A8: [number, number];
13
+ A9: [number, number];
14
+ A10: [number, number];
15
+ B0: [number, number];
16
+ B1: [number, number];
17
+ B2: [number, number];
18
+ B3: [number, number];
19
+ B4: [number, number];
20
+ B5: [number, number];
21
+ B6: [number, number];
22
+ B7: [number, number];
23
+ B8: [number, number];
24
+ B9: [number, number];
25
+ B10: [number, number];
26
+ C0: [number, number];
27
+ C1: [number, number];
28
+ C2: [number, number];
29
+ C3: [number, number];
30
+ C4: [number, number];
31
+ C5: [number, number];
32
+ C6: [number, number];
33
+ C7: [number, number];
34
+ C8: [number, number];
35
+ C9: [number, number];
36
+ C10: [number, number];
37
+ RA0: [number, number];
38
+ RA1: [number, number];
39
+ RA2: [number, number];
40
+ RA3: [number, number];
41
+ RA4: [number, number];
42
+ SRA0: [number, number];
43
+ SRA1: [number, number];
44
+ SRA2: [number, number];
45
+ SRA3: [number, number];
46
+ SRA4: [number, number];
47
+ Executive: [number, number];
48
+ Folio: [number, number];
49
+ Legal: [number, number];
50
+ Letter: [number, number];
51
+ Tabloid: [number, number];
52
+ };
@@ -0,0 +1,70 @@
1
+ import { HTMLElement } from 'node-html-better-parser';
2
+ import { Color } from './colors';
3
+ import { Degrees } from './rotations';
4
+ import PDFPage from './PDFPage';
5
+ import { PDFPageDrawSVGElementOptions } from './PDFPageOptions';
6
+ import { LineCapStyle, LineJoinStyle, FillRule } from './operators';
7
+ import { TransformationMatrix } from '../types/matrix';
8
+ import { Space } from '../types';
9
+ interface Position {
10
+ x: number;
11
+ y: number;
12
+ }
13
+ interface Size {
14
+ width: number;
15
+ height: number;
16
+ }
17
+ type Box = Position & Size;
18
+ type InheritedAttributes = {
19
+ width: number;
20
+ height: number;
21
+ fill?: Color;
22
+ fillOpacity?: number;
23
+ stroke?: Color;
24
+ strokeWidth?: number;
25
+ strokeOpacity?: number;
26
+ strokeLineCap?: LineCapStyle;
27
+ fillRule?: FillRule;
28
+ strokeLineJoin?: LineJoinStyle;
29
+ fontFamily?: string;
30
+ fontStyle?: string;
31
+ fontWeight?: string;
32
+ fontSize?: number;
33
+ rotation?: Degrees;
34
+ viewBox: Box;
35
+ };
36
+ type SVGAttributes = {
37
+ rotate?: Degrees;
38
+ scale?: number;
39
+ skewX?: Degrees;
40
+ skewY?: Degrees;
41
+ width?: number;
42
+ height?: number;
43
+ x?: number;
44
+ y?: number;
45
+ cx?: number;
46
+ cy?: number;
47
+ r?: number;
48
+ rx?: number;
49
+ ry?: number;
50
+ x1?: number;
51
+ y1?: number;
52
+ x2?: number;
53
+ y2?: number;
54
+ d?: string;
55
+ src?: string;
56
+ textAnchor?: string;
57
+ preserveAspectRatio?: string;
58
+ strokeWidth?: number;
59
+ dominantBaseline?: string;
60
+ points?: string;
61
+ };
62
+ type TransformAttributes = {
63
+ matrix: TransformationMatrix;
64
+ clipSpaces: Space[];
65
+ };
66
+ export type SVGElement = HTMLElement & {
67
+ svgAttributes: InheritedAttributes & SVGAttributes & TransformAttributes;
68
+ };
69
+ export declare const drawSvg: (page: PDFPage, svg: string, options: PDFPageDrawSVGElementOptions) => Promise<void>;
70
+ export {};
@@ -0,0 +1,2 @@
1
+ import { PDFOperator } from '../core';
2
+ export declare const svgPathToOperators: (path: string) => PDFOperator[];
@@ -0,0 +1,5 @@
1
+ export declare enum TextAlignment {
2
+ Left = 0,
3
+ Center = 1,
4
+ Right = 2
5
+ }
@@ -0,0 +1,54 @@
1
+ import PDFFont from '../PDFFont';
2
+ import { TextAlignment } from './alignment';
3
+ import { PDFHexString } from '../../core';
4
+ export interface TextPosition {
5
+ text: string;
6
+ encoded: PDFHexString;
7
+ x: number;
8
+ y: number;
9
+ width: number;
10
+ height: number;
11
+ }
12
+ export interface LayoutBounds {
13
+ x: number;
14
+ y: number;
15
+ width: number;
16
+ height: number;
17
+ }
18
+ export interface LayoutTextOptions {
19
+ alignment: TextAlignment;
20
+ fontSize?: number;
21
+ font: PDFFont;
22
+ bounds: LayoutBounds;
23
+ }
24
+ export interface MultilineTextLayout {
25
+ bounds: LayoutBounds;
26
+ lines: TextPosition[];
27
+ fontSize: number;
28
+ lineHeight: number;
29
+ }
30
+ export declare const layoutMultilineText: (text: string, { alignment, fontSize, font, bounds }: LayoutTextOptions) => MultilineTextLayout;
31
+ export interface LayoutCombedTextOptions {
32
+ fontSize?: number;
33
+ font: PDFFont;
34
+ bounds: LayoutBounds;
35
+ cellCount: number;
36
+ }
37
+ export interface CombedTextLayout {
38
+ bounds: LayoutBounds;
39
+ cells: TextPosition[];
40
+ fontSize: number;
41
+ }
42
+ export declare const layoutCombedText: (text: string, { fontSize, font, bounds, cellCount }: LayoutCombedTextOptions) => CombedTextLayout;
43
+ export interface LayoutSinglelineTextOptions {
44
+ alignment: TextAlignment;
45
+ fontSize?: number;
46
+ font: PDFFont;
47
+ bounds: LayoutBounds;
48
+ }
49
+ export interface SinglelineTextLayout {
50
+ bounds: LayoutBounds;
51
+ line: TextPosition;
52
+ fontSize: number;
53
+ }
54
+ export declare const layoutSinglelineText: (text: string, { alignment, fontSize, font, bounds }: LayoutSinglelineTextOptions) => SinglelineTextLayout;
@@ -0,0 +1,84 @@
1
+ import PDFHeader from './document/PDFHeader';
2
+ import PDFArray from './objects/PDFArray';
3
+ import PDFBool from './objects/PDFBool';
4
+ import PDFDict from './objects/PDFDict';
5
+ import PDFHexString from './objects/PDFHexString';
6
+ import PDFName from './objects/PDFName';
7
+ import PDFNull from './objects/PDFNull';
8
+ import PDFNumber from './objects/PDFNumber';
9
+ import PDFObject from './objects/PDFObject';
10
+ import PDFRawStream from './objects/PDFRawStream';
11
+ import PDFRef from './objects/PDFRef';
12
+ import PDFStream from './objects/PDFStream';
13
+ import PDFString from './objects/PDFString';
14
+ import PDFOperator from './operators/PDFOperator';
15
+ import PDFContentStream from './structures/PDFContentStream';
16
+ import { SimpleRNG } from '../utils/rng';
17
+ type LookupKey = PDFRef | PDFObject | undefined;
18
+ interface LiteralObject {
19
+ [name: string]: Literal | PDFObject;
20
+ }
21
+ interface LiteralArray {
22
+ [index: number]: Literal | PDFObject;
23
+ }
24
+ type Literal = LiteralObject | LiteralArray | string | number | boolean | null | undefined;
25
+ declare class PDFContext {
26
+ isDecrypted: boolean;
27
+ static create: () => PDFContext;
28
+ largestObjectNumber: number;
29
+ header: PDFHeader;
30
+ trailerInfo: {
31
+ Root?: PDFObject;
32
+ Encrypt?: PDFObject;
33
+ Info?: PDFObject;
34
+ ID?: PDFObject;
35
+ };
36
+ rng: SimpleRNG;
37
+ private readonly indirectObjects;
38
+ private pushGraphicsStateContentStreamRef?;
39
+ private popGraphicsStateContentStreamRef?;
40
+ private constructor();
41
+ assign(ref: PDFRef, object: PDFObject): void;
42
+ nextRef(): PDFRef;
43
+ register(object: PDFObject): PDFRef;
44
+ delete(ref: PDFRef): boolean;
45
+ lookupMaybe(ref: LookupKey, type: typeof PDFArray): PDFArray | undefined;
46
+ lookupMaybe(ref: LookupKey, type: typeof PDFBool): PDFBool | undefined;
47
+ lookupMaybe(ref: LookupKey, type: typeof PDFDict): PDFDict | undefined;
48
+ lookupMaybe(ref: LookupKey, type: typeof PDFHexString): PDFHexString | undefined;
49
+ lookupMaybe(ref: LookupKey, type: typeof PDFName): PDFName | undefined;
50
+ lookupMaybe(ref: LookupKey, type: typeof PDFNull): typeof PDFNull | undefined;
51
+ lookupMaybe(ref: LookupKey, type: typeof PDFNumber): PDFNumber | undefined;
52
+ lookupMaybe(ref: LookupKey, type: typeof PDFStream): PDFStream | undefined;
53
+ lookupMaybe(ref: LookupKey, type: typeof PDFRef): PDFRef | undefined;
54
+ lookupMaybe(ref: LookupKey, type: typeof PDFString): PDFString | undefined;
55
+ lookupMaybe(ref: LookupKey, type1: typeof PDFString, type2: typeof PDFHexString): PDFString | PDFHexString | undefined;
56
+ lookup(ref: LookupKey): PDFObject | undefined;
57
+ lookup(ref: LookupKey, type: typeof PDFArray): PDFArray;
58
+ lookup(ref: LookupKey, type: typeof PDFBool): PDFBool;
59
+ lookup(ref: LookupKey, type: typeof PDFDict): PDFDict;
60
+ lookup(ref: LookupKey, type: typeof PDFHexString): PDFHexString;
61
+ lookup(ref: LookupKey, type: typeof PDFName): PDFName;
62
+ lookup(ref: LookupKey, type: typeof PDFNull): typeof PDFNull;
63
+ lookup(ref: LookupKey, type: typeof PDFNumber): PDFNumber;
64
+ lookup(ref: LookupKey, type: typeof PDFStream): PDFStream;
65
+ lookup(ref: LookupKey, type: typeof PDFRef): PDFRef;
66
+ lookup(ref: LookupKey, type: typeof PDFString): PDFString;
67
+ lookup(ref: LookupKey, type1: typeof PDFString, type2: typeof PDFHexString): PDFString | PDFHexString;
68
+ getObjectRef(pdfObject: PDFObject): PDFRef | undefined;
69
+ enumerateIndirectObjects(): [PDFRef, PDFObject][];
70
+ obj(literal: null | undefined): typeof PDFNull;
71
+ obj(literal: string): PDFName;
72
+ obj(literal: number): PDFNumber;
73
+ obj(literal: boolean): PDFBool;
74
+ obj(literal: LiteralObject): PDFDict;
75
+ obj(literal: LiteralArray): PDFArray;
76
+ stream(contents: string | Uint8Array, dict?: LiteralObject): PDFRawStream;
77
+ flateStream(contents: string | Uint8Array, dict?: LiteralObject): PDFRawStream;
78
+ contentStream(operators: PDFOperator[], dict?: LiteralObject): PDFContentStream;
79
+ formXObject(operators: PDFOperator[], dict?: LiteralObject): PDFContentStream;
80
+ getPushGraphicsStateContentStream(): PDFRef;
81
+ getPopGraphicsStateContentStream(): PDFRef;
82
+ addRandomSuffix(prefix: string, suffixLength?: number): string;
83
+ }
84
+ export default PDFContext;
@@ -0,0 +1,37 @@
1
+ import PDFObject from './objects/PDFObject';
2
+ import PDFContext from './PDFContext';
3
+ /**
4
+ * PDFObjectCopier copies PDFObjects from a src context to a dest context.
5
+ * The primary use case for this is to copy pages between PDFs.
6
+ *
7
+ * _Copying_ an object with a PDFObjectCopier is different from _cloning_ an
8
+ * object with its [[PDFObject.clone]] method:
9
+ *
10
+ * ```
11
+ * const src: PDFContext = ...
12
+ * const dest: PDFContext = ...
13
+ * const originalObject: PDFObject = ...
14
+ * const copiedObject = PDFObjectCopier.for(src, dest).copy(originalObject);
15
+ * const clonedObject = originalObject.clone();
16
+ * ```
17
+ *
18
+ * Copying an object is equivalent to cloning it and then copying over any other
19
+ * objects that it references. Note that only dictionaries, arrays, and streams
20
+ * (or structures build from them) can contain indirect references to other
21
+ * objects. Copying a PDFObject that is not a dictionary, array, or stream is
22
+ * supported, but is equivalent to cloning it.
23
+ */
24
+ declare class PDFObjectCopier {
25
+ static for: (src: PDFContext, dest: PDFContext) => PDFObjectCopier;
26
+ private readonly src;
27
+ private readonly dest;
28
+ private readonly traversedObjects;
29
+ private constructor();
30
+ copy: <T extends PDFObject>(object: T) => T;
31
+ private copyPDFPage;
32
+ private copyPDFDict;
33
+ private copyPDFArray;
34
+ private copyPDFStream;
35
+ private copyPDFIndirectObject;
36
+ }
37
+ export default PDFObjectCopier;
@@ -0,0 +1,21 @@
1
+ import PDFObject from '../objects/PDFObject';
2
+ import PDFString from '../objects/PDFString';
3
+ import PDFHexString from '../objects/PDFHexString';
4
+ import PDFArray from '../objects/PDFArray';
5
+ import PDFName from '../objects/PDFName';
6
+ import PDFRef from '../objects/PDFRef';
7
+ import PDFAcroTerminal from './PDFAcroTerminal';
8
+ declare class PDFAcroButton extends PDFAcroTerminal {
9
+ Opt(): PDFString | PDFHexString | PDFArray | undefined;
10
+ setOpt(opt: PDFObject[]): void;
11
+ getExportValues(): (PDFString | PDFHexString)[] | undefined;
12
+ removeExportValue(idx: number): void;
13
+ normalizeExportValues(): void;
14
+ /**
15
+ * Reuses existing opt if one exists with the same value (assuming
16
+ * `useExistingIdx` is `true`). Returns index of existing (or new) opt.
17
+ */
18
+ addOpt(opt: PDFHexString | PDFString, useExistingOptIdx: boolean): number;
19
+ addWidgetWithOpt(widget: PDFRef, opt: PDFHexString | PDFString, useExistingOptIdx: boolean): PDFName;
20
+ }
21
+ export default PDFAcroButton;