@laminapdf/sdk 0.2.0-alpha.2 → 0.2.0-alpha.4

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 (454) hide show
  1. package/README.md +63 -8
  2. package/dist/api.d.ts +8 -3
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js +4 -2
  5. package/dist/api.js.map +1 -1
  6. package/dist/builder.d.ts +43 -22
  7. package/dist/builder.d.ts.map +1 -1
  8. package/dist/builder.js +122 -83
  9. package/dist/builder.js.map +1 -1
  10. package/dist/document.d.ts +89 -22
  11. package/dist/document.d.ts.map +1 -1
  12. package/dist/document.js +177 -67
  13. package/dist/document.js.map +1 -1
  14. package/dist/errors.d.ts +5 -5
  15. package/dist/errors.d.ts.map +1 -1
  16. package/dist/errors.js +10 -16
  17. package/dist/errors.js.map +1 -1
  18. package/dist/extract-job.d.ts +100 -0
  19. package/dist/extract-job.d.ts.map +1 -0
  20. package/dist/extract-job.js +177 -0
  21. package/dist/extract-job.js.map +1 -0
  22. package/dist/extract.d.ts +57 -0
  23. package/dist/extract.d.ts.map +1 -0
  24. package/dist/extract.js +5 -0
  25. package/dist/extract.js.map +1 -0
  26. package/dist/font.d.ts +13 -6
  27. package/dist/font.d.ts.map +1 -1
  28. package/dist/font.js +50 -20
  29. package/dist/font.js.map +1 -1
  30. package/dist/generated/builder-enums.d.ts +3 -3
  31. package/dist/generated/builder-enums.d.ts.map +1 -1
  32. package/dist/generated/builder-enums.js +10 -0
  33. package/dist/generated/builder-enums.js.map +1 -1
  34. package/dist/generated/codes.d.ts +18 -6
  35. package/dist/generated/codes.d.ts.map +1 -1
  36. package/dist/generated/codes.js +114 -5
  37. package/dist/generated/codes.js.map +1 -1
  38. package/dist/generated/explain.d.ts.map +1 -1
  39. package/dist/generated/explain.js +45 -11
  40. package/dist/generated/explain.js.map +1 -1
  41. package/dist/generated/extract.d.ts +282 -0
  42. package/dist/generated/extract.d.ts.map +1 -0
  43. package/dist/generated/extract.js +4 -0
  44. package/dist/generated/extract.js.map +1 -0
  45. package/dist/init.d.ts +13 -5
  46. package/dist/init.d.ts.map +1 -1
  47. package/dist/init.js +23 -11
  48. package/dist/init.js.map +1 -1
  49. package/dist/internal/handle.d.ts +58 -0
  50. package/dist/internal/handle.d.ts.map +1 -0
  51. package/dist/internal/handle.js +113 -0
  52. package/dist/internal/handle.js.map +1 -0
  53. package/dist/internal/instance.d.ts +56 -0
  54. package/dist/internal/instance.d.ts.map +1 -0
  55. package/dist/internal/instance.js +125 -0
  56. package/dist/internal/instance.js.map +1 -0
  57. package/dist/source/http.d.ts +1 -1
  58. package/dist/source/http.js +2 -2
  59. package/dist/source/http.js.map +1 -1
  60. package/dist/source/range.d.ts +6 -1
  61. package/dist/source/range.d.ts.map +1 -1
  62. package/dist/source/range.js +10 -6
  63. package/dist/source/range.js.map +1 -1
  64. package/dist/text.d.ts +3 -3
  65. package/dist/text.d.ts.map +1 -1
  66. package/dist/text.js +3 -3
  67. package/dist/text.js.map +1 -1
  68. package/dist/types.d.ts +19 -1
  69. package/dist/types.d.ts.map +1 -1
  70. package/dist/version.d.ts +1 -1
  71. package/dist/version.js +2 -2
  72. package/dist/version.js.map +1 -1
  73. package/dist/worker/client.d.ts +3 -2
  74. package/dist/worker/client.d.ts.map +1 -1
  75. package/dist/worker/client.js +6 -4
  76. package/dist/worker/client.js.map +1 -1
  77. package/dist/worker/entry.js +1 -1
  78. package/dist/worker/entry.js.map +1 -1
  79. package/dist/worker/server.d.ts.map +1 -1
  80. package/dist/worker/server.js +42 -9
  81. package/dist/worker/server.js.map +1 -1
  82. package/dist/worker/support.d.ts +13 -3
  83. package/dist/worker/support.d.ts.map +1 -1
  84. package/dist/worker/support.js +5 -0
  85. package/dist/worker/support.js.map +1 -1
  86. package/dist/worker/types.d.ts +8 -1
  87. package/dist/worker/types.d.ts.map +1 -1
  88. package/docs/AGENTS.md +14 -0
  89. package/docs/api/README.md +166 -0
  90. package/docs/api/classes/Builder.md +467 -0
  91. package/docs/api/classes/Document.md +854 -0
  92. package/docs/api/classes/ExtractJob.md +236 -0
  93. package/docs/api/classes/Font.md +74 -0
  94. package/docs/api/classes/Image.md +140 -0
  95. package/docs/api/classes/LaminaPdfError.md +189 -0
  96. package/docs/api/classes/Page.md +178 -0
  97. package/docs/api/classes/PageRef.md +253 -0
  98. package/docs/api/classes/PageText.md +129 -0
  99. package/docs/api/classes/PageTextRun.md +167 -0
  100. package/docs/api/classes/PendingPath.md +97 -0
  101. package/docs/api/classes/SaveJob.md +205 -0
  102. package/docs/api/classes/Surface.md +331 -0
  103. package/docs/api/classes/Transaction.md +111 -0
  104. package/docs/api/functions/callbackSource.md +33 -0
  105. package/docs/api/functions/extractWithModels.md +70 -0
  106. package/docs/api/functions/httpRangeSource.md +48 -0
  107. package/docs/api/functions/init.md +36 -0
  108. package/docs/api/functions/isExtractLoaded.md +21 -0
  109. package/docs/api/functions/isInitialized.md +19 -0
  110. package/docs/api/functions/isLaminaPdfError.md +41 -0
  111. package/docs/api/functions/isTextLoaded.md +19 -0
  112. package/docs/api/functions/loadExtract.md +28 -0
  113. package/docs/api/functions/loadText.md +28 -0
  114. package/docs/api/functions/onLeak.md +29 -0
  115. package/docs/api/functions/reset.md +22 -0
  116. package/docs/api/functions/wasmMemory.md +22 -0
  117. package/docs/api/interfaces/BuilderOptions.md +108 -0
  118. package/docs/api/interfaces/ByteRange.md +29 -0
  119. package/docs/api/interfaces/ChunkOptions.md +37 -0
  120. package/docs/api/interfaces/Diagnostic.md +67 -0
  121. package/docs/api/interfaces/ExtractOptions.md +92 -0
  122. package/docs/api/interfaces/ExtractResult.md +37 -0
  123. package/docs/api/interfaces/FontInfo.md +37 -0
  124. package/docs/api/interfaces/HostModels.md +57 -0
  125. package/docs/api/interfaces/HttpRangeOptions.md +78 -0
  126. package/docs/api/interfaces/InitOptions.md +40 -0
  127. package/docs/api/interfaces/LayoutRegion.md +38 -0
  128. package/docs/api/interfaces/Leak.md +21 -0
  129. package/docs/api/interfaces/Location.md +53 -0
  130. package/docs/api/interfaces/ModelInfo.md +45 -0
  131. package/docs/api/interfaces/ModelRequest.md +45 -0
  132. package/docs/api/interfaces/Models.md +45 -0
  133. package/docs/api/interfaces/OcrWord.md +37 -0
  134. package/docs/api/interfaces/OpLog.md +25 -0
  135. package/docs/api/interfaces/OpenOptions.md +37 -0
  136. package/docs/api/interfaces/PageTextOptions.md +21 -0
  137. package/docs/api/interfaces/PathBuilder.md +195 -0
  138. package/docs/api/interfaces/QuadPoint.md +25 -0
  139. package/docs/api/interfaces/RangeOptions.md +54 -0
  140. package/docs/api/interfaces/RangeSource.md +59 -0
  141. package/docs/api/interfaces/StrokeStyle.md +61 -0
  142. package/docs/api/interfaces/TagSpec.md +69 -0
  143. package/docs/api/interfaces/TextBoxOptions.md +93 -0
  144. package/docs/api/interfaces/TextGlyph.md +29 -0
  145. package/docs/api/interfaces/TextOptions.md +101 -0
  146. package/docs/api/interfaces/WasmMemory.md +37 -0
  147. package/docs/api/type-aliases/AfRelationship.md +15 -0
  148. package/docs/api/type-aliases/Align.md +15 -0
  149. package/docs/api/type-aliases/ArtifactKind.md +15 -0
  150. package/docs/api/type-aliases/AttachmentOptions.md +15 -0
  151. package/docs/api/type-aliases/BlendMode.md +15 -0
  152. package/docs/api/type-aliases/BoxRect.md +15 -0
  153. package/docs/api/type-aliases/BuildOptions.md +15 -0
  154. package/docs/api/type-aliases/Cell.md +71 -0
  155. package/docs/api/type-aliases/Chunk.md +79 -0
  156. package/docs/api/type-aliases/Color.md +16 -0
  157. package/docs/api/type-aliases/Coordinates.md +55 -0
  158. package/docs/api/type-aliases/Direction.md +15 -0
  159. package/docs/api/type-aliases/DocumentInfo.md +15 -0
  160. package/docs/api/type-aliases/DropReason.md +15 -0
  161. package/docs/api/type-aliases/Dropped.md +59 -0
  162. package/docs/api/type-aliases/Edited.md +15 -0
  163. package/docs/api/type-aliases/ErrorCode.md +15 -0
  164. package/docs/api/type-aliases/ErrorKind.md +15 -0
  165. package/docs/api/type-aliases/ExtractFormat.md +15 -0
  166. package/docs/api/type-aliases/ExtractJobOptions.md +31 -0
  167. package/docs/api/type-aliases/ExtractStep.md +61 -0
  168. package/docs/api/type-aliases/ExtractedBlock.md +94 -0
  169. package/docs/api/type-aliases/ExtractedPage.md +73 -0
  170. package/docs/api/type-aliases/ExtractedSource.md +48 -0
  171. package/docs/api/type-aliases/Extraction.md +22 -0
  172. package/docs/api/type-aliases/FillRule.md +15 -0
  173. package/docs/api/type-aliases/Fit.md +15 -0
  174. package/docs/api/type-aliases/Flags.md +15 -0
  175. package/docs/api/type-aliases/Generator.md +43 -0
  176. package/docs/api/type-aliases/GlyphQuad.md +15 -0
  177. package/docs/api/type-aliases/InfoPatch.md +15 -0
  178. package/docs/api/type-aliases/LaminaPdfWarning.md +16 -0
  179. package/docs/api/type-aliases/LimitName.md +15 -0
  180. package/docs/api/type-aliases/Limits.md +15 -0
  181. package/docs/api/type-aliases/LineBox.md +15 -0
  182. package/docs/api/type-aliases/LineCap.md +15 -0
  183. package/docs/api/type-aliases/LineJoin.md +15 -0
  184. package/docs/api/type-aliases/LinkTarget.md +15 -0
  185. package/docs/api/type-aliases/Metadata.md +15 -0
  186. package/docs/api/type-aliases/ModelResult.md +15 -0
  187. package/docs/api/type-aliases/Op.md +15 -0
  188. package/docs/api/type-aliases/OutlineEntry.md +15 -0
  189. package/docs/api/type-aliases/OutlineNode.md +15 -0
  190. package/docs/api/type-aliases/Overflow.md +15 -0
  191. package/docs/api/type-aliases/PageInfo.md +15 -0
  192. package/docs/api/type-aliases/PageLabel.md +15 -0
  193. package/docs/api/type-aliases/PageSizeName.md +15 -0
  194. package/docs/api/type-aliases/Point.md +15 -0
  195. package/docs/api/type-aliases/Profile.md +15 -0
  196. package/docs/api/type-aliases/Progress.md +15 -0
  197. package/docs/api/type-aliases/ReadingOrder.md +15 -0
  198. package/docs/api/type-aliases/Rect.md +15 -0
  199. package/docs/api/type-aliases/Region.md +31 -0
  200. package/docs/api/type-aliases/RegionLabel.md +15 -0
  201. package/docs/api/type-aliases/RenderMode.md +15 -0
  202. package/docs/api/type-aliases/Rotation.md +15 -0
  203. package/docs/api/type-aliases/SaveOptions.md +15 -0
  204. package/docs/api/type-aliases/SaveReport.md +15 -0
  205. package/docs/api/type-aliases/Span.md +74 -0
  206. package/docs/api/type-aliases/SplitOn.md +15 -0
  207. package/docs/api/type-aliases/Standard14.md +15 -0
  208. package/docs/api/type-aliases/StructRef.md +41 -0
  209. package/docs/api/type-aliases/StructSource.md +17 -0
  210. package/docs/api/type-aliases/StructureKid.md +15 -0
  211. package/docs/api/type-aliases/StructureNode.md +16 -0
  212. package/docs/api/type-aliases/TableDetector.md +15 -0
  213. package/docs/api/type-aliases/TableMode.md +15 -0
  214. package/docs/api/type-aliases/TableScope.md +15 -0
  215. package/docs/api/type-aliases/Tag.md +15 -0
  216. package/docs/api/type-aliases/TagName.md +15 -0
  217. package/docs/api/type-aliases/Target.md +15 -0
  218. package/docs/api/type-aliases/TargetView.md +18 -0
  219. package/docs/api/type-aliases/TextLayer.md +72 -0
  220. package/docs/api/type-aliases/TextLayerStatus.md +15 -0
  221. package/docs/api/type-aliases/TextLayout.md +15 -0
  222. package/docs/api/type-aliases/TextRange.md +33 -0
  223. package/docs/api/type-aliases/TextRunInfo.md +15 -0
  224. package/docs/api/type-aliases/Transform.md +15 -0
  225. package/docs/api/type-aliases/UndoOutcome.md +15 -0
  226. package/docs/api/type-aliases/ViewerPreferences.md +15 -0
  227. package/docs/api/type-aliases/WarningCode.md +15 -0
  228. package/docs/api/type-aliases/WasmSource.md +16 -0
  229. package/docs/api/variables/Matrix.md +99 -0
  230. package/docs/api/variables/PAGE_SIZES.md +15 -0
  231. package/docs/api/variables/TAG_NAMES.md +15 -0
  232. package/docs/errors/README.md +173 -0
  233. package/docs/errors/aes-padding-invalid.md +34 -0
  234. package/docs/errors/already-initialized.md +34 -0
  235. package/docs/errors/binary-output-to-terminal.md +35 -0
  236. package/docs/errors/builder-finished.md +35 -0
  237. package/docs/errors/cancelled.md +35 -0
  238. package/docs/errors/cmap-invalid.md +42 -0
  239. package/docs/errors/collection-index.md +33 -0
  240. package/docs/errors/color-components.md +33 -0
  241. package/docs/errors/content-bad-operands.md +36 -0
  242. package/docs/errors/content-path-unpainted.md +36 -0
  243. package/docs/errors/content-resource-missing.md +37 -0
  244. package/docs/errors/content-syntax.md +36 -0
  245. package/docs/errors/content-unbalanced-bt.md +36 -0
  246. package/docs/errors/content-unbalanced-marked.md +36 -0
  247. package/docs/errors/content-unbalanced-q.md +36 -0
  248. package/docs/errors/content-unknown-operator.md +37 -0
  249. package/docs/errors/covered-text.md +33 -0
  250. package/docs/errors/data-pending.md +34 -0
  251. package/docs/errors/decompress.md +34 -0
  252. package/docs/errors/device-color-without-output-intent.md +33 -0
  253. package/docs/errors/direct-page.md +34 -0
  254. package/docs/errors/disposed.md +34 -0
  255. package/docs/errors/document-changed.md +34 -0
  256. package/docs/errors/embedded-file-forbidden.md +35 -0
  257. package/docs/errors/embedded-file-without-mime-type.md +36 -0
  258. package/docs/errors/encoding-full.md +34 -0
  259. package/docs/errors/encrypted-base.md +33 -0
  260. package/docs/errors/extract-column-order-uncertain.md +38 -0
  261. package/docs/errors/extract-limit-blocks.md +35 -0
  262. package/docs/errors/extract-module-not-loaded.md +37 -0
  263. package/docs/errors/extract-needs-ocr.md +37 -0
  264. package/docs/errors/extract-reading-order-ambiguous.md +32 -0
  265. package/docs/errors/extract-struct-tree-ignored.md +32 -0
  266. package/docs/errors/extract-table-ambiguous.md +32 -0
  267. package/docs/errors/extract-table-limit.md +35 -0
  268. package/docs/errors/extract-untagged-content.md +32 -0
  269. package/docs/errors/fetch-failed.md +34 -0
  270. package/docs/errors/flate-truncated.md +34 -0
  271. package/docs/errors/flow-content-too-large.md +34 -0
  272. package/docs/errors/flow-keep-broken.md +34 -0
  273. package/docs/errors/flow-layout-unstable.md +38 -0
  274. package/docs/errors/font-invalid.md +36 -0
  275. package/docs/errors/font-mismatch.md +34 -0
  276. package/docs/errors/font-not-embeddable.md +34 -0
  277. package/docs/errors/font-not-embedded.md +35 -0
  278. package/docs/errors/font-not-shapable.md +33 -0
  279. package/docs/errors/glyph-out-of-range.md +34 -0
  280. package/docs/errors/glyph-without-unicode.md +37 -0
  281. package/docs/errors/heading-level-skipped.md +36 -0
  282. package/docs/errors/image-data-length.md +33 -0
  283. package/docs/errors/image-too-large.md +32 -0
  284. package/docs/errors/inline-image-unterminated.md +36 -0
  285. package/docs/errors/input-unreadable.md +37 -0
  286. package/docs/errors/instance-reset.md +34 -0
  287. package/docs/errors/invalid-argument.md +33 -0
  288. package/docs/errors/invalid-axis-value.md +32 -0
  289. package/docs/errors/invalid-box.md +34 -0
  290. package/docs/errors/invalid-color.md +32 -0
  291. package/docs/errors/invalid-command-line.md +44 -0
  292. package/docs/errors/invalid-date.md +34 -0
  293. package/docs/errors/invalid-entry.md +34 -0
  294. package/docs/errors/invalid-feature.md +32 -0
  295. package/docs/errors/invalid-font.md +32 -0
  296. package/docs/errors/invalid-geometry.md +32 -0
  297. package/docs/errors/invalid-icc-profile.md +32 -0
  298. package/docs/errors/invalid-image.md +33 -0
  299. package/docs/errors/invalid-op-log.md +33 -0
  300. package/docs/errors/invalid-page-label.md +34 -0
  301. package/docs/errors/invalid-page-labels.md +32 -0
  302. package/docs/errors/invalid-page-range.md +37 -0
  303. package/docs/errors/invalid-rotate.md +34 -0
  304. package/docs/errors/invalid-spans.md +39 -0
  305. package/docs/errors/invalid-structure-nesting.md +38 -0
  306. package/docs/errors/invalid-structure.md +34 -0
  307. package/docs/errors/invalid-text-range.md +33 -0
  308. package/docs/errors/job-finished.md +34 -0
  309. package/docs/errors/limit-exceeded.md +38 -0
  310. package/docs/errors/link-without-contents.md +33 -0
  311. package/docs/errors/link-without-structure.md +37 -0
  312. package/docs/errors/markdown-html-ignored.md +33 -0
  313. package/docs/errors/markdown-image-missing.md +34 -0
  314. package/docs/errors/missing-alt-text.md +33 -0
  315. package/docs/errors/missing-glyph.md +33 -0
  316. package/docs/errors/missing-header.md +37 -0
  317. package/docs/errors/missing-lang.md +32 -0
  318. package/docs/errors/missing-root.md +34 -0
  319. package/docs/errors/missing-title.md +32 -0
  320. package/docs/errors/model-failed.md +33 -0
  321. package/docs/errors/model-needs-host.md +40 -0
  322. package/docs/errors/model-result-unexpected.md +36 -0
  323. package/docs/errors/name-tree-node-skipped.md +34 -0
  324. package/docs/errors/nested-transaction.md +34 -0
  325. package/docs/errors/no-pending-save.md +32 -0
  326. package/docs/errors/no-transaction.md +33 -0
  327. package/docs/errors/not-initialized.md +35 -0
  328. package/docs/errors/not-pdf.md +33 -0
  329. package/docs/errors/not-rebased.md +35 -0
  330. package/docs/errors/object-number-out-of-range.md +38 -0
  331. package/docs/errors/objstm-index-mismatch.md +36 -0
  332. package/docs/errors/out-of-memory.md +38 -0
  333. package/docs/errors/outline-cycle.md +34 -0
  334. package/docs/errors/outline-item-skipped.md +34 -0
  335. package/docs/errors/output-unwritable.md +37 -0
  336. package/docs/errors/overwrite-refused.md +36 -0
  337. package/docs/errors/page-count-mismatch.md +34 -0
  338. package/docs/errors/page-index-out-of-range.md +34 -0
  339. package/docs/errors/page-tree-node-skipped.md +35 -0
  340. package/docs/errors/password-required.md +36 -0
  341. package/docs/errors/path-outside-roots.md +32 -0
  342. package/docs/errors/perms-mismatch.md +34 -0
  343. package/docs/errors/profile-version-conflict.md +35 -0
  344. package/docs/errors/redaction-not-applied.md +32 -0
  345. package/docs/errors/reference-cycle.md +35 -0
  346. package/docs/errors/render-backend-unavailable.md +32 -0
  347. package/docs/errors/render-failed.md +33 -0
  348. package/docs/errors/render-too-large.md +36 -0
  349. package/docs/errors/repaired-base.md +34 -0
  350. package/docs/errors/requires-rewrite.md +38 -0
  351. package/docs/errors/revision-index-out-of-range.md +34 -0
  352. package/docs/errors/saved-not-rebased.md +34 -0
  353. package/docs/errors/sink-not-empty.md +33 -0
  354. package/docs/errors/sink.md +31 -0
  355. package/docs/errors/source-budget-exceeded.md +34 -0
  356. package/docs/errors/source-changed.md +33 -0
  357. package/docs/errors/source.md +30 -0
  358. package/docs/errors/stale-generation.md +34 -0
  359. package/docs/errors/stream-length-recovered.md +37 -0
  360. package/docs/errors/strict.md +34 -0
  361. package/docs/errors/subset-failed.md +31 -0
  362. package/docs/errors/syntax.md +34 -0
  363. package/docs/errors/tag-element-not-open.md +41 -0
  364. package/docs/errors/tag-element-unclosed.md +34 -0
  365. package/docs/errors/text-in-earlier-revision.md +36 -0
  366. package/docs/errors/text-module-not-loaded.md +36 -0
  367. package/docs/errors/text-overflow.md +34 -0
  368. package/docs/errors/tounicode-conflict.md +32 -0
  369. package/docs/errors/type.md +34 -0
  370. package/docs/errors/unexpected-eof.md +34 -0
  371. package/docs/errors/unknown-axis.md +33 -0
  372. package/docs/errors/unknown-code.md +36 -0
  373. package/docs/errors/unknown-destination.md +33 -0
  374. package/docs/errors/unknown-font.md +33 -0
  375. package/docs/errors/unknown-option.md +33 -0
  376. package/docs/errors/unknown-page.md +34 -0
  377. package/docs/errors/unmapped-glyph.md +36 -0
  378. package/docs/errors/unnumbered-heading-misused.md +34 -0
  379. package/docs/errors/unset-object.md +30 -0
  380. package/docs/errors/unsupported-filter.md +34 -0
  381. package/docs/errors/unsupported-image.md +33 -0
  382. package/docs/errors/unsupported-layout-option.md +33 -0
  383. package/docs/errors/unsupported-security-handler.md +34 -0
  384. package/docs/errors/unsupported-version.md +32 -0
  385. package/docs/errors/untagged-content.md +35 -0
  386. package/docs/errors/warnings-truncated.md +35 -0
  387. package/docs/errors/wasm-trap.md +37 -0
  388. package/docs/errors/whole-font-rebuilt.md +30 -0
  389. package/docs/errors/worker-crashed.md +33 -0
  390. package/docs/errors/worker-failed.md +32 -0
  391. package/docs/errors/worker-version-mismatch.md +34 -0
  392. package/docs/errors/would-invalidate-signatures.md +38 -0
  393. package/docs/errors/wrong-document.md +33 -0
  394. package/docs/errors/wrong-password.md +34 -0
  395. package/docs/errors/xobject-cycle.md +36 -0
  396. package/docs/errors/xref-repaired.md +36 -0
  397. package/docs/errors/xrefstm-ignored.md +34 -0
  398. package/docs/llms.txt +94 -0
  399. package/docs/pages/concepts/dependencies.md +44 -0
  400. package/docs/pages/concepts/drawing-pages.md +76 -0
  401. package/docs/pages/concepts/errors-and-warnings.md +68 -0
  402. package/docs/pages/concepts/how-lamina-thinks.md +98 -0
  403. package/docs/pages/concepts/pages-and-coordinates.md +75 -0
  404. package/docs/pages/guides/accessible-pdfs.md +262 -0
  405. package/docs/pages/guides/archival-pdfs.md +433 -0
  406. package/docs/pages/guides/edit-a-pdf.md +143 -0
  407. package/docs/pages/guides/flowing-pages.md +379 -0
  408. package/docs/pages/guides/fonts-and-text.md +204 -0
  409. package/docs/pages/guides/images-and-vectors.md +221 -0
  410. package/docs/pages/guides/keep-the-page-responsive.md +85 -0
  411. package/docs/pages/guides/links-outlines-and-metadata.md +224 -0
  412. package/docs/pages/guides/open-large-files.md +69 -0
  413. package/docs/pages/guides/password-protected-files.md +70 -0
  414. package/docs/pages/guides/save-a-pdf.md +154 -0
  415. package/docs/pages/guides/test-generated-pdfs.md +324 -0
  416. package/docs/pages/guides/untrusted-files.md +82 -0
  417. package/docs/pages/index.md +33 -0
  418. package/docs/pages/install.md +79 -0
  419. package/docs/pages/quick-start/browser.md +71 -0
  420. package/docs/pages/quick-start/bun.md +64 -0
  421. package/docs/pages/quick-start/deno.md +62 -0
  422. package/docs/pages/quick-start/node.md +65 -0
  423. package/docs/pages/quick-start/rust.md +62 -0
  424. package/docs/pages/quick-start/workers.md +139 -0
  425. package/docs/pages/recipes/cloudflare-worker.md +115 -0
  426. package/docs/pages/recipes/element-flow.md +248 -0
  427. package/docs/pages/recipes/extract-markdown.md +152 -0
  428. package/docs/pages/recipes/generate-then-edit.md +142 -0
  429. package/docs/pages/recipes/hello.md +101 -0
  430. package/docs/pages/recipes/images-and-vectors.md +216 -0
  431. package/docs/pages/recipes/invoice.md +233 -0
  432. package/docs/pages/recipes/links-and-outlines.md +222 -0
  433. package/docs/pages/recipes/multilingual.md +196 -0
  434. package/docs/pages/recipes/open-untrusted.md +65 -0
  435. package/docs/pages/recipes/pdf-a-archive.md +212 -0
  436. package/docs/pages/recipes/pdf-a3-invoice-with-xml.md +229 -0
  437. package/docs/pages/recipes/pdf-ua-report.md +244 -0
  438. package/docs/pages/recipes/report.md +125 -0
  439. package/docs/pages/recipes/web-worker-client.md +64 -0
  440. package/docs/pages/recipes.md +48 -0
  441. package/docs/pages/reference/benchmarks.md +93 -0
  442. package/docs/pages/reference/changelog.md +134 -0
  443. package/docs/pages/reference/codes.md +14 -0
  444. package/docs/pages/reference/glossary.md +108 -0
  445. package/docs/pages/reference/rust.md +36 -0
  446. package/docs/pages/reference/stability.md +59 -0
  447. package/docs/pages/start/coding-agents.md +45 -0
  448. package/docs/pages/start/first-pdf.md +81 -0
  449. package/docs/pages/troubleshooting.md +74 -0
  450. package/docs/renames.json +86 -0
  451. package/docs/schemas/error.schema.json +322 -0
  452. package/docs/schemas/renames.schema.json +29 -0
  453. package/package.json +7 -3
  454. package/schemas/error.schema.json +37 -3
