@pdfme/pdf-lib 6.0.3 → 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
@@ -1,421 +0,0 @@
1
- import {
2
- PDFArray,
3
- PDFBool,
4
- PDFContentStream,
5
- PDFContext,
6
- PDFDict,
7
- PDFHexString,
8
- PDFName,
9
- PDFNull,
10
- PDFNumber,
11
- PDFObjectCopier,
12
- PDFPageLeaf,
13
- PDFPageTree,
14
- PDFRawStream,
15
- PDFRef,
16
- PDFString,
17
- } from '../../src/index';
18
-
19
- describe(`PDFObjectCopier`, () => {
20
- it(`copies PDFDicts, including their indirect references`, () => {
21
- // Arrange
22
- const src = PDFContext.create();
23
- const origDict = src.obj({
24
- Foo: PDFString.of('stuff and things'),
25
- Bar: PDFRef.of(13),
26
- });
27
- src.register(origDict);
28
-
29
- src.assign(PDFRef.of(13), src.obj([1, PDFRef.of(17)]));
30
-
31
- src.assign(PDFRef.of(17), src.obj({ Baz: 'wallykazam' }));
32
-
33
- const dest = PDFContext.create();
34
-
35
- // Act
36
- const copiedDict = PDFObjectCopier.for(src, dest).copy(origDict);
37
-
38
- // Assert
39
- expect(dest.enumerateIndirectObjects().length).toBe(2);
40
-
41
- expect(copiedDict).not.toBe(origDict);
42
- expect(copiedDict).toBeInstanceOf(PDFDict);
43
-
44
- const Foo = PDFName.of('Foo');
45
- expect(copiedDict.get(Foo)).not.toBe(origDict.get(Foo));
46
- expect(copiedDict.get(Foo)).toBeInstanceOf(PDFString);
47
-
48
- const Bar = PDFName.of('Bar');
49
- expect(copiedDict.get(Bar)).not.toBe(origDict.get(Bar));
50
- expect(copiedDict.get(Bar)).toBeInstanceOf(PDFRef);
51
-
52
- const srcBar = src.lookup(origDict.get(Bar), PDFArray);
53
- const destBar = dest.lookup(copiedDict.get(Bar), PDFArray);
54
-
55
- expect(destBar).not.toBe(srcBar);
56
- expect(destBar).toBeInstanceOf(PDFArray);
57
-
58
- expect(destBar.get(0)).not.toBe(srcBar.get(0));
59
- expect(destBar.get(0)).toBeInstanceOf(PDFNumber);
60
-
61
- expect(destBar.get(1)).not.toBe(srcBar.get(1));
62
- expect(destBar.get(1)).toBeInstanceOf(PDFRef);
63
-
64
- const srcBar1 = src.lookup(srcBar.get(1), PDFDict);
65
- const destBar1 = dest.lookup(destBar.get(1), PDFDict);
66
-
67
- expect(destBar1).not.toBe(srcBar1);
68
- expect(destBar1).toBeInstanceOf(PDFDict);
69
-
70
- const Baz = PDFName.of('Baz');
71
- expect(destBar1.get(Baz)).toBe(srcBar1.get(Baz));
72
- expect(destBar1.get(Baz)).toBeInstanceOf(PDFName);
73
- });
74
-
75
- it(`copies PDFArrays, including their indirect references`, () => {
76
- // Arrange
77
- const src = PDFContext.create();
78
- const origArray = src.obj([
79
- PDFString.of('stuff and things'),
80
- PDFRef.of(13),
81
- ]);
82
- src.register(origArray);
83
-
84
- src.assign(PDFRef.of(13), src.obj({ Foo: 1, Bar: PDFRef.of(17) }));
85
-
86
- src.assign(PDFRef.of(17), src.obj(['wallykazam']));
87
-
88
- const dest = PDFContext.create();
89
-
90
- // Act
91
- const copiedArray = PDFObjectCopier.for(src, dest).copy(origArray);
92
-
93
- // Assert
94
- expect(dest.enumerateIndirectObjects().length).toBe(2);
95
-
96
- expect(copiedArray).not.toBe(origArray);
97
- expect(copiedArray).toBeInstanceOf(PDFArray);
98
-
99
- expect(copiedArray.get(0)).not.toBe(origArray.get(0));
100
- expect(copiedArray.get(0)).toBeInstanceOf(PDFString);
101
-
102
- expect(copiedArray.get(1)).not.toBe(origArray.get(1));
103
- expect(copiedArray.get(1)).toBeInstanceOf(PDFRef);
104
-
105
- const src1 = src.lookup(origArray.get(1), PDFDict);
106
- const dest1 = dest.lookup(copiedArray.get(1), PDFDict);
107
-
108
- expect(dest1).not.toBe(src1);
109
- expect(dest1).toBeInstanceOf(PDFDict);
110
-
111
- const Foo = PDFName.of('Foo');
112
- expect(dest1.get(Foo)).not.toBe(src1.get(Foo));
113
- expect(dest1.get(Foo)).toBeInstanceOf(PDFNumber);
114
-
115
- const Bar = PDFName.of('Bar');
116
- expect(dest1.get(Bar)).not.toBe(src1.get(Bar));
117
- expect(dest1.get(Bar)).toBeInstanceOf(PDFRef);
118
-
119
- const src1Bar = src.lookup(src1.get(Bar), PDFArray);
120
- const dest1Bar = dest.lookup(dest1.get(Bar), PDFArray);
121
-
122
- expect(dest1Bar).not.toBe(src1Bar);
123
- expect(dest1Bar).toBeInstanceOf(PDFArray);
124
-
125
- expect(dest1Bar.get(0)).toBe(src1Bar.get(0));
126
- expect(dest1Bar.get(0)).toBeInstanceOf(PDFName);
127
- });
128
-
129
- it(`copies PDFStreams, including their indirect references`, () => {
130
- // Arrange
131
- const src = PDFContext.create();
132
- const origStream = src.stream(new Uint8Array([1, 2, 3, 4, 5]), {
133
- Foo: PDFString.of('stuff and things'),
134
- Bar: PDFRef.of(13),
135
- });
136
- src.register(origStream);
137
-
138
- src.assign(PDFRef.of(13), src.obj([1, PDFRef.of(17)]));
139
-
140
- src.assign(PDFRef.of(17), src.obj({ Baz: 'wallykazam' }));
141
-
142
- const dest = PDFContext.create();
143
-
144
- // Act
145
- const copiedStream = PDFObjectCopier.for(src, dest).copy(origStream);
146
-
147
- // Assert
148
- expect(dest.enumerateIndirectObjects().length).toBe(2);
149
-
150
- expect(copiedStream).not.toBe(origStream);
151
- expect(copiedStream).toBeInstanceOf(PDFRawStream);
152
-
153
- expect(copiedStream.contents).not.toBe(origStream.contents);
154
- expect(copiedStream.contents).toEqual(origStream.contents);
155
-
156
- const Foo = PDFName.of('Foo');
157
- expect(copiedStream.dict.get(Foo)).not.toBe(origStream.dict.get(Foo));
158
- expect(copiedStream.dict.get(Foo)).toBeInstanceOf(PDFString);
159
-
160
- const Bar = PDFName.of('Bar');
161
- expect(copiedStream.dict.get(Bar)).not.toBe(origStream.dict.get(Bar));
162
- expect(copiedStream.dict.get(Bar)).toBeInstanceOf(PDFRef);
163
-
164
- const srcBar = src.lookup(origStream.dict.get(Bar), PDFArray);
165
- const destBar = dest.lookup(copiedStream.dict.get(Bar), PDFArray);
166
-
167
- expect(destBar).not.toBe(srcBar);
168
- expect(destBar).toBeInstanceOf(PDFArray);
169
-
170
- expect(destBar.get(0)).not.toBe(srcBar.get(0));
171
- expect(destBar.get(0)).toBeInstanceOf(PDFNumber);
172
-
173
- expect(destBar.get(1)).not.toBe(srcBar.get(1));
174
- expect(destBar.get(1)).toBeInstanceOf(PDFRef);
175
-
176
- const srcBar1 = src.lookup(srcBar.get(1), PDFDict);
177
- const destBar1 = dest.lookup(destBar.get(1), PDFDict);
178
-
179
- expect(destBar1).not.toBe(srcBar1);
180
- expect(destBar1).toBeInstanceOf(PDFDict);
181
-
182
- const Baz = PDFName.of('Baz');
183
- expect(destBar1.get(Baz)).toBe(srcBar1.get(Baz));
184
- expect(destBar1.get(Baz)).toBeInstanceOf(PDFName);
185
- });
186
-
187
- it(`copies PDFRefs, including their indirect references`, () => {
188
- // Arrange
189
- const src = PDFContext.create();
190
- const origRef = PDFRef.of(21);
191
- src.assign(
192
- origRef,
193
- src.obj({ Foo: PDFString.of('stuff and things'), Bar: PDFRef.of(13) }),
194
- );
195
-
196
- src.assign(PDFRef.of(13), src.obj([1, PDFRef.of(17)]));
197
-
198
- src.assign(PDFRef.of(17), src.obj({ Baz: 'wallykazam' }));
199
-
200
- const dest = PDFContext.create();
201
-
202
- // Act
203
- const copiedRef = PDFObjectCopier.for(src, dest).copy(origRef);
204
-
205
- // Assert
206
- expect(dest.enumerateIndirectObjects().length).toBe(3);
207
-
208
- expect(copiedRef).not.toBe(origRef);
209
- expect(copiedRef).toBeInstanceOf(PDFRef);
210
-
211
- const origDeref = src.lookup(origRef, PDFDict);
212
- const copiedDeref = dest.lookup(copiedRef, PDFDict);
213
-
214
- const Foo = PDFName.of('Foo');
215
- expect(copiedDeref.get(Foo)).not.toBe(origDeref.get(Foo));
216
- expect(copiedDeref.get(Foo)).toBeInstanceOf(PDFString);
217
-
218
- const Bar = PDFName.of('Bar');
219
- expect(copiedDeref.get(Bar)).not.toBe(origDeref.get(Bar));
220
- expect(copiedDeref.get(Bar)).toBeInstanceOf(PDFRef);
221
-
222
- const srcBar = src.lookup(origDeref.get(Bar), PDFArray);
223
- const destBar = dest.lookup(copiedDeref.get(Bar), PDFArray);
224
-
225
- expect(destBar).not.toBe(srcBar);
226
- expect(destBar).toBeInstanceOf(PDFArray);
227
-
228
- expect(destBar.get(0)).not.toBe(srcBar.get(0));
229
- expect(destBar.get(0)).toBeInstanceOf(PDFNumber);
230
-
231
- expect(destBar.get(1)).not.toBe(srcBar.get(1));
232
- expect(destBar.get(1)).toBeInstanceOf(PDFRef);
233
-
234
- const srcBar1 = src.lookup(srcBar.get(1), PDFDict);
235
- const destBar1 = dest.lookup(destBar.get(1), PDFDict);
236
-
237
- expect(destBar1).not.toBe(srcBar1);
238
- expect(destBar1).toBeInstanceOf(PDFDict);
239
-
240
- const Baz = PDFName.of('Baz');
241
- expect(destBar1.get(Baz)).toBe(srcBar1.get(Baz));
242
- expect(destBar1.get(Baz)).toBeInstanceOf(PDFName);
243
- });
244
-
245
- it(`copies individual PDFPageLeaf objects, without bringing along the whole page tree`, () => {
246
- // Arrange
247
- const src = PDFContext.create();
248
-
249
- const contentStreamRef = PDFRef.of(21);
250
- const origPageRef = src.nextRef();
251
- const middlePageTreeRef = src.nextRef();
252
- const rootPageTreeRef = src.nextRef();
253
-
254
- const contentStream = PDFContentStream.of(src.obj({}), []);
255
-
256
- const origPage = PDFPageLeaf.withContextAndParent(src, middlePageTreeRef);
257
- origPage.set(PDFName.of('Contents'), src.obj([contentStreamRef]));
258
-
259
- const middlePageTree = PDFPageTree.withContext(src, rootPageTreeRef);
260
-
261
- const rectangle = src.obj([1, 2, 3, 4]);
262
- const rootPageTree = PDFPageTree.withContext(src);
263
- rootPageTree.set(PDFName.of('Resources'), src.obj({}));
264
- rootPageTree.set(PDFName.of('MediaBox'), rectangle);
265
- rootPageTree.set(PDFName.of('CropBox'), rectangle);
266
- rootPageTree.set(PDFName.of('Rotate'), PDFNumber.of(180));
267
-
268
- rootPageTree.pushTreeNode(middlePageTreeRef);
269
- middlePageTree.pushLeafNode(origPageRef);
270
-
271
- src.assign(contentStreamRef, contentStream);
272
- src.assign(origPageRef, origPage);
273
- src.assign(middlePageTreeRef, middlePageTree);
274
- src.assign(rootPageTreeRef, rootPageTree);
275
-
276
- const dest = PDFContext.create();
277
-
278
- // Act
279
- const copiedPage = PDFObjectCopier.for(src, dest).copy(origPage);
280
-
281
- // Assert
282
- expect(dest.enumerateIndirectObjects().length).toBe(1);
283
-
284
- expect(copiedPage).not.toBe(origPage);
285
- expect(copiedPage).toBeInstanceOf(PDFPageLeaf);
286
-
287
- const Contents = copiedPage.Contents() as PDFArray;
288
- expect(Contents).not.toBe(origPage.Contents());
289
- expect(Contents).toBeInstanceOf(PDFArray);
290
- expect(Contents.size()).toBe(1);
291
-
292
- expect(Contents.get(0)).not.toBe((origPage.Contents() as PDFArray).get(0));
293
- expect(Contents.get(0)).toBeInstanceOf(PDFRef);
294
-
295
- const Resources = copiedPage.Resources();
296
- expect(Resources).not.toBe(rootPageTree.get(PDFName.of('Resources')));
297
- expect(Resources).toBeInstanceOf(PDFDict);
298
-
299
- const MediaBox = copiedPage.MediaBox();
300
- expect(MediaBox).not.toBe(rootPageTree.get(PDFName.of('MediaBox')));
301
- expect(MediaBox).toBeInstanceOf(PDFArray);
302
-
303
- const CropBox = copiedPage.CropBox();
304
- expect(CropBox).not.toBe(rootPageTree.get(PDFName.of('CropBox')));
305
- expect(CropBox).toBeInstanceOf(PDFArray);
306
-
307
- const Rotate = copiedPage.Rotate();
308
- expect(Rotate).not.toBe(rootPageTree.get(PDFName.of('Rotate')));
309
- expect(Rotate).toBeInstanceOf(PDFNumber);
310
- });
311
-
312
- it(`copies objects with cyclic references`, () => {
313
- // Arrange
314
- const src = PDFContext.create();
315
-
316
- const dictRef = src.nextRef();
317
- const arrayRef = src.nextRef();
318
-
319
- const dict = src.obj({ Foo: arrayRef, Bar: dictRef });
320
- const array = src.obj([dictRef, arrayRef]);
321
-
322
- src.assign(dictRef, dict);
323
- src.assign(arrayRef, array);
324
-
325
- const dest = PDFContext.create();
326
-
327
- // Act
328
- PDFObjectCopier.for(src, dest).copy(dict);
329
-
330
- // Assert
331
- expect(dest.enumerateIndirectObjects().length).toBe(
332
- src.enumerateIndirectObjects().length,
333
- );
334
- });
335
-
336
- it(`copies all types of PDFObjects`, () => {
337
- // Arrange
338
- const src = PDFContext.create();
339
- const dest = PDFContext.create();
340
- const copier = PDFObjectCopier.for(src, dest);
341
-
342
- const origArray = src.obj([]);
343
- const origBool = src.obj(true);
344
- const origDict = src.obj({});
345
- const origHexString = PDFHexString.of('ABC123');
346
- const origIndirectRef = src.register(origBool);
347
- const origName = src.obj('QuxBaz');
348
- const origNull = src.obj(null);
349
- const origNumber = src.obj(21);
350
- const origRawStream = src.stream(new Uint8Array([1, 2]));
351
- const origString = PDFString.of('Stuff and thingz');
352
-
353
- // Act
354
- const copiedArray = copier.copy(origArray);
355
- const copiedBool = copier.copy(origBool);
356
- const copiedDict = copier.copy(origDict);
357
- const copiedHexString = copier.copy(origHexString);
358
- const copiedIndirectRef = copier.copy(origIndirectRef);
359
- const copiedName = copier.copy(origName);
360
- const copiedNull = copier.copy(origNull);
361
- const copiedNumber = copier.copy(origNumber);
362
- const copiedRawStream = copier.copy(origRawStream);
363
- const copiedString = copier.copy(origString);
364
-
365
- // Assert
366
- expect(copiedArray).not.toBe(origArray);
367
- expect(copiedArray).toBeInstanceOf(PDFArray);
368
-
369
- expect(copiedBool).toBe(origBool);
370
- expect(copiedBool).toBeInstanceOf(PDFBool);
371
-
372
- expect(copiedDict).not.toBe(origDict);
373
- expect(copiedDict).toBeInstanceOf(PDFDict);
374
-
375
- expect(copiedHexString).not.toBe(origHexString);
376
- expect(copiedHexString).toBeInstanceOf(PDFHexString);
377
-
378
- expect(copiedIndirectRef).toBe(origIndirectRef);
379
- expect(copiedIndirectRef).toBeInstanceOf(PDFRef);
380
-
381
- expect(copiedName).toBe(origName);
382
- expect(copiedName).toBeInstanceOf(PDFName);
383
-
384
- expect(copiedNull).toBe(origNull);
385
- expect(copiedNull).toBe(PDFNull);
386
-
387
- expect(copiedNumber).not.toBe(origNumber);
388
- expect(copiedNumber).toBeInstanceOf(PDFNumber);
389
-
390
- expect(copiedRawStream).not.toBe(origRawStream);
391
- expect(copiedRawStream).toBeInstanceOf(PDFRawStream);
392
-
393
- expect(copiedString).not.toBe(origString);
394
- expect(copiedString).toBeInstanceOf(PDFString);
395
- });
396
-
397
- it(`copies objects with undefined references`, () => {
398
- // Arrange
399
- const src = PDFContext.create();
400
- const dest = PDFContext.create();
401
- const copier = PDFObjectCopier.for(src, dest);
402
-
403
- const origArray = src.obj([PDFRef.of(21)]);
404
- const origDict = src.obj({ Foo: PDFRef.of(21) });
405
-
406
- // Act
407
- const copiedArray = copier.copy(origArray);
408
- const copiedDict = copier.copy(origDict);
409
-
410
- // Assert
411
- expect(copiedArray).not.toBe(origArray);
412
- expect(copiedArray).toBeInstanceOf(PDFArray);
413
- expect(copiedArray.size()).toBe(1);
414
- expect(copiedArray.get(0)).toBe(PDFRef.of(1));
415
-
416
- expect(copiedDict).not.toBe(origDict);
417
- expect(copiedDict).toBeInstanceOf(PDFDict);
418
- expect(copiedDict.entries().length).toBe(1);
419
- expect(copiedDict.get(PDFName.of('Foo'))).toBe(PDFRef.of(1));
420
- });
421
- });
@@ -1,98 +0,0 @@
1
- import {
2
- PDFAcroTerminal,
3
- PDFContext,
4
- PDFString,
5
- PDFHexString,
6
- } from '../../../src/index';
7
-
8
- describe(`PDFAcroField`, () => {
9
- it(`returns undefined for missing (DAs)`, () => {
10
- const context = PDFContext.create();
11
-
12
- const dict = context.obj({
13
- DA: null,
14
- });
15
- const dictRef = context.register(dict);
16
- const field = PDFAcroTerminal.fromDict(dict, dictRef);
17
-
18
- expect(field.getDefaultAppearance()).toBe(undefined);
19
- });
20
-
21
- it(`returns normal direct appearance strings (DAs)`, () => {
22
- const context = PDFContext.create();
23
-
24
- const dict = context.obj({
25
- DA: PDFString.of('/ZaDb 10 Tf 0 g'),
26
- });
27
- const dictRef = context.register(dict);
28
- const field = PDFAcroTerminal.fromDict(dict, dictRef);
29
-
30
- expect(field.getDefaultAppearance()).toBe('/ZaDb 10 Tf 0 g');
31
- });
32
-
33
- it(`returns hexadecimal (non-standard) direct appearance strings (DAs)`, () => {
34
- const context = PDFContext.create();
35
-
36
- const dict = context.obj({
37
- DA: PDFHexString.fromText('/ZaDb 10 Tf 0 g'),
38
- });
39
- const dictRef = context.register(dict);
40
- const field = PDFAcroTerminal.fromDict(dict, dictRef);
41
-
42
- expect(field.getDefaultAppearance()).toBe('/ZaDb 10 Tf 0 g');
43
- });
44
-
45
- describe(`setFontSize()`, () => {
46
- it(`throws an error if the /DA entry is missing`, () => {
47
- const context = PDFContext.create();
48
-
49
- const dict = context.obj({
50
- DA: null,
51
- });
52
- const dictRef = context.register(dict);
53
- const field = PDFAcroTerminal.fromDict(dict, dictRef);
54
-
55
- expect(() => field.setFontSize(8)).toThrow();
56
- });
57
-
58
- it(`throw an error if the /DA string does not contain a Tf operator`, () => {
59
- const context = PDFContext.create();
60
-
61
- const dict = context.obj({
62
- DA: PDFString.of('0 g 2 j'),
63
- });
64
- const dictRef = context.register(dict);
65
- const field = PDFAcroTerminal.fromDict(dict, dictRef);
66
-
67
- expect(() => field.setFontSize(8)).toThrow();
68
- });
69
-
70
- it(`replaces the font size of the last occurring Tf operator`, () => {
71
- const context = PDFContext.create();
72
-
73
- const dict = context.obj({
74
- DA: PDFString.of('/ZaDb 10 Tf\n0 g\n/AbCd 87 Tf\n2 j'),
75
- });
76
- const dictRef = context.register(dict);
77
- const field = PDFAcroTerminal.fromDict(dict, dictRef);
78
- field.setFontSize(8);
79
-
80
- expect(field.getDefaultAppearance()).toBe(
81
- '/ZaDb 10 Tf\n0 g\n /AbCd 8 Tf \n2 j',
82
- );
83
- });
84
-
85
- it(`tolerates invalid Tfs with missing font sizes`, () => {
86
- const context = PDFContext.create();
87
-
88
- const dict = context.obj({
89
- DA: PDFString.of('/ZaDb Tf 0 g'),
90
- });
91
- const dictRef = context.register(dict);
92
- const field = PDFAcroTerminal.fromDict(dict, dictRef);
93
- field.setFontSize(21.7);
94
-
95
- expect(field.getDefaultAppearance()).toBe(' /ZaDb 21.7 Tf 0 g');
96
- });
97
- });
98
- });
@@ -1,39 +0,0 @@
1
- import {
2
- PDFAcroTerminal,
3
- PDFContext,
4
- PDFRef,
5
- PDFArray,
6
- } from '../../../src/index';
7
-
8
- describe(`PDFAcroTerminal`, () => {
9
- it(`returns Kids when it has them`, () => {
10
- const context = PDFContext.create();
11
-
12
- const kids = context.obj(['Foo', PDFRef.of(21), 9001]);
13
- const kidsRef = context.register(kids);
14
-
15
- const dict = context.obj({
16
- Kids: kidsRef,
17
- });
18
- const dictRef = context.register(dict);
19
-
20
- const terminal = PDFAcroTerminal.fromDict(dict, dictRef);
21
-
22
- const { Kids } = terminal.normalizedEntries();
23
- expect(Kids).toBe(kids);
24
- });
25
-
26
- it(`returns itself as a Kid when it has none`, () => {
27
- const context = PDFContext.create();
28
-
29
- const dict = context.obj({});
30
- const dictRef = context.register(dict);
31
-
32
- const terminal = PDFAcroTerminal.fromDict(dict, dictRef);
33
-
34
- const { Kids } = terminal.normalizedEntries();
35
- expect(Kids).toBeInstanceOf(PDFArray);
36
- expect(Kids.size()).toBe(1);
37
- expect(Kids.get(0)).toBe(dictRef);
38
- });
39
- });
@@ -1,40 +0,0 @@
1
- import {
2
- PDFWidgetAnnotation,
3
- PDFContext,
4
- PDFString,
5
- PDFHexString,
6
- PDFName,
7
- PDFNull,
8
- } from '../../../src/index';
9
-
10
- describe(`PDFWidgetAnnotation`, () => {
11
- it(`returns undefined for missing (DAs)`, () => {
12
- const context = PDFContext.create();
13
-
14
- const parentRef = context.nextRef();
15
- const widget = PDFWidgetAnnotation.create(context, parentRef);
16
- widget.dict.set(PDFName.of('DA'), PDFNull);
17
-
18
- expect(widget.getDefaultAppearance()).toBe(undefined);
19
- });
20
-
21
- it(`returns normal direct appearance strings (DAs)`, () => {
22
- const context = PDFContext.create();
23
-
24
- const parentRef = context.nextRef();
25
- const widget = PDFWidgetAnnotation.create(context, parentRef);
26
- widget.dict.set(PDFName.of('DA'), PDFString.of('/ZaDb 10 Tf 0 g'));
27
-
28
- expect(widget.getDefaultAppearance()).toBe('/ZaDb 10 Tf 0 g');
29
- });
30
-
31
- it(`returns hexadecimal (non-standard) direct appearance strings (DAs)`, () => {
32
- const context = PDFContext.create();
33
-
34
- const parentRef = context.nextRef();
35
- const widget = PDFWidgetAnnotation.create(context, parentRef);
36
- widget.dict.set(PDFName.of('DA'), PDFHexString.fromText('/ZaDb 10 Tf 0 g'));
37
-
38
- expect(widget.getDefaultAppearance()).toBe('/ZaDb 10 Tf 0 g');
39
- });
40
- });
@@ -1,88 +0,0 @@
1
- import { PDFCrossRefSection, PDFRef } from '../../../src/core';
2
- import { toCharCode, typedArrayFor } from '../../../src/utils';
3
-
4
- describe(`PDFCrossRefSection`, () => {
5
- it(`can be constructed from PDFCrossRefSection.create()`, () => {
6
- expect(PDFCrossRefSection.create()).toBeInstanceOf(PDFCrossRefSection);
7
- });
8
-
9
- const xref1 = PDFCrossRefSection.create();
10
- xref1.addEntry(PDFRef.of(1), 21);
11
- xref1.addDeletedEntry(PDFRef.of(2, 1), 24);
12
- xref1.addEntry(PDFRef.of(3), 192188923);
13
- xref1.addEntry(PDFRef.of(4), 129219);
14
-
15
- const xref2 = PDFCrossRefSection.create();
16
- xref2.addEntry(PDFRef.of(3), 21);
17
- xref2.addDeletedEntry(PDFRef.of(4, 1), 24);
18
- xref2.addEntry(PDFRef.of(6), 192188923);
19
- xref2.addEntry(PDFRef.of(7), 129219);
20
-
21
- it(`can be converted to a string with a single subsection`, () => {
22
- expect(String(xref1)).toEqual(
23
- 'xref\n' +
24
- '0 5\n' +
25
- '0000000000 65535 f \n' +
26
- '0000000021 00000 n \n' +
27
- '0000000024 00001 f \n' +
28
- '0192188923 00000 n \n' +
29
- '0000129219 00000 n \n',
30
- );
31
- });
32
-
33
- it(`can be converted to a string with multiple subsections and without object number 1`, () => {
34
- expect(String(xref2)).toEqual(
35
- 'xref\n' +
36
- '0 1\n' +
37
- '0000000000 65535 f \n' +
38
- '3 2\n' +
39
- '0000000021 00000 n \n' +
40
- '0000000024 00001 f \n' +
41
- '6 2\n' +
42
- '0192188923 00000 n \n' +
43
- '0000129219 00000 n \n',
44
- );
45
- });
46
-
47
- it(`can provide its size in bytes with a single subsection`, () => {
48
- expect(xref1.sizeInBytes()).toBe(109);
49
- });
50
-
51
- it(`can provide its size in bytes with multiple subsections and without object number 1`, () => {
52
- expect(xref2.sizeInBytes()).toBe(117);
53
- });
54
-
55
- it(`can be serialized with a single subsection`, () => {
56
- const buffer = new Uint8Array(113).fill(toCharCode(' '));
57
- expect(xref1.copyBytesInto(buffer, 3)).toBe(109);
58
- expect(buffer).toEqual(
59
- typedArrayFor(
60
- ' xref\n' +
61
- '0 5\n' +
62
- '0000000000 65535 f \n' +
63
- '0000000021 00000 n \n' +
64
- '0000000024 00001 f \n' +
65
- '0192188923 00000 n \n' +
66
- '0000129219 00000 n \n ',
67
- ),
68
- );
69
- });
70
-
71
- it(`can be serialized with multiple subsections and without object number 1`, () => {
72
- const buffer = new Uint8Array(121).fill(toCharCode(' '));
73
- expect(xref2.copyBytesInto(buffer, 3)).toBe(117);
74
- expect(buffer).toEqual(
75
- typedArrayFor(
76
- ' xref\n' +
77
- '0 1\n' +
78
- '0000000000 65535 f \n' +
79
- '3 2\n' +
80
- '0000000021 00000 n \n' +
81
- '0000000024 00001 f \n' +
82
- '6 2\n' +
83
- '0192188923 00000 n \n' +
84
- '0000129219 00000 n \n ',
85
- ),
86
- );
87
- });
88
- });