@laminapdf/sdk 0.0.0-stage → 0.2.0-alpha.3

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 (478) hide show
  1. package/README.md +243 -2
  2. package/dist/api.d.ts +26 -0
  3. package/dist/api.d.ts.map +1 -0
  4. package/dist/api.js +12 -0
  5. package/dist/api.js.map +1 -0
  6. package/dist/builder.d.ts +335 -0
  7. package/dist/builder.d.ts.map +1 -0
  8. package/dist/builder.js +574 -0
  9. package/dist/builder.js.map +1 -0
  10. package/dist/defined.d.ts +5 -0
  11. package/dist/defined.d.ts.map +1 -0
  12. package/dist/defined.js +7 -0
  13. package/dist/defined.js.map +1 -0
  14. package/dist/document.d.ts +267 -0
  15. package/dist/document.d.ts.map +1 -0
  16. package/dist/document.js +472 -0
  17. package/dist/document.js.map +1 -0
  18. package/dist/entry/node.d.ts +30 -0
  19. package/dist/entry/node.d.ts.map +1 -0
  20. package/dist/entry/node.js +37 -0
  21. package/dist/entry/node.js.map +1 -0
  22. package/dist/entry/workerd.d.ts +30 -0
  23. package/dist/entry/workerd.d.ts.map +1 -0
  24. package/dist/entry/workerd.js +37 -0
  25. package/dist/entry/workerd.js.map +1 -0
  26. package/dist/errors.d.ts +102 -0
  27. package/dist/errors.d.ts.map +1 -0
  28. package/dist/errors.js +131 -0
  29. package/dist/errors.js.map +1 -0
  30. package/dist/explain.d.ts +20 -0
  31. package/dist/explain.d.ts.map +1 -0
  32. package/dist/explain.js +14 -0
  33. package/dist/explain.js.map +1 -0
  34. package/dist/extract.d.ts +57 -0
  35. package/dist/extract.d.ts.map +1 -0
  36. package/dist/extract.js +5 -0
  37. package/dist/extract.js.map +1 -0
  38. package/dist/font.d.ts +73 -0
  39. package/dist/font.d.ts.map +1 -0
  40. package/dist/font.js +133 -0
  41. package/dist/font.js.map +1 -0
  42. package/dist/generated/builder-enums.d.ts +29 -0
  43. package/dist/generated/builder-enums.d.ts.map +1 -0
  44. package/dist/generated/builder-enums.js +80 -0
  45. package/dist/generated/builder-enums.js.map +1 -0
  46. package/dist/generated/codes.d.ts +109 -0
  47. package/dist/generated/codes.d.ts.map +1 -0
  48. package/dist/generated/codes.js +508 -0
  49. package/dist/generated/codes.js.map +1 -0
  50. package/dist/generated/explain.d.ts +6 -0
  51. package/dist/generated/explain.d.ts.map +1 -0
  52. package/dist/generated/explain.js +155 -0
  53. package/dist/generated/explain.js.map +1 -0
  54. package/dist/generated/extract.d.ts +235 -0
  55. package/dist/generated/extract.d.ts.map +1 -0
  56. package/dist/generated/extract.js +4 -0
  57. package/dist/generated/extract.js.map +1 -0
  58. package/dist/index.d.ts +30 -0
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/index.js +37 -0
  61. package/dist/index.js.map +1 -0
  62. package/dist/init.d.ts +88 -0
  63. package/dist/init.d.ts.map +1 -0
  64. package/dist/init.js +139 -0
  65. package/dist/init.js.map +1 -0
  66. package/dist/internal/handle.d.ts +58 -0
  67. package/dist/internal/handle.d.ts.map +1 -0
  68. package/dist/internal/handle.js +113 -0
  69. package/dist/internal/handle.js.map +1 -0
  70. package/dist/internal/instance.d.ts +56 -0
  71. package/dist/internal/instance.d.ts.map +1 -0
  72. package/dist/internal/instance.js +125 -0
  73. package/dist/internal/instance.js.map +1 -0
  74. package/dist/loader/fetch.d.ts +3 -0
  75. package/dist/loader/fetch.d.ts.map +1 -0
  76. package/dist/loader/fetch.js +2 -0
  77. package/dist/loader/fetch.js.map +1 -0
  78. package/dist/loader/node.d.ts +3 -0
  79. package/dist/loader/node.d.ts.map +1 -0
  80. package/dist/loader/node.js +9 -0
  81. package/dist/loader/node.js.map +1 -0
  82. package/dist/loader/workerd.d.ts +3 -0
  83. package/dist/loader/workerd.d.ts.map +1 -0
  84. package/dist/loader/workerd.js +15 -0
  85. package/dist/loader/workerd.js.map +1 -0
  86. package/dist/matrix.d.ts +16 -0
  87. package/dist/matrix.d.ts.map +1 -0
  88. package/dist/matrix.js +36 -0
  89. package/dist/matrix.js.map +1 -0
  90. package/dist/path.d.ts +34 -0
  91. package/dist/path.d.ts.map +1 -0
  92. package/dist/path.js +49 -0
  93. package/dist/path.js.map +1 -0
  94. package/dist/source/http.d.ts +36 -0
  95. package/dist/source/http.d.ts.map +1 -0
  96. package/dist/source/http.js +211 -0
  97. package/dist/source/http.js.map +1 -0
  98. package/dist/source/range.d.ts +75 -0
  99. package/dist/source/range.d.ts.map +1 -0
  100. package/dist/source/range.js +100 -0
  101. package/dist/source/range.js.map +1 -0
  102. package/dist/text.d.ts +90 -0
  103. package/dist/text.d.ts.map +1 -0
  104. package/dist/text.js +127 -0
  105. package/dist/text.js.map +1 -0
  106. package/dist/transaction.d.ts +36 -0
  107. package/dist/transaction.d.ts.map +1 -0
  108. package/dist/transaction.js +47 -0
  109. package/dist/transaction.js.map +1 -0
  110. package/dist/types.d.ts +79 -0
  111. package/dist/types.d.ts.map +1 -0
  112. package/dist/types.js +2 -0
  113. package/dist/types.js.map +1 -0
  114. package/dist/version.d.ts +3 -0
  115. package/dist/version.d.ts.map +1 -0
  116. package/dist/version.js +6 -0
  117. package/dist/version.js.map +1 -0
  118. package/dist/worker/client.d.ts +88 -0
  119. package/dist/worker/client.d.ts.map +1 -0
  120. package/dist/worker/client.js +407 -0
  121. package/dist/worker/client.js.map +1 -0
  122. package/dist/worker/emitter.d.ts +12 -0
  123. package/dist/worker/emitter.d.ts.map +1 -0
  124. package/dist/worker/emitter.js +34 -0
  125. package/dist/worker/emitter.js.map +1 -0
  126. package/dist/worker/entry.d.ts +2 -0
  127. package/dist/worker/entry.d.ts.map +1 -0
  128. package/dist/worker/entry.js +4 -0
  129. package/dist/worker/entry.js.map +1 -0
  130. package/dist/worker/index.d.ts +7 -0
  131. package/dist/worker/index.d.ts.map +1 -0
  132. package/dist/worker/index.js +4 -0
  133. package/dist/worker/index.js.map +1 -0
  134. package/dist/worker/protocol.d.ts +82 -0
  135. package/dist/worker/protocol.d.ts.map +1 -0
  136. package/dist/worker/protocol.js +11 -0
  137. package/dist/worker/protocol.js.map +1 -0
  138. package/dist/worker/server.d.ts +51 -0
  139. package/dist/worker/server.d.ts.map +1 -0
  140. package/dist/worker/server.js +493 -0
  141. package/dist/worker/server.js.map +1 -0
  142. package/dist/worker/support.d.ts +43 -0
  143. package/dist/worker/support.d.ts.map +1 -0
  144. package/dist/worker/support.js +26 -0
  145. package/dist/worker/support.js.map +1 -0
  146. package/dist/worker/transfer.d.ts +3 -0
  147. package/dist/worker/transfer.d.ts.map +1 -0
  148. package/dist/worker/transfer.js +13 -0
  149. package/dist/worker/transfer.js.map +1 -0
  150. package/dist/worker/types.d.ts +50 -0
  151. package/dist/worker/types.d.ts.map +1 -0
  152. package/dist/worker/types.js +2 -0
  153. package/dist/worker/types.js.map +1 -0
  154. package/docs/AGENTS.md +14 -0
  155. package/docs/api/README.md +147 -0
  156. package/docs/api/classes/Builder.md +467 -0
  157. package/docs/api/classes/Document.md +742 -0
  158. package/docs/api/classes/Font.md +74 -0
  159. package/docs/api/classes/Image.md +140 -0
  160. package/docs/api/classes/LaminaPdfError.md +189 -0
  161. package/docs/api/classes/Page.md +178 -0
  162. package/docs/api/classes/PageRef.md +253 -0
  163. package/docs/api/classes/PageText.md +129 -0
  164. package/docs/api/classes/PageTextRun.md +167 -0
  165. package/docs/api/classes/PendingPath.md +97 -0
  166. package/docs/api/classes/SaveJob.md +205 -0
  167. package/docs/api/classes/Surface.md +326 -0
  168. package/docs/api/classes/Transaction.md +111 -0
  169. package/docs/api/functions/callbackSource.md +33 -0
  170. package/docs/api/functions/httpRangeSource.md +48 -0
  171. package/docs/api/functions/init.md +36 -0
  172. package/docs/api/functions/isExtractLoaded.md +21 -0
  173. package/docs/api/functions/isInitialized.md +19 -0
  174. package/docs/api/functions/isLaminaPdfError.md +41 -0
  175. package/docs/api/functions/isTextLoaded.md +19 -0
  176. package/docs/api/functions/loadExtract.md +28 -0
  177. package/docs/api/functions/loadText.md +28 -0
  178. package/docs/api/functions/onLeak.md +29 -0
  179. package/docs/api/functions/reset.md +22 -0
  180. package/docs/api/functions/wasmMemory.md +22 -0
  181. package/docs/api/interfaces/BuilderOptions.md +108 -0
  182. package/docs/api/interfaces/ByteRange.md +29 -0
  183. package/docs/api/interfaces/ChunkOptions.md +37 -0
  184. package/docs/api/interfaces/Diagnostic.md +67 -0
  185. package/docs/api/interfaces/ExtractOptions.md +92 -0
  186. package/docs/api/interfaces/ExtractResult.md +37 -0
  187. package/docs/api/interfaces/FontInfo.md +37 -0
  188. package/docs/api/interfaces/HttpRangeOptions.md +78 -0
  189. package/docs/api/interfaces/InitOptions.md +40 -0
  190. package/docs/api/interfaces/Leak.md +21 -0
  191. package/docs/api/interfaces/Location.md +53 -0
  192. package/docs/api/interfaces/OpLog.md +25 -0
  193. package/docs/api/interfaces/OpenOptions.md +37 -0
  194. package/docs/api/interfaces/PageTextOptions.md +21 -0
  195. package/docs/api/interfaces/PathBuilder.md +195 -0
  196. package/docs/api/interfaces/QuadPoint.md +25 -0
  197. package/docs/api/interfaces/RangeOptions.md +54 -0
  198. package/docs/api/interfaces/RangeSource.md +59 -0
  199. package/docs/api/interfaces/StrokeStyle.md +61 -0
  200. package/docs/api/interfaces/TagSpec.md +69 -0
  201. package/docs/api/interfaces/TextBoxOptions.md +93 -0
  202. package/docs/api/interfaces/TextGlyph.md +29 -0
  203. package/docs/api/interfaces/TextOptions.md +101 -0
  204. package/docs/api/interfaces/WasmMemory.md +37 -0
  205. package/docs/api/type-aliases/AfRelationship.md +15 -0
  206. package/docs/api/type-aliases/Align.md +15 -0
  207. package/docs/api/type-aliases/ArtifactKind.md +15 -0
  208. package/docs/api/type-aliases/AttachmentOptions.md +15 -0
  209. package/docs/api/type-aliases/BlendMode.md +15 -0
  210. package/docs/api/type-aliases/BoxRect.md +15 -0
  211. package/docs/api/type-aliases/BuildOptions.md +15 -0
  212. package/docs/api/type-aliases/Cell.md +71 -0
  213. package/docs/api/type-aliases/Chunk.md +79 -0
  214. package/docs/api/type-aliases/Color.md +16 -0
  215. package/docs/api/type-aliases/Coordinates.md +55 -0
  216. package/docs/api/type-aliases/Direction.md +15 -0
  217. package/docs/api/type-aliases/DocumentInfo.md +15 -0
  218. package/docs/api/type-aliases/DropReason.md +15 -0
  219. package/docs/api/type-aliases/Dropped.md +59 -0
  220. package/docs/api/type-aliases/Edited.md +15 -0
  221. package/docs/api/type-aliases/ErrorCode.md +15 -0
  222. package/docs/api/type-aliases/ErrorKind.md +15 -0
  223. package/docs/api/type-aliases/ExtractFormat.md +15 -0
  224. package/docs/api/type-aliases/ExtractedBlock.md +82 -0
  225. package/docs/api/type-aliases/ExtractedPage.md +65 -0
  226. package/docs/api/type-aliases/ExtractedSource.md +48 -0
  227. package/docs/api/type-aliases/Extraction.md +22 -0
  228. package/docs/api/type-aliases/FillRule.md +15 -0
  229. package/docs/api/type-aliases/Fit.md +15 -0
  230. package/docs/api/type-aliases/Flags.md +15 -0
  231. package/docs/api/type-aliases/Generator.md +41 -0
  232. package/docs/api/type-aliases/GlyphQuad.md +15 -0
  233. package/docs/api/type-aliases/InfoPatch.md +15 -0
  234. package/docs/api/type-aliases/LaminaPdfWarning.md +16 -0
  235. package/docs/api/type-aliases/LimitName.md +15 -0
  236. package/docs/api/type-aliases/Limits.md +15 -0
  237. package/docs/api/type-aliases/LineBox.md +15 -0
  238. package/docs/api/type-aliases/LineCap.md +15 -0
  239. package/docs/api/type-aliases/LineJoin.md +15 -0
  240. package/docs/api/type-aliases/LinkTarget.md +15 -0
  241. package/docs/api/type-aliases/Metadata.md +15 -0
  242. package/docs/api/type-aliases/Op.md +15 -0
  243. package/docs/api/type-aliases/OutlineEntry.md +15 -0
  244. package/docs/api/type-aliases/Overflow.md +15 -0
  245. package/docs/api/type-aliases/PageInfo.md +15 -0
  246. package/docs/api/type-aliases/PageLabel.md +15 -0
  247. package/docs/api/type-aliases/PageSizeName.md +15 -0
  248. package/docs/api/type-aliases/Point.md +15 -0
  249. package/docs/api/type-aliases/Profile.md +15 -0
  250. package/docs/api/type-aliases/Progress.md +15 -0
  251. package/docs/api/type-aliases/ReadingOrder.md +15 -0
  252. package/docs/api/type-aliases/Rect.md +15 -0
  253. package/docs/api/type-aliases/Region.md +31 -0
  254. package/docs/api/type-aliases/RenderMode.md +15 -0
  255. package/docs/api/type-aliases/Rotation.md +15 -0
  256. package/docs/api/type-aliases/SaveOptions.md +15 -0
  257. package/docs/api/type-aliases/SaveReport.md +15 -0
  258. package/docs/api/type-aliases/Span.md +63 -0
  259. package/docs/api/type-aliases/SplitOn.md +15 -0
  260. package/docs/api/type-aliases/Standard14.md +15 -0
  261. package/docs/api/type-aliases/StructRef.md +41 -0
  262. package/docs/api/type-aliases/StructSource.md +17 -0
  263. package/docs/api/type-aliases/TableDetector.md +15 -0
  264. package/docs/api/type-aliases/TableMode.md +15 -0
  265. package/docs/api/type-aliases/TableScope.md +15 -0
  266. package/docs/api/type-aliases/Tag.md +15 -0
  267. package/docs/api/type-aliases/TagName.md +15 -0
  268. package/docs/api/type-aliases/TextLayout.md +15 -0
  269. package/docs/api/type-aliases/TextRange.md +33 -0
  270. package/docs/api/type-aliases/TextRunInfo.md +15 -0
  271. package/docs/api/type-aliases/Transform.md +15 -0
  272. package/docs/api/type-aliases/UndoOutcome.md +15 -0
  273. package/docs/api/type-aliases/ViewerPreferences.md +15 -0
  274. package/docs/api/type-aliases/WarningCode.md +15 -0
  275. package/docs/api/type-aliases/WasmSource.md +16 -0
  276. package/docs/api/variables/Matrix.md +99 -0
  277. package/docs/api/variables/PAGE_SIZES.md +15 -0
  278. package/docs/api/variables/TAG_NAMES.md +15 -0
  279. package/docs/errors/README.md +156 -0
  280. package/docs/errors/aes-padding-invalid.md +34 -0
  281. package/docs/errors/already-initialized.md +34 -0
  282. package/docs/errors/binary-output-to-terminal.md +35 -0
  283. package/docs/errors/builder-finished.md +35 -0
  284. package/docs/errors/cancelled.md +35 -0
  285. package/docs/errors/cmap-invalid.md +42 -0
  286. package/docs/errors/collection-index.md +33 -0
  287. package/docs/errors/color-components.md +33 -0
  288. package/docs/errors/content-bad-operands.md +36 -0
  289. package/docs/errors/content-path-unpainted.md +36 -0
  290. package/docs/errors/content-resource-missing.md +37 -0
  291. package/docs/errors/content-syntax.md +36 -0
  292. package/docs/errors/content-unbalanced-bt.md +36 -0
  293. package/docs/errors/content-unbalanced-marked.md +36 -0
  294. package/docs/errors/content-unbalanced-q.md +36 -0
  295. package/docs/errors/content-unknown-operator.md +37 -0
  296. package/docs/errors/data-pending.md +34 -0
  297. package/docs/errors/decompress.md +34 -0
  298. package/docs/errors/device-color-without-output-intent.md +33 -0
  299. package/docs/errors/direct-page.md +34 -0
  300. package/docs/errors/disposed.md +34 -0
  301. package/docs/errors/document-changed.md +34 -0
  302. package/docs/errors/embedded-file-forbidden.md +35 -0
  303. package/docs/errors/embedded-file-without-mime-type.md +36 -0
  304. package/docs/errors/encoding-full.md +34 -0
  305. package/docs/errors/encrypted-base.md +33 -0
  306. package/docs/errors/extract-limit-blocks.md +35 -0
  307. package/docs/errors/extract-module-not-loaded.md +37 -0
  308. package/docs/errors/extract-reading-order-ambiguous.md +32 -0
  309. package/docs/errors/extract-struct-tree-ignored.md +32 -0
  310. package/docs/errors/extract-table-ambiguous.md +32 -0
  311. package/docs/errors/extract-table-limit.md +35 -0
  312. package/docs/errors/extract-untagged-content.md +32 -0
  313. package/docs/errors/fetch-failed.md +34 -0
  314. package/docs/errors/flate-truncated.md +34 -0
  315. package/docs/errors/font-invalid.md +36 -0
  316. package/docs/errors/font-mismatch.md +34 -0
  317. package/docs/errors/font-not-embeddable.md +34 -0
  318. package/docs/errors/font-not-embedded.md +35 -0
  319. package/docs/errors/font-not-shapable.md +33 -0
  320. package/docs/errors/glyph-out-of-range.md +34 -0
  321. package/docs/errors/glyph-without-unicode.md +35 -0
  322. package/docs/errors/heading-level-skipped.md +36 -0
  323. package/docs/errors/image-data-length.md +33 -0
  324. package/docs/errors/image-too-large.md +32 -0
  325. package/docs/errors/inline-image-unterminated.md +36 -0
  326. package/docs/errors/input-unreadable.md +37 -0
  327. package/docs/errors/instance-reset.md +34 -0
  328. package/docs/errors/invalid-argument.md +33 -0
  329. package/docs/errors/invalid-axis-value.md +32 -0
  330. package/docs/errors/invalid-box.md +34 -0
  331. package/docs/errors/invalid-color.md +32 -0
  332. package/docs/errors/invalid-command-line.md +44 -0
  333. package/docs/errors/invalid-date.md +34 -0
  334. package/docs/errors/invalid-entry.md +34 -0
  335. package/docs/errors/invalid-feature.md +32 -0
  336. package/docs/errors/invalid-font.md +32 -0
  337. package/docs/errors/invalid-geometry.md +32 -0
  338. package/docs/errors/invalid-icc-profile.md +32 -0
  339. package/docs/errors/invalid-image.md +33 -0
  340. package/docs/errors/invalid-op-log.md +33 -0
  341. package/docs/errors/invalid-page-label.md +34 -0
  342. package/docs/errors/invalid-page-labels.md +32 -0
  343. package/docs/errors/invalid-page-range.md +37 -0
  344. package/docs/errors/invalid-rotate.md +34 -0
  345. package/docs/errors/invalid-structure-nesting.md +38 -0
  346. package/docs/errors/invalid-structure.md +34 -0
  347. package/docs/errors/invalid-text-range.md +33 -0
  348. package/docs/errors/job-finished.md +34 -0
  349. package/docs/errors/limit-exceeded.md +38 -0
  350. package/docs/errors/link-without-contents.md +33 -0
  351. package/docs/errors/link-without-structure.md +37 -0
  352. package/docs/errors/missing-alt-text.md +33 -0
  353. package/docs/errors/missing-glyph.md +33 -0
  354. package/docs/errors/missing-header.md +37 -0
  355. package/docs/errors/missing-lang.md +32 -0
  356. package/docs/errors/missing-root.md +34 -0
  357. package/docs/errors/missing-title.md +32 -0
  358. package/docs/errors/name-tree-node-skipped.md +34 -0
  359. package/docs/errors/nested-transaction.md +34 -0
  360. package/docs/errors/no-pending-save.md +32 -0
  361. package/docs/errors/no-transaction.md +33 -0
  362. package/docs/errors/not-initialized.md +35 -0
  363. package/docs/errors/not-pdf.md +33 -0
  364. package/docs/errors/not-rebased.md +35 -0
  365. package/docs/errors/object-number-out-of-range.md +38 -0
  366. package/docs/errors/objstm-index-mismatch.md +36 -0
  367. package/docs/errors/out-of-memory.md +38 -0
  368. package/docs/errors/outline-cycle.md +34 -0
  369. package/docs/errors/outline-item-skipped.md +34 -0
  370. package/docs/errors/output-unwritable.md +37 -0
  371. package/docs/errors/overwrite-refused.md +36 -0
  372. package/docs/errors/page-count-mismatch.md +34 -0
  373. package/docs/errors/page-index-out-of-range.md +34 -0
  374. package/docs/errors/page-tree-node-skipped.md +35 -0
  375. package/docs/errors/password-required.md +36 -0
  376. package/docs/errors/path-outside-roots.md +32 -0
  377. package/docs/errors/perms-mismatch.md +34 -0
  378. package/docs/errors/profile-version-conflict.md +35 -0
  379. package/docs/errors/reference-cycle.md +35 -0
  380. package/docs/errors/render-backend-unavailable.md +32 -0
  381. package/docs/errors/render-failed.md +33 -0
  382. package/docs/errors/render-too-large.md +36 -0
  383. package/docs/errors/repaired-base.md +34 -0
  384. package/docs/errors/requires-rewrite.md +38 -0
  385. package/docs/errors/saved-not-rebased.md +34 -0
  386. package/docs/errors/sink-not-empty.md +33 -0
  387. package/docs/errors/sink.md +31 -0
  388. package/docs/errors/source-budget-exceeded.md +34 -0
  389. package/docs/errors/source-changed.md +33 -0
  390. package/docs/errors/source.md +30 -0
  391. package/docs/errors/stale-generation.md +34 -0
  392. package/docs/errors/stream-length-recovered.md +37 -0
  393. package/docs/errors/strict.md +34 -0
  394. package/docs/errors/subset-failed.md +31 -0
  395. package/docs/errors/syntax.md +34 -0
  396. package/docs/errors/text-module-not-loaded.md +36 -0
  397. package/docs/errors/text-overflow.md +34 -0
  398. package/docs/errors/tounicode-conflict.md +32 -0
  399. package/docs/errors/type.md +34 -0
  400. package/docs/errors/unexpected-eof.md +34 -0
  401. package/docs/errors/unknown-axis.md +33 -0
  402. package/docs/errors/unknown-code.md +36 -0
  403. package/docs/errors/unknown-destination.md +33 -0
  404. package/docs/errors/unknown-font.md +33 -0
  405. package/docs/errors/unknown-option.md +33 -0
  406. package/docs/errors/unknown-page.md +34 -0
  407. package/docs/errors/unmapped-glyph.md +36 -0
  408. package/docs/errors/unnumbered-heading-misused.md +34 -0
  409. package/docs/errors/unset-object.md +30 -0
  410. package/docs/errors/unsupported-filter.md +34 -0
  411. package/docs/errors/unsupported-image.md +33 -0
  412. package/docs/errors/unsupported-layout-option.md +33 -0
  413. package/docs/errors/unsupported-security-handler.md +34 -0
  414. package/docs/errors/unsupported-version.md +32 -0
  415. package/docs/errors/untagged-content.md +35 -0
  416. package/docs/errors/warnings-truncated.md +35 -0
  417. package/docs/errors/wasm-trap.md +37 -0
  418. package/docs/errors/whole-font-rebuilt.md +30 -0
  419. package/docs/errors/worker-crashed.md +33 -0
  420. package/docs/errors/worker-failed.md +32 -0
  421. package/docs/errors/worker-version-mismatch.md +34 -0
  422. package/docs/errors/would-invalidate-signatures.md +38 -0
  423. package/docs/errors/wrong-document.md +33 -0
  424. package/docs/errors/wrong-password.md +34 -0
  425. package/docs/errors/xobject-cycle.md +36 -0
  426. package/docs/errors/xref-repaired.md +36 -0
  427. package/docs/errors/xrefstm-ignored.md +34 -0
  428. package/docs/llms.txt +88 -0
  429. package/docs/pages/concepts/dependencies.md +44 -0
  430. package/docs/pages/concepts/errors-and-warnings.md +64 -0
  431. package/docs/pages/concepts/how-lamina-thinks.md +86 -0
  432. package/docs/pages/concepts/pages-and-coordinates.md +67 -0
  433. package/docs/pages/guides/accessible-pdfs.md +260 -0
  434. package/docs/pages/guides/archival-pdfs.md +429 -0
  435. package/docs/pages/guides/edit-a-pdf.md +137 -0
  436. package/docs/pages/guides/fonts-and-text.md +202 -0
  437. package/docs/pages/guides/images-and-vectors.md +219 -0
  438. package/docs/pages/guides/keep-the-page-responsive.md +81 -0
  439. package/docs/pages/guides/links-outlines-and-metadata.md +222 -0
  440. package/docs/pages/guides/password-protected-files.md +70 -0
  441. package/docs/pages/guides/save-a-pdf.md +144 -0
  442. package/docs/pages/guides/untrusted-files.md +80 -0
  443. package/docs/pages/index.md +33 -0
  444. package/docs/pages/install.md +75 -0
  445. package/docs/pages/quick-start/browser.md +67 -0
  446. package/docs/pages/quick-start/bun.md +60 -0
  447. package/docs/pages/quick-start/deno.md +58 -0
  448. package/docs/pages/quick-start/node.md +61 -0
  449. package/docs/pages/quick-start/rust.md +58 -0
  450. package/docs/pages/quick-start/workers.md +139 -0
  451. package/docs/pages/recipes/cloudflare-worker.md +115 -0
  452. package/docs/pages/recipes/extract-markdown.md +114 -0
  453. package/docs/pages/recipes/generate-then-edit.md +135 -0
  454. package/docs/pages/recipes/hello.md +94 -0
  455. package/docs/pages/recipes/images-and-vectors.md +209 -0
  456. package/docs/pages/recipes/invoice.md +226 -0
  457. package/docs/pages/recipes/links-and-outlines.md +215 -0
  458. package/docs/pages/recipes/multilingual.md +189 -0
  459. package/docs/pages/recipes/open-untrusted.md +65 -0
  460. package/docs/pages/recipes/pdf-a-archive.md +205 -0
  461. package/docs/pages/recipes/pdf-a3-invoice-with-xml.md +222 -0
  462. package/docs/pages/recipes/pdf-ua-report.md +237 -0
  463. package/docs/pages/recipes/report.md +125 -0
  464. package/docs/pages/recipes/web-worker-client.md +64 -0
  465. package/docs/pages/recipes.md +47 -0
  466. package/docs/pages/reference/changelog.md +86 -0
  467. package/docs/pages/reference/codes.md +14 -0
  468. package/docs/pages/reference/glossary.md +108 -0
  469. package/docs/pages/reference/rust.md +36 -0
  470. package/docs/pages/reference/stability.md +59 -0
  471. package/docs/pages/start/coding-agents.md +45 -0
  472. package/docs/pages/start/first-pdf.md +77 -0
  473. package/docs/pages/troubleshooting.md +74 -0
  474. package/docs/renames.json +86 -0
  475. package/docs/schemas/error.schema.json +305 -0
  476. package/docs/schemas/renames.schema.json +29 -0
  477. package/package.json +93 -3
  478. package/schemas/error.schema.json +305 -0