@@ -0,0 +1,33 @@
1
+ ---
2
+ version: "0.2.0-alpha.4"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / callbackSource
10
+
11
+ # Function: callbackSource()
12
+
13
+ > **callbackSource**(`size`, `read`): [`RangeSource`](../interfaces/RangeSource.md)
14
+
15
+ A [RangeSource](../interfaces/RangeSource.md) over a caller's read function (a `Blob.slice`, a file handle, an IPC call).
16
+
17
+ ## Parameters
18
+
19
+ ### size
20
+
21
+ `number`
22
+
23
+ the file's size in bytes.
24
+
25
+ ### read
26
+
27
+ (`offset`, `length`, `signal?`) => `Promise`\<`Uint8Array`\<`ArrayBufferLike`\>\>
28
+
29
+ returns the `length` bytes at `offset`.
30
+
31
+ ## Returns
32
+
33
+ [`RangeSource`](../interfaces/RangeSource.md)
@@ -0,0 +1,70 @@
1
+ ---
2
+ version: "0.2.0-alpha.4"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / extractWithModels
10
+
11
+ # Function: extractWithModels()
12
+
13
+ > **extractWithModels**\<`F`\>(`doc`, `options`, `models`, `__namedParameters?`): `Promise`\<[`ExtractResult`](../interfaces/ExtractResult.md)\[`F`\]\>
14
+
15
+ Runs an extraction whose models the host runs asynchronously: steps a job, and for each
16
+ request awaits the matching function of `models`, then hands its result back.
17
+
18
+ ## Type Parameters
19
+
20
+ ### F
21
+
22
+ `F` *extends* [`ExtractFormat`](../type-aliases/ExtractFormat.md)
23
+
24
+ ## Parameters
25
+
26
+ ### doc
27
+
28
+ [`Document`](../classes/Document.md)
29
+
30
+ ### options
31
+
32
+ [`ExtractJobOptions`](../type-aliases/ExtractJobOptions.md)\<`F`\>
33
+
34
+ ### models
35
+
36
+ [`HostModels`](../interfaces/HostModels.md)
37
+
38
+ ### \_\_namedParameters?
39
+
40
+ #### budget?
41
+
42
+ `number` = `16`
43
+
44
+ #### signal?
45
+
46
+ `AbortSignal`
47
+
48
+ ## Returns
49
+
50
+ `Promise`\<[`ExtractResult`](../interfaces/ExtractResult.md)\[`F`\]\>
51
+
52
+ ## Example
53
+
54
+ ```ts
55
+ const json = await extractWithModels(
56
+ doc,
57
+ { format: "json", models: { layout: { name: "my-layout", version: "1", sha256, licence: "Apache-2.0" } } },
58
+ { layout: async ({ page, dpi }) => myModel.detect(await render(page, dpi)) },
59
+ );
60
+ ```
61
+ On a document opened with `Document.openRange`, a step that needs bytes not yet fetched ends
62
+ the job with `data-pending`, as every error ends a job; fetch the file first (`await
63
+ doc.ensure(() => doc.pages)` reads only the page tree, so read the whole file for a long
64
+ extraction), or wrap the call in `doc.ensure`, which runs it again, models included.
65
+
66
+ ## Throws
67
+
68
+ [LaminaPdfError](../classes/LaminaPdfError.md) as [ExtractJob.step](../classes/ExtractJob.md#step); `invalid-argument` when
69
+ `options.models` names a model `models` has no function for; `cancelled` once `signal`
70
+ aborts, also when the model rejects because of it (the model's error is the `cause`).
@@ -0,0 +1,48 @@
1
+ ---
2
+ version: "0.2.0-alpha.4"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / httpRangeSource
10
+
11
+ # Function: httpRangeSource()
12
+
13
+ > **httpRangeSource**(`url`, `options?`): `Promise`\<[`RangeSource`](../interfaces/RangeSource.md)\>
14
+
15
+ A [RangeSource](../interfaces/RangeSource.md) over a URL, for `Document.openRange`. The first request asks for the
16
+ last `tail` bytes, which gives the size and the part of the file a reader needs first (the
17
+ xref is at the end). Every later request sends `If-Range` with the first strong `ETag` (else
18
+ its `Last-Modified`); a response whose `ETag`, `Last-Modified` or total size differs fails
19
+ with `source-changed`. A server that ignores
20
+ `Range` (it answers `200`) is read with that one full download.
21
+
22
+ The server must allow `Range` (across origins: `Access-Control-Allow-Headers: Range, If-Range` and
23
+ `Access-Control-Expose-Headers: Content-Range, Content-Length, ETag`) and must not compress
24
+ the response.
25
+
26
+ ## Parameters
27
+
28
+ ### url
29
+
30
+ `string` \| `URL`
31
+
32
+ the file.
33
+
34
+ ### options?
35
+
36
+ [`HttpRangeOptions`](../interfaces/HttpRangeOptions.md) = `{}`
37
+
38
+ headers, credentials, signal, block size.
39
+
40
+ ## Returns
41
+
42
+ `Promise`\<[`RangeSource`](../interfaces/RangeSource.md)\>
43
+
44
+ the source, once the first request has answered.
45
+
46
+ ## Throws
47
+
48
+ [LaminaPdfError](../classes/LaminaPdfError.md) `fetch-failed` (with `data.status`), `source-changed`.
@@ -0,0 +1,36 @@
1
+ ---
2
+ version: "0.2.0-alpha.4"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / init
10
+
11
+ # Function: init()
12
+
13
+ > **init**(`input?`): `Promise`\<`void`\>
14
+
15
+ Loads the base WebAssembly module (fetched next to the package); with `{ text: true }`, the text
16
+ module too. Idempotent: later calls return at once (or load the text module). Everything else
17
+ in the package is synchronous and needs this promise to have resolved.
18
+
19
+ ## Parameters
20
+
21
+ ### input?
22
+
23
+ [`WasmSource`](../type-aliases/WasmSource.md) \| [`InitOptions`](../interfaces/InitOptions.md)
24
+
25
+ where the base module comes from (a URL, `Response`, bytes or
26
+ `WebAssembly.Module`), or options; omitted, the file next to the package.
27
+
28
+ ## Returns
29
+
30
+ `Promise`\<`void`\>
31
+
32
+ ## Example
33
+
34
+ ```ts
35
+ await init(); // or: await init({ text: true })
36
+ ```
@@ -0,0 +1,21 @@
1
+ ---
2
+ version: "0.2.0-alpha.4"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / isExtractLoaded
10
+
11
+ # Function: isExtractLoaded()
12
+
13
+ > **isExtractLoaded**(): `boolean`
14
+
15
+ Whether documents opened or built from now on can extract text: the extract or the text module
16
+ is loaded. A document opened earlier stays in the module it was opened in; ask it with
17
+ [Document.canExtractText](../classes/Document.md#canextracttext).
18
+
19
+ ## Returns
20
+
21
+ `boolean`
@@ -0,0 +1,19 @@
1
+ ---
2
+ version: "0.2.0-alpha.4"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / isInitialized
10
+
11
+ # Function: isInitialized()
12
+
13
+ > **isInitialized**(): `boolean`
14
+
15
+ Whether `init()` has finished.
16
+
17
+ ## Returns
18
+
19
+ `boolean`
@@ -0,0 +1,41 @@
1
+ ---
2
+ version: "0.2.0-alpha.4"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / isLaminaPdfError
10
+
11
+ # Function: isLaminaPdfError()
12
+
13
+ > **isLaminaPdfError**\<`C`\>(`e`, `code?`): `e is LaminaPdfError<C>`
14
+
15
+ Whether `e` is a [LaminaPdfError](../classes/LaminaPdfError.md), with `code` when given.
16
+
17
+ ## Type Parameters
18
+
19
+ ### C
20
+
21
+ `C` *extends* [`ErrorCode`](../type-aliases/ErrorCode.md)
22
+
23
+ ## Parameters
24
+
25
+ ### e
26
+
27
+ `unknown`
28
+
29
+ anything caught.
30
+
31
+ ### code?
32
+
33
+ `C`
34
+
35
+ the code to match.
36
+
37
+ ## Returns
38
+
39
+ `e is LaminaPdfError<C>`
40
+
41
+ true for a LaminaPdfError (with that code).
@@ -0,0 +1,19 @@
1
+ ---
2
+ version: "0.2.0-alpha.4"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / isTextLoaded
10
+
11
+ # Function: isTextLoaded()
12
+
13
+ > **isTextLoaded**(): `boolean`
14
+
15
+ Whether the text module is loaded (builders created now can draw text).
16
+
17
+ ## Returns
18
+
19
+ `boolean`
@@ -0,0 +1,28 @@
1
+ ---
2
+ version: "0.2.0-alpha.4"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / loadExtract
10
+
11
+ # Function: loadExtract()
12
+
13
+ > **loadExtract**(`source?`): `Promise`\<`void`\>
14
+
15
+ Loads the extract module (reading plus text extraction). Documents opened afterwards can
16
+ extract text with `page.text()`. Idempotent; not needed when the text module is loaded.
17
+
18
+ ## Parameters
19
+
20
+ ### source?
21
+
22
+ [`WasmSource`](../type-aliases/WasmSource.md)
23
+
24
+ where it comes from; omitted, the file next to the package.
25
+
26
+ ## Returns
27
+
28
+ `Promise`\<`void`\>
@@ -0,0 +1,28 @@
1
+ ---
2
+ version: "0.2.0-alpha.4"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / loadText
10
+
11
+ # Function: loadText()
12
+
13
+ > **loadText**(`source?`): `Promise`\<`void`\>
14
+
15
+ Loads the text module (fonts, shaping and text layout; about 940 KB gzipped). Builders
16
+ created afterwards can draw text. Idempotent.
17
+
18
+ ## Parameters
19
+
20
+ ### source?
21
+
22
+ [`WasmSource`](../type-aliases/WasmSource.md)
23
+
24
+ where it comes from; omitted, the file next to the package.
25
+
26
+ ## Returns
27
+
28
+ `Promise`\<`void`\>
@@ -0,0 +1,29 @@
1
+ ---
2
+ version: "0.2.0-alpha.4"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / onLeak
10
+
11
+ # Function: onLeak()
12
+
13
+ > **onLeak**(`hook?`): `void`
14
+
15
+ Reports every document, builder and image created from now on that the garbage collector
16
+ reclaims without a `free()` or `using`: a debugging aid for code that should free what it
17
+ makes. Reclaimed handles are freed anyway, only later. `onLeak()` turns the reports off.
18
+
19
+ ## Parameters
20
+
21
+ ### hook?
22
+
23
+ (`leak`) => `void`
24
+
25
+ called once per leaked handle, some time after the collection.
26
+
27
+ ## Returns
28
+
29
+ `void`
@@ -0,0 +1,22 @@
1
+ ---
2
+ version: "0.2.0-alpha.4"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / reset
10
+
11
+ # Function: reset()
12
+
13
+ > **reset**(): `void`
14
+
15
+ Replaces each loaded module's instance with a fresh one, so its memory returns to the size it
16
+ had after `init()`: WebAssembly memory grows and never shrinks, and this gives it back. Every
17
+ document, page, builder and save job made before throws `instance-reset` afterwards, so call it
18
+ while none is in use, such as between jobs on a server. Images and fonts keep working.
19
+
20
+ ## Returns
21
+
22
+ `void`
@@ -0,0 +1,22 @@
1
+ ---
2
+ version: "0.2.0-alpha.4"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / wasmMemory
10
+
11
+ # Function: wasmMemory()
12
+
13
+ > **wasmMemory**(): [`WasmMemory`](../interfaces/WasmMemory.md)
14
+
15
+ The size of each loaded module's WebAssembly memory. Memory grows and never shrinks; freed
16
+ documents and builders leave room that later ones reuse.
17
+
18
+ ## Returns
19
+
20
+ [`WasmMemory`](../interfaces/WasmMemory.md)
21
+
22
+ the byte length of each loaded module's memory.
@@ -0,0 +1,108 @@
1
+ ---
2
+ version: "0.2.0-alpha.4"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / BuilderOptions
10
+
11
+ # Interface: BuilderOptions
12
+
13
+ Options for a new [Builder](../classes/Builder.md).
14
+
15
+ ## Extends
16
+
17
+ - `Omit`\<[`BuildOptions`](../type-aliases/BuildOptions.md), `"id"`\>
18
+
19
+ ## Properties
20
+
21
+ ### compress?
22
+
23
+ > `optional` **compress?**: `boolean`
24
+
25
+ Flate-compress content streams (default `true`).
26
+
27
+ #### Inherited from
28
+
29
+ `Omit.compress`
30
+
31
+ ***
32
+
33
+ ### creationDate?
34
+
35
+ > `optional` **creationDate?**: `string`
36
+
37
+ `/CreationDate`, a PDF date (`D:20261030120000Z`).
38
+
39
+ #### Inherited from
40
+
41
+ `Omit.creationDate`
42
+
43
+ ***
44
+
45
+ ### id?
46
+
47
+ > `readonly` `optional` **id?**: `string` \| `Uint8Array`\<`ArrayBufferLike`\>
48
+
49
+ `/ID[0]`: 16 bytes, as 32 hex digits or a `Uint8Array` (default: derived from the content).
50
+
51
+ ***
52
+
53
+ ### producer?
54
+
55
+ > `optional` **producer?**: `string`
56
+
57
+ `/Producer`.
58
+
59
+ #### Inherited from
60
+
61
+ `Omit.producer`
62
+
63
+ ***
64
+
65
+ ### profiles?
66
+
67
+ > `optional` **profiles?**: `ProfileInit`[]
68
+
69
+ Conformance profiles: `PDF/UA-1` with at most one PDF/A profile. `finish` then fails
70
+ with a coded error for each machine-checkable rule the document breaks.
71
+
72
+ #### Inherited from
73
+
74
+ `Omit.profiles`
75
+
76
+ ***
77
+
78
+ ### tagged?
79
+
80
+ > `optional` **tagged?**: `boolean`
81
+
82
+ A tagged document (structure tree, `/MarkInfo`) even before any element (default
83
+ `false`; a page using `beginTag` or `beginArtifact` makes it tagged either way).
84
+
85
+ #### Inherited from
86
+
87
+ `Omit.tagged`
88
+
89
+ ***
90
+
91
+ ### text?
92
+
93
+ > `readonly` `optional` **text?**: `boolean`
94
+
95
+ Build in the text module (fonts and text). Default: when it is loaded. `true` without the
96
+ text module loaded throws `text-module-not-loaded`.
97
+
98
+ ***
99
+
100
+ ### version?
101
+
102
+ > `optional` **version?**: `PdfVersionInit`
103
+
104
+ The header version (default 1.7).
105
+
106
+ #### Inherited from
107
+
108
+ `Omit.version`
@@ -0,0 +1,29 @@
1
+ ---
2
+ version: "0.2.0-alpha.4"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / ByteRange
10
+
11
+ # Interface: ByteRange
12
+
13
+ A byte range of the input.
14
+
15
+ ## Properties
16
+
17
+ ### length
18
+
19
+ > `readonly` **length**: `number`
20
+
21
+ Number of bytes.
22
+
23
+ ***
24
+
25
+ ### offset
26
+
27
+ > `readonly` **offset**: `number`
28
+
29
+ First byte.
@@ -0,0 +1,37 @@
1
+ ---
2
+ version: "0.2.0-alpha.4"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / ChunkOptions
10
+
11
+ # Interface: ChunkOptions
12
+
13
+ How the Markdown is cut into chunks.
14
+
15
+ ## Properties
16
+
17
+ ### maxTokens?
18
+
19
+ > `readonly` `optional` **maxTokens?**: `number`
20
+
21
+ A chunk's budget in approximate tokens (characters / 4); 512 by default. Blocks are never cut.
22
+
23
+ ***
24
+
25
+ ### overlap?
26
+
27
+ > `readonly` `optional` **overlap?**: `number`
28
+
29
+ Approximate tokens of whole blocks a chunk repeats from the one before it; 0 by default.
30
+
31
+ ***
32
+
33
+ ### splitOn?
34
+
35
+ > `readonly` `optional` **splitOn?**: [`SplitOn`](../type-aliases/SplitOn.md)
36
+
37
+ Where chunks may start.
@@ -0,0 +1,67 @@
1
+ ---
2
+ version: "0.2.0-alpha.4"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / Diagnostic
10
+
11
+ # Interface: Diagnostic\<C\>
12
+
13
+ The ADR 0026 §1 object: what `LaminaPdfError.toJSON()` returns and the WASM throws.
14
+
15
+ ## Type Parameters
16
+
17
+ ### C
18
+
19
+ `C` *extends* `string` = [`ErrorCode`](../type-aliases/ErrorCode.md)
20
+
21
+ ## Properties
22
+
23
+ ### code
24
+
25
+ > `readonly` **code**: `C`
26
+
27
+ ***
28
+
29
+ ### data?
30
+
31
+ > `readonly` `optional` **data?**: `Readonly`\<`Record`\<`string`, `unknown`\>\>
32
+
33
+ ***
34
+
35
+ ### didYouMean?
36
+
37
+ > `readonly` `optional` **didYouMean?**: readonly `string`[]
38
+
39
+ ***
40
+
41
+ ### docsUrl
42
+
43
+ > `readonly` **docsUrl**: `string`
44
+
45
+ ***
46
+
47
+ ### hint?
48
+
49
+ > `readonly` `optional` **hint?**: `string`
50
+
51
+ ***
52
+
53
+ ### kind
54
+
55
+ > `readonly` **kind**: [`ErrorKind`](../type-aliases/ErrorKind.md)
56
+
57
+ ***
58
+
59
+ ### location?
60
+
61
+ > `readonly` `optional` **location?**: [`Location`](Location.md)
62
+
63
+ ***
64
+
65
+ ### message
66
+
67
+ > `readonly` **message**: `string`