@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,236 @@
1
+ ---
2
+ version: "0.2.0-alpha.4"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / ExtractJob
10
+
11
+ # Class: ExtractJob\<F\>
12
+
13
+ An extraction in progress, from [Document.extractJob](Document.md#extractjob). It holds WebAssembly memory and is
14
+ freed with its document, or earlier with `free()` or `using`.
15
+
16
+ ## Extends
17
+
18
+ - `Handle`\<`BaseGlue`\>
19
+
20
+ ## Type Parameters
21
+
22
+ ### F
23
+
24
+ `F` *extends* [`ExtractFormat`](../type-aliases/ExtractFormat.md) = [`ExtractFormat`](../type-aliases/ExtractFormat.md)
25
+
26
+ ## Accessors
27
+
28
+ ### instance
29
+
30
+ #### Get Signature
31
+
32
+ > **get** `protected` **instance**(): `Instance`\<`G`\>
33
+
34
+ The instance this handle lives in (for the handles it makes).
35
+
36
+ ##### Returns
37
+
38
+ `Instance`\<`G`\>
39
+
40
+ #### Inherited from
41
+
42
+ `Handle.instance`
43
+
44
+ ***
45
+
46
+ ### isFreed
47
+
48
+ #### Get Signature
49
+
50
+ > **get** `protected` **isFreed**(): `boolean`
51
+
52
+ Whether `free()` ran on this handle or its parent.
53
+
54
+ ##### Returns
55
+
56
+ `boolean`
57
+
58
+ #### Inherited from
59
+
60
+ `Handle.isFreed`
61
+
62
+ ***
63
+
64
+ ### owned
65
+
66
+ #### Get Signature
67
+
68
+ > **get** `protected` **owned**(): `boolean`
69
+
70
+ Whether the handle's raw objects can be freed: its instance is current and hasn't trapped.
71
+
72
+ ##### Returns
73
+
74
+ `boolean`
75
+
76
+ #### Inherited from
77
+
78
+ `Handle.owned`
79
+
80
+ ## Methods
81
+
82
+ ### \[dispose\]()
83
+
84
+ > **\[dispose\]**(): `void`
85
+
86
+ Frees the handle at the end of a `using` block (an alias of `free()`).
87
+
88
+ #### Returns
89
+
90
+ `void`
91
+
92
+ #### Inherited from
93
+
94
+ `Handle.[dispose]`
95
+
96
+ ***
97
+
98
+ ### assertLive()
99
+
100
+ > `protected` **assertLive**(): `void`
101
+
102
+ #### Returns
103
+
104
+ `void`
105
+
106
+ #### Throws
107
+
108
+ [LaminaPdfError](LaminaPdfError.md) `disposed` after `free()` (here or on the parent);
109
+ `instance-reset` when the instance was replaced (a trapped one is replaced first).
110
+
111
+ #### Inherited from
112
+
113
+ `Handle.assertLive`
114
+
115
+ ***
116
+
117
+ ### call()
118
+
119
+ > `protected` **call**\<`T`\>(`f`): `T`
120
+
121
+ Runs `f` (calls into the glue) on this live handle; see Instance.call.
122
+
123
+ #### Type Parameters
124
+
125
+ ##### T
126
+
127
+ `T`
128
+
129
+ #### Parameters
130
+
131
+ ##### f
132
+
133
+ (`glue`) => `T`
134
+
135
+ #### Returns
136
+
137
+ `T`
138
+
139
+ #### Inherited from
140
+
141
+ `Handle.call`
142
+
143
+ ***
144
+
145
+ ### cancel()
146
+
147
+ > **cancel**(): `void`
148
+
149
+ Stops the job: its next step fails with `cancelled`.
150
+
151
+ #### Returns
152
+
153
+ `void`
154
+
155
+ ***
156
+
157
+ ### free()
158
+
159
+ > **free**(): `void`
160
+
161
+ Frees the handle's memory now; without it, the garbage collector frees it later. A second
162
+ call does nothing, and any other call afterwards throws `disposed`. Prefer `using`, which
163
+ calls this at the end of the block.
164
+
165
+ #### Returns
166
+
167
+ `void`
168
+
169
+ #### Inherited from
170
+
171
+ `Handle.free`
172
+
173
+ ***
174
+
175
+ ### provide()
176
+
177
+ > **provide**(`result`): `void`
178
+
179
+ Hands the job the result of its open request.
180
+
181
+ #### Parameters
182
+
183
+ ##### result
184
+
185
+ [`ModelResult`](../type-aliases/ModelResult.md)
186
+
187
+ #### Returns
188
+
189
+ `void`
190
+
191
+ #### Throws
192
+
193
+ [LaminaPdfError](LaminaPdfError.md) `model-result-unexpected` when nothing was asked for or `result`
194
+ is the other model's; `invalid-argument` / `unknown-option` for a malformed result.
195
+
196
+ ***
197
+
198
+ ### release()
199
+
200
+ > `protected` **release**(): `void`
201
+
202
+ Frees the WebAssembly side; called at most once, and only while [owned](#owned).
203
+
204
+ #### Returns
205
+
206
+ `void`
207
+
208
+ #### Overrides
209
+
210
+ `Handle.release`
211
+
212
+ ***
213
+
214
+ ### step()
215
+
216
+ > **step**(`budget?`): [`ExtractStep`](../type-aliases/ExtractStep.md)\<`F`\>
217
+
218
+ Extracts up to `budget` pages. While a model's result is awaited, the step returns
219
+ `{ state: "progress", phase: "model", request }` and does nothing more until
220
+ [provide](#provide) answers it.
221
+
222
+ #### Parameters
223
+
224
+ ##### budget?
225
+
226
+ `number` = `1`
227
+
228
+ #### Returns
229
+
230
+ [`ExtractStep`](../type-aliases/ExtractStep.md)\<`F`\>
231
+
232
+ progress, or `{ state: "done", output }` with the output in the job's format.
233
+
234
+ #### Throws
235
+
236
+ [LaminaPdfError](LaminaPdfError.md) `cancelled`, `document-changed`, `job-finished`, the reading errors.
@@ -0,0 +1,74 @@
1
+ ---
2
+ version: "0.2.0-alpha.4"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / Font
10
+
11
+ # Class: Font
12
+
13
+ A font to draw text with: TrueType or OpenType bytes (subset to the glyphs drawn and embedded)
14
+ or one of the standard 14. Needs the text module (`init({ text: true })`).
15
+
16
+ ## Example
17
+
18
+ ```ts
19
+ const inter = Font.fromBytes(await (await fetch("/Inter.ttf")).arrayBuffer());
20
+ surface.text("Hello", { font: inter, size: 12, at: [72, 72] });
21
+ ```
22
+
23
+ ## Properties
24
+
25
+ ### bytes
26
+
27
+ > `readonly` **bytes**: `Uint8Array`\<`ArrayBufferLike`\> \| `undefined`
28
+
29
+ The font program, for a font loaded from bytes.
30
+
31
+ ***
32
+
33
+ ### standard
34
+
35
+ > `readonly` **standard**: [`Standard14`](../type-aliases/Standard14.md) \| `undefined`
36
+
37
+ The PostScript name, for a standard 14 font.
38
+
39
+ ## Methods
40
+
41
+ ### fromBytes()
42
+
43
+ > `static` **fromBytes**(`bytes`): `Font`
44
+
45
+ A font from its bytes (TrueType or OpenType/CFF). The bytes are checked when a builder first
46
+ uses the font (`invalid-font`, `font-not-embeddable`).
47
+
48
+ #### Parameters
49
+
50
+ ##### bytes
51
+
52
+ `ArrayBuffer` \| `Uint8Array`\<`ArrayBufferLike`\>
53
+
54
+ #### Returns
55
+
56
+ `Font`
57
+
58
+ ***
59
+
60
+ ### standard()
61
+
62
+ > `static` **standard**(`name`): `Font`
63
+
64
+ One of the standard 14 fonts.
65
+
66
+ #### Parameters
67
+
68
+ ##### name
69
+
70
+ [`Standard14`](../type-aliases/Standard14.md)
71
+
72
+ #### Returns
73
+
74
+ `Font`
@@ -0,0 +1,140 @@
1
+ ---
2
+ version: "0.2.0-alpha.4"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / Image
10
+
11
+ # Class: Image
12
+
13
+ An image to draw: a JPEG (passed through), a PNG (alpha as a soft mask) or raw RGBA pixels.
14
+ The bytes are copied when the image is created. It is decoded once per WASM module, the first
15
+ time a builder of that module draws it (or `width`/`height` is read), so problems with the
16
+ data (`invalid-image`, `unsupported-image`, …) surface there. Written once per document however
17
+ often it is drawn. It keeps its bytes, so it outlives `reset()` and decodes again.
18
+
19
+ ## Accessors
20
+
21
+ ### height
22
+
23
+ #### Get Signature
24
+
25
+ > **get** **height**(): `number`
26
+
27
+ Height in pixels (decodes the image if no module has yet).
28
+
29
+ ##### Throws
30
+
31
+ [LaminaPdfError](LaminaPdfError.md) as `in`.
32
+
33
+ ##### Returns
34
+
35
+ `number`
36
+
37
+ ***
38
+
39
+ ### width
40
+
41
+ #### Get Signature
42
+
43
+ > **get** **width**(): `number`
44
+
45
+ Width in pixels (decodes the image if no module has yet).
46
+
47
+ ##### Throws
48
+
49
+ [LaminaPdfError](LaminaPdfError.md) as `in`.
50
+
51
+ ##### Returns
52
+
53
+ `number`
54
+
55
+ ## Methods
56
+
57
+ ### \[dispose\]()
58
+
59
+ > **\[dispose\]**(): `void`
60
+
61
+ Frees the image at the end of a `using` block (an alias of `free()`).
62
+
63
+ #### Returns
64
+
65
+ `void`
66
+
67
+ ***
68
+
69
+ ### free()
70
+
71
+ > **free**(): `void`
72
+
73
+ Frees the image's WASM memory now; without it, the garbage collector frees it later. A second
74
+ call does nothing, and any other call afterwards throws `disposed`. Prefer `using`.
75
+
76
+ #### Returns
77
+
78
+ `void`
79
+
80
+ ***
81
+
82
+ ### jpeg()
83
+
84
+ > `static` **jpeg**(`bytes`): `Image`
85
+
86
+ A JPEG.
87
+
88
+ #### Parameters
89
+
90
+ ##### bytes
91
+
92
+ `Uint8Array`
93
+
94
+ #### Returns
95
+
96
+ `Image`
97
+
98
+ ***
99
+
100
+ ### png()
101
+
102
+ > `static` **png**(`bytes`): `Image`
103
+
104
+ A PNG.
105
+
106
+ #### Parameters
107
+
108
+ ##### bytes
109
+
110
+ `Uint8Array`
111
+
112
+ #### Returns
113
+
114
+ `Image`
115
+
116
+ ***
117
+
118
+ ### rgba()
119
+
120
+ > `static` **rgba**(`width`, `height`, `pixels`): `Image`
121
+
122
+ 8-bit RGBA pixels, row by row (`image-data-length` at first use for a wrong length).
123
+
124
+ #### Parameters
125
+
126
+ ##### width
127
+
128
+ `number`
129
+
130
+ ##### height
131
+
132
+ `number`
133
+
134
+ ##### pixels
135
+
136
+ `Uint8Array`
137
+
138
+ #### Returns
139
+
140
+ `Image`
@@ -0,0 +1,189 @@
1
+ ---
2
+ version: "0.2.0-alpha.4"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / LaminaPdfError
10
+
11
+ # Class: LaminaPdfError\<C\>
12
+
13
+ The one error class of `@laminapdf/sdk` (ADR 0026 §7). `message`, `hint` and `didYouMean` never
14
+ hold document text (ADR 0026 §4); that goes in `data`, marked untrusted on the code's page at
15
+ `docsUrl`.
16
+
17
+ ## Example
18
+
19
+ ```ts
20
+ try {
21
+ Document.open(bytes, { password: "secret" });
22
+ } catch (e) {
23
+ if (isLaminaPdfError(e, "wrong-password")) askAgain();
24
+ else throw e;
25
+ }
26
+ ```
27
+
28
+ ## Extends
29
+
30
+ - `Error`
31
+
32
+ ## Type Parameters
33
+
34
+ ### C
35
+
36
+ `C` *extends* [`ErrorCode`](../type-aliases/ErrorCode.md) = [`ErrorCode`](../type-aliases/ErrorCode.md)
37
+
38
+ ## Constructors
39
+
40
+ ### Constructor
41
+
42
+ > **new LaminaPdfError**\<`C`\>(`diagnostic`, `options?`): `LaminaPdfError`\<`C`\>
43
+
44
+ #### Parameters
45
+
46
+ ##### diagnostic
47
+
48
+ [`Diagnostic`](../interfaces/Diagnostic.md)\<`C`\>
49
+
50
+ the ADR 0026 §1 object.
51
+
52
+ ##### options?
53
+
54
+ `cause`, when wrapping another error.
55
+
56
+ ###### cause?
57
+
58
+ `unknown`
59
+
60
+ #### Returns
61
+
62
+ `LaminaPdfError`\<`C`\>
63
+
64
+ #### Overrides
65
+
66
+ `Error.constructor`
67
+
68
+ ## Properties
69
+
70
+ ### cause?
71
+
72
+ > `optional` **cause?**: `unknown`
73
+
74
+ #### Inherited from
75
+
76
+ `Error.cause`
77
+
78
+ ***
79
+
80
+ ### code
81
+
82
+ > `readonly` **code**: `C`
83
+
84
+ The stable code (`fixtures/codes.json`).
85
+
86
+ ***
87
+
88
+ ### data?
89
+
90
+ > `readonly` `optional` **data?**: `Readonly`\<`Record`\<`string`, `unknown`\>\>
91
+
92
+ Code-specific fields, documented on the code's page (the only place document text appears).
93
+
94
+ ***
95
+
96
+ ### didYouMean?
97
+
98
+ > `readonly` `optional` **didYouMean?**: readonly `string`[]
99
+
100
+ For `usage` errors: the closest known names (Lamina PDF's own vocabulary).
101
+
102
+ ***
103
+
104
+ ### docsUrl
105
+
106
+ > `readonly` **docsUrl**: `string`
107
+
108
+ The code's page.
109
+
110
+ ***
111
+
112
+ ### hint?
113
+
114
+ > `readonly` `optional` **hint?**: `string`
115
+
116
+ One actionable sentence for this code.
117
+
118
+ ***
119
+
120
+ ### kind
121
+
122
+ > `readonly` **kind**: [`ErrorKind`](../type-aliases/ErrorKind.md)
123
+
124
+ What the caller can do about it.
125
+
126
+ ***
127
+
128
+ ### location?
129
+
130
+ > `readonly` `optional` **location?**: [`Location`](../interfaces/Location.md)
131
+
132
+ Where in the input or the document.
133
+
134
+ ***
135
+
136
+ ### message
137
+
138
+ > **message**: `string`
139
+
140
+ #### Inherited from
141
+
142
+ `Error.message`
143
+
144
+ ***
145
+
146
+ ### name
147
+
148
+ > `readonly` **name**: `"LaminaPdfError"` = `"LaminaPdfError"`
149
+
150
+ #### Overrides
151
+
152
+ `Error.name`
153
+
154
+ ***
155
+
156
+ ### stack?
157
+
158
+ > `optional` **stack?**: `string`
159
+
160
+ #### Inherited from
161
+
162
+ `Error.stack`
163
+
164
+ ## Accessors
165
+
166
+ ### ranges
167
+
168
+ #### Get Signature
169
+
170
+ > **get** **ranges**(): readonly `object`[] \| `undefined`
171
+
172
+ For `data-pending`: the byte ranges a range document needs fetched before the call can
173
+ succeed (`data.ranges`); `undefined` for other codes. [Document.ensure](Document.md#ensure) fetches them.
174
+
175
+ ##### Returns
176
+
177
+ readonly `object`[] \| `undefined`
178
+
179
+ ## Methods
180
+
181
+ ### toJSON()
182
+
183
+ > **toJSON**(): [`Diagnostic`](../interfaces/Diagnostic.md)\<`C`\>
184
+
185
+ The ADR 0026 §1 object (for logs, workers and `--json` output); optional fields omitted.
186
+
187
+ #### Returns
188
+
189
+ [`Diagnostic`](../interfaces/Diagnostic.md)\<`C`\>