@@ -0,0 +1,205 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / SaveJob
10
+
11
+ # Class: SaveJob
12
+
13
+ A save in progress, stepped by the caller with a budget of work units (ADR 0028 §3). Freed with
14
+ its document; every call after that throws `disposed`.
15
+
16
+ ## Extends
17
+
18
+ - `Handle`\<`BaseGlue`\>
19
+
20
+ ## Accessors
21
+
22
+ ### instance
23
+
24
+ #### Get Signature
25
+
26
+ > **get** `protected` **instance**(): `Instance`\<`G`\>
27
+
28
+ The instance this handle lives in (for the handles it makes).
29
+
30
+ ##### Returns
31
+
32
+ `Instance`\<`G`\>
33
+
34
+ #### Inherited from
35
+
36
+ `Handle.instance`
37
+
38
+ ***
39
+
40
+ ### isFreed
41
+
42
+ #### Get Signature
43
+
44
+ > **get** `protected` **isFreed**(): `boolean`
45
+
46
+ Whether `free()` ran on this handle or its parent.
47
+
48
+ ##### Returns
49
+
50
+ `boolean`
51
+
52
+ #### Inherited from
53
+
54
+ `Handle.isFreed`
55
+
56
+ ***
57
+
58
+ ### owned
59
+
60
+ #### Get Signature
61
+
62
+ > **get** `protected` **owned**(): `boolean`
63
+
64
+ Whether the handle's raw objects can be freed: its instance is current and hasn't trapped.
65
+
66
+ ##### Returns
67
+
68
+ `boolean`
69
+
70
+ #### Inherited from
71
+
72
+ `Handle.owned`
73
+
74
+ ## Methods
75
+
76
+ ### \[dispose\]()
77
+
78
+ > **\[dispose\]**(): `void`
79
+
80
+ Frees the handle at the end of a `using` block (an alias of `free()`).
81
+
82
+ #### Returns
83
+
84
+ `void`
85
+
86
+ #### Inherited from
87
+
88
+ `Handle.[dispose]`
89
+
90
+ ***
91
+
92
+ ### assertLive()
93
+
94
+ > `protected` **assertLive**(): `void`
95
+
96
+ #### Returns
97
+
98
+ `void`
99
+
100
+ #### Throws
101
+
102
+ [LaminaPdfError](LaminaPdfError.md) `disposed` after `free()` (here or on the parent);
103
+ `instance-reset` when the instance was replaced (a trapped one is replaced first).
104
+
105
+ #### Inherited from
106
+
107
+ `Handle.assertLive`
108
+
109
+ ***
110
+
111
+ ### call()
112
+
113
+ > `protected` **call**\<`T`\>(`f`): `T`
114
+
115
+ Runs `f` (calls into the glue) on this live handle; see Instance.call.
116
+
117
+ #### Type Parameters
118
+
119
+ ##### T
120
+
121
+ `T`
122
+
123
+ #### Parameters
124
+
125
+ ##### f
126
+
127
+ (`glue`) => `T`
128
+
129
+ #### Returns
130
+
131
+ `T`
132
+
133
+ #### Inherited from
134
+
135
+ `Handle.call`
136
+
137
+ ***
138
+
139
+ ### cancel()
140
+
141
+ > **cancel**(): `void`
142
+
143
+ Stops the job: its next step fails with `cancelled`.
144
+
145
+ #### Returns
146
+
147
+ `void`
148
+
149
+ ***
150
+
151
+ ### free()
152
+
153
+ > **free**(): `void`
154
+
155
+ Frees the handle's memory now; without it, the garbage collector frees it later. A second
156
+ call does nothing, and any other call afterwards throws `disposed`. Prefer `using`, which
157
+ calls this at the end of the block.
158
+
159
+ #### Returns
160
+
161
+ `void`
162
+
163
+ #### Inherited from
164
+
165
+ `Handle.free`
166
+
167
+ ***
168
+
169
+ ### release()
170
+
171
+ > `protected` **release**(): `void`
172
+
173
+ Frees the WebAssembly side; called at most once, and only while [owned](#owned).
174
+
175
+ #### Returns
176
+
177
+ `void`
178
+
179
+ #### Overrides
180
+
181
+ `Handle.release`
182
+
183
+ ***
184
+
185
+ ### step()
186
+
187
+ > **step**(`budget`): `object` & `ProgressJs` \| \{ `bytes`: `Uint8Array`\<`ArrayBuffer`\>; `report`: `SaveReportJs`; `state`: `"done"`; \}
188
+
189
+ Runs at most `budget` work units.
190
+
191
+ #### Parameters
192
+
193
+ ##### budget
194
+
195
+ `number`
196
+
197
+ #### Returns
198
+
199
+ `object` & `ProgressJs` \| \{ `bytes`: `Uint8Array`\<`ArrayBuffer`\>; `report`: `SaveReportJs`; `state`: `"done"`; \}
200
+
201
+ `{ state: "progress", … }`, or `{ state: "done", bytes, report }` at the end.
202
+
203
+ #### Throws
204
+
205
+ [LaminaPdfError](LaminaPdfError.md) `cancelled`, `document-changed`, `job-finished`, or the save's errors.
@@ -0,0 +1,326 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / Surface
10
+
11
+ # Class: Surface
12
+
13
+ What a page is drawn with. Methods that set state return the surface, so calls chain; invalid
14
+ geometry is reported by [Page.finish](Page.md#finish) (`invalid-geometry`).
15
+
16
+ ## Methods
17
+
18
+ ### artifact()
19
+
20
+ > **artifact**(`kind`, `draw`): `this`
21
+
22
+ Draws what `draw` draws as an artifact: decoration, running heads and footers, backgrounds;
23
+ content outside the structure tree.
24
+
25
+ #### Parameters
26
+
27
+ ##### kind
28
+
29
+ `"layout"` \| `"page"` \| `"pagination"` \| `"background"`
30
+
31
+ ##### draw
32
+
33
+ (`s`) => `void`
34
+
35
+ #### Returns
36
+
37
+ `this`
38
+
39
+ ***
40
+
41
+ ### blendMode()
42
+
43
+ > **blendMode**(`mode`): `this`
44
+
45
+ The blend mode.
46
+
47
+ #### Parameters
48
+
49
+ ##### mode
50
+
51
+ `"normal"` \| `"multiply"` \| `"screen"` \| `"overlay"` \| `"darken"` \| `"lighten"` \| `"colorDodge"` \| `"colorBurn"` \| `"hardLight"` \| `"softLight"` \| `"difference"` \| `"exclusion"` \| `"hue"` \| `"saturation"` \| `"color"` \| `"luminosity"`
52
+
53
+ #### Returns
54
+
55
+ `this`
56
+
57
+ ***
58
+
59
+ ### fillColor()
60
+
61
+ > **fillColor**(`color`): `this`
62
+
63
+ The colour fills (and text) use.
64
+
65
+ #### Parameters
66
+
67
+ ##### color
68
+
69
+ [`Color`](../type-aliases/Color.md)
70
+
71
+ #### Returns
72
+
73
+ `this`
74
+
75
+ ***
76
+
77
+ ### image()
78
+
79
+ > **image**(`image`, `rect`, `alt?`): `this`
80
+
81
+ Draws `image` scaled into `rect`; with `alt`, as a `Figure` structure element with that
82
+ alternate text.
83
+
84
+ #### Parameters
85
+
86
+ ##### image
87
+
88
+ [`Image`](Image.md)
89
+
90
+ ##### rect
91
+
92
+ [`Rect`](../type-aliases/Rect.md)
93
+
94
+ ##### alt?
95
+
96
+ `string`
97
+
98
+ #### Returns
99
+
100
+ `this`
101
+
102
+ ***
103
+
104
+ ### link()
105
+
106
+ > **link**(`rect`, `target`, `contents?`): `this`
107
+
108
+ A link annotation over `rect`, with `contents` as its alternate text.
109
+
110
+ #### Parameters
111
+
112
+ ##### rect
113
+
114
+ [`Rect`](../type-aliases/Rect.md)
115
+
116
+ ##### target
117
+
118
+ `LinkTargetInit`
119
+
120
+ ##### contents?
121
+
122
+ `string`
123
+
124
+ #### Returns
125
+
126
+ `this`
127
+
128
+ ***
129
+
130
+ ### opacity()
131
+
132
+ > **opacity**(`fill`, `stroke`): `this`
133
+
134
+ Fill and stroke opacity, 0 to 1.
135
+
136
+ #### Parameters
137
+
138
+ ##### fill
139
+
140
+ `number`
141
+
142
+ ##### stroke
143
+
144
+ `number`
145
+
146
+ #### Returns
147
+
148
+ `this`
149
+
150
+ ***
151
+
152
+ ### path()
153
+
154
+ > **path**(`build`): [`PendingPath`](PendingPath.md)
155
+
156
+ A path, built by `build`, to paint.
157
+
158
+ #### Parameters
159
+
160
+ ##### build
161
+
162
+ (`p`) => `void`
163
+
164
+ #### Returns
165
+
166
+ [`PendingPath`](PendingPath.md)
167
+
168
+ #### Example
169
+
170
+ ```ts
171
+ surface.path((p) => p.moveTo(56, 590).lineTo(539, 590)).stroke({ width: 0.5 });
172
+ ```
173
+
174
+ ***
175
+
176
+ ### restore()
177
+
178
+ > **restore**(): `this`
179
+
180
+ Restores the graphics state (`Q`).
181
+
182
+ #### Returns
183
+
184
+ `this`
185
+
186
+ ***
187
+
188
+ ### save()
189
+
190
+ > **save**(): `this`
191
+
192
+ Saves the graphics state (`q`).
193
+
194
+ #### Returns
195
+
196
+ `this`
197
+
198
+ ***
199
+
200
+ ### strokeColor()
201
+
202
+ > **strokeColor**(`color`): `this`
203
+
204
+ The colour strokes use.
205
+
206
+ #### Parameters
207
+
208
+ ##### color
209
+
210
+ [`Color`](../type-aliases/Color.md)
211
+
212
+ #### Returns
213
+
214
+ `this`
215
+
216
+ ***
217
+
218
+ ### tag()
219
+
220
+ > **tag**(`tag`, `draw`): `this`
221
+
222
+ Draws what `draw` draws inside the structure element `tag`: its text, paths and images
223
+ become the element's content, elements opened inside it its children, links its `Link`
224
+ children, in reading order. Elements and artifacts `draw` leaves open end with it, also when
225
+ it throws. A page using an element makes the document tagged.
226
+
227
+ #### Parameters
228
+
229
+ ##### tag
230
+
231
+ [`Tag`](../type-aliases/Tag.md)
232
+
233
+ ##### draw
234
+
235
+ (`s`) => `void`
236
+
237
+ #### Returns
238
+
239
+ `this`
240
+
241
+ #### Example
242
+
243
+ ```ts
244
+ s.tag("Sect", (s) => {
245
+ s.text("Results", { font, size: 18, at: [56, 96], tag: "H1" });
246
+ s.tag({ type: "P", lang: "en-GB" }, (s) => s.textBox(summary, { font, size: 11, box }));
247
+ });
248
+ ```
249
+
250
+ #### Throws
251
+
252
+ [LaminaPdfError](LaminaPdfError.md) `invalid-argument` for an unknown type without a `role`.
253
+
254
+ ***
255
+
256
+ ### text()
257
+
258
+ > **text**(`text`, `options`): `TextRunJs`
259
+
260
+ Draws `text`: shaped, bidi-resolved, one line per line break (needs the text module).
261
+
262
+ #### Parameters
263
+
264
+ ##### text
265
+
266
+ `string`
267
+
268
+ ##### options
269
+
270
+ [`TextOptions`](../interfaces/TextOptions.md)
271
+
272
+ #### Returns
273
+
274
+ `TextRunJs`
275
+
276
+ what the run measures.
277
+
278
+ #### Throws
279
+
280
+ [LaminaPdfError](LaminaPdfError.md) `text-module-not-loaded`, `missing-glyph`, `font-not-shapable`, …
281
+
282
+ ***
283
+
284
+ ### textBox()
285
+
286
+ > **textBox**(`text`, `options`): `TextLayoutJs`
287
+
288
+ Lays `text` out in `options.box`, breaking lines at Unicode line-break opportunities.
289
+
290
+ #### Parameters
291
+
292
+ ##### text
293
+
294
+ `string`
295
+
296
+ ##### options
297
+
298
+ [`TextBoxOptions`](../interfaces/TextBoxOptions.md)
299
+
300
+ #### Returns
301
+
302
+ `TextLayoutJs`
303
+
304
+ the lines drawn and where the overflow starts (UTF-16 offsets).
305
+
306
+ #### Throws
307
+
308
+ [LaminaPdfError](LaminaPdfError.md) as [Surface.text](#text); `text-overflow` with `overflow: "error"`.
309
+
310
+ ***
311
+
312
+ ### transform()
313
+
314
+ > **transform**(`matrix`): `this`
315
+
316
+ Applies `matrix` (page space) to what is drawn next. See [Matrix](../variables/Matrix.md).
317
+
318
+ #### Parameters
319
+
320
+ ##### matrix
321
+
322
+ [`Transform`](../type-aliases/Transform.md)
323
+
324
+ #### Returns
325
+
326
+ `this`
@@ -0,0 +1,111 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / Transaction
10
+
11
+ # Class: Transaction
12
+
13
+ Collects the ops of one [Document.transact](Document.md#transact) call.
14
+
15
+ ## Constructors
16
+
17
+ ### Constructor
18
+
19
+ > **new Transaction**(): `Transaction`
20
+
21
+ #### Returns
22
+
23
+ `Transaction`
24
+
25
+ ## Accessors
26
+
27
+ ### ops
28
+
29
+ #### Get Signature
30
+
31
+ > **get** **ops**(): readonly `Op`[]
32
+
33
+ The ops collected so far.
34
+
35
+ ##### Returns
36
+
37
+ readonly `Op`[]
38
+
39
+ ## Methods
40
+
41
+ ### apply()
42
+
43
+ > **apply**(`op`): `this`
44
+
45
+ Adds `op` to the transaction.
46
+
47
+ #### Parameters
48
+
49
+ ##### op
50
+
51
+ `Op`
52
+
53
+ #### Returns
54
+
55
+ `this`
56
+
57
+ #### Throws
58
+
59
+ [LaminaPdfError](LaminaPdfError.md) `no-transaction` after `transact` returned.
60
+
61
+ ***
62
+
63
+ ### rotatePage()
64
+
65
+ > **rotatePage**(`page`, `rotate`): `this`
66
+
67
+ Sets a page's `/Rotate` (`rotatePage`).
68
+
69
+ #### Parameters
70
+
71
+ ##### page
72
+
73
+ `string`
74
+
75
+ the page's ID (`doc.page(0).id`).
76
+
77
+ ##### rotate
78
+
79
+ [`Rotation`](../type-aliases/Rotation.md)
80
+
81
+ 0, 90, 180 or 270 degrees.
82
+
83
+ #### Returns
84
+
85
+ `this`
86
+
87
+ ***
88
+
89
+ ### setInfo()
90
+
91
+ > **setInfo**(`patch`, `at?`): `this`
92
+
93
+ Patches the Info dictionary (`setInfo`).
94
+
95
+ #### Parameters
96
+
97
+ ##### patch
98
+
99
+ [`InfoPatch`](../type-aliases/InfoPatch.md)
100
+
101
+ the entries to set (a string) or remove (`null`).
102
+
103
+ ##### at?
104
+
105
+ `string`
106
+
107
+ the modification date to write (`D:20261030120000Z`); omitted, none is written.
108
+
109
+ #### Returns
110
+
111
+ `this`
@@ -0,0 +1,33 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
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,48 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
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` 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`.