@laminapdf/sdk 0.2.0-alpha.2 → 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 (401) hide show
  1. package/README.md +42 -7
  2. package/dist/api.d.ts +5 -2
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js +3 -2
  5. package/dist/api.js.map +1 -1
  6. package/dist/builder.d.ts +35 -19
  7. package/dist/builder.d.ts.map +1 -1
  8. package/dist/builder.js +114 -80
  9. package/dist/builder.js.map +1 -1
  10. package/dist/document.d.ts +47 -21
  11. package/dist/document.d.ts.map +1 -1
  12. package/dist/document.js +112 -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.d.ts +57 -0
  19. package/dist/extract.d.ts.map +1 -0
  20. package/dist/extract.js +5 -0
  21. package/dist/extract.js.map +1 -0
  22. package/dist/font.d.ts +13 -6
  23. package/dist/font.d.ts.map +1 -1
  24. package/dist/font.js +50 -20
  25. package/dist/font.js.map +1 -1
  26. package/dist/generated/codes.d.ts +18 -6
  27. package/dist/generated/codes.d.ts.map +1 -1
  28. package/dist/generated/codes.js +59 -4
  29. package/dist/generated/codes.js.map +1 -1
  30. package/dist/generated/explain.d.ts.map +1 -1
  31. package/dist/generated/explain.js +27 -10
  32. package/dist/generated/explain.js.map +1 -1
  33. package/dist/generated/extract.d.ts +235 -0
  34. package/dist/generated/extract.d.ts.map +1 -0
  35. package/dist/generated/extract.js +4 -0
  36. package/dist/generated/extract.js.map +1 -0
  37. package/dist/init.d.ts +13 -5
  38. package/dist/init.d.ts.map +1 -1
  39. package/dist/init.js +23 -11
  40. package/dist/init.js.map +1 -1
  41. package/dist/internal/handle.d.ts +58 -0
  42. package/dist/internal/handle.d.ts.map +1 -0
  43. package/dist/internal/handle.js +113 -0
  44. package/dist/internal/handle.js.map +1 -0
  45. package/dist/internal/instance.d.ts +56 -0
  46. package/dist/internal/instance.d.ts.map +1 -0
  47. package/dist/internal/instance.js +125 -0
  48. package/dist/internal/instance.js.map +1 -0
  49. package/dist/source/http.js +1 -1
  50. package/dist/source/http.js.map +1 -1
  51. package/dist/source/range.d.ts +6 -1
  52. package/dist/source/range.d.ts.map +1 -1
  53. package/dist/source/range.js +10 -6
  54. package/dist/source/range.js.map +1 -1
  55. package/dist/text.d.ts +3 -3
  56. package/dist/text.d.ts.map +1 -1
  57. package/dist/text.js +3 -3
  58. package/dist/text.js.map +1 -1
  59. package/dist/version.d.ts +1 -1
  60. package/dist/version.js +2 -2
  61. package/dist/version.js.map +1 -1
  62. package/dist/worker/client.d.ts +3 -2
  63. package/dist/worker/client.d.ts.map +1 -1
  64. package/dist/worker/client.js +6 -4
  65. package/dist/worker/client.js.map +1 -1
  66. package/dist/worker/entry.js +1 -1
  67. package/dist/worker/entry.js.map +1 -1
  68. package/dist/worker/server.d.ts.map +1 -1
  69. package/dist/worker/server.js +42 -9
  70. package/dist/worker/server.js.map +1 -1
  71. package/dist/worker/support.d.ts +6 -2
  72. package/dist/worker/support.d.ts.map +1 -1
  73. package/dist/worker/support.js +1 -0
  74. package/dist/worker/support.js.map +1 -1
  75. package/dist/worker/types.d.ts +8 -1
  76. package/dist/worker/types.d.ts.map +1 -1
  77. package/docs/AGENTS.md +14 -0
  78. package/docs/api/README.md +147 -0
  79. package/docs/api/classes/Builder.md +467 -0
  80. package/docs/api/classes/Document.md +742 -0
  81. package/docs/api/classes/Font.md +74 -0
  82. package/docs/api/classes/Image.md +140 -0
  83. package/docs/api/classes/LaminaPdfError.md +189 -0
  84. package/docs/api/classes/Page.md +178 -0
  85. package/docs/api/classes/PageRef.md +253 -0
  86. package/docs/api/classes/PageText.md +129 -0
  87. package/docs/api/classes/PageTextRun.md +167 -0
  88. package/docs/api/classes/PendingPath.md +97 -0
  89. package/docs/api/classes/SaveJob.md +205 -0
  90. package/docs/api/classes/Surface.md +326 -0
  91. package/docs/api/classes/Transaction.md +111 -0
  92. package/docs/api/functions/callbackSource.md +33 -0
  93. package/docs/api/functions/httpRangeSource.md +48 -0
  94. package/docs/api/functions/init.md +36 -0
  95. package/docs/api/functions/isExtractLoaded.md +21 -0
  96. package/docs/api/functions/isInitialized.md +19 -0
  97. package/docs/api/functions/isLaminaPdfError.md +41 -0
  98. package/docs/api/functions/isTextLoaded.md +19 -0
  99. package/docs/api/functions/loadExtract.md +28 -0
  100. package/docs/api/functions/loadText.md +28 -0
  101. package/docs/api/functions/onLeak.md +29 -0
  102. package/docs/api/functions/reset.md +22 -0
  103. package/docs/api/functions/wasmMemory.md +22 -0
  104. package/docs/api/interfaces/BuilderOptions.md +108 -0
  105. package/docs/api/interfaces/ByteRange.md +29 -0
  106. package/docs/api/interfaces/ChunkOptions.md +37 -0
  107. package/docs/api/interfaces/Diagnostic.md +67 -0
  108. package/docs/api/interfaces/ExtractOptions.md +92 -0
  109. package/docs/api/interfaces/ExtractResult.md +37 -0
  110. package/docs/api/interfaces/FontInfo.md +37 -0
  111. package/docs/api/interfaces/HttpRangeOptions.md +78 -0
  112. package/docs/api/interfaces/InitOptions.md +40 -0
  113. package/docs/api/interfaces/Leak.md +21 -0
  114. package/docs/api/interfaces/Location.md +53 -0
  115. package/docs/api/interfaces/OpLog.md +25 -0
  116. package/docs/api/interfaces/OpenOptions.md +37 -0
  117. package/docs/api/interfaces/PageTextOptions.md +21 -0
  118. package/docs/api/interfaces/PathBuilder.md +195 -0
  119. package/docs/api/interfaces/QuadPoint.md +25 -0
  120. package/docs/api/interfaces/RangeOptions.md +54 -0
  121. package/docs/api/interfaces/RangeSource.md +59 -0
  122. package/docs/api/interfaces/StrokeStyle.md +61 -0
  123. package/docs/api/interfaces/TagSpec.md +69 -0
  124. package/docs/api/interfaces/TextBoxOptions.md +93 -0
  125. package/docs/api/interfaces/TextGlyph.md +29 -0
  126. package/docs/api/interfaces/TextOptions.md +101 -0
  127. package/docs/api/interfaces/WasmMemory.md +37 -0
  128. package/docs/api/type-aliases/AfRelationship.md +15 -0
  129. package/docs/api/type-aliases/Align.md +15 -0
  130. package/docs/api/type-aliases/ArtifactKind.md +15 -0
  131. package/docs/api/type-aliases/AttachmentOptions.md +15 -0
  132. package/docs/api/type-aliases/BlendMode.md +15 -0
  133. package/docs/api/type-aliases/BoxRect.md +15 -0
  134. package/docs/api/type-aliases/BuildOptions.md +15 -0
  135. package/docs/api/type-aliases/Cell.md +71 -0
  136. package/docs/api/type-aliases/Chunk.md +79 -0
  137. package/docs/api/type-aliases/Color.md +16 -0
  138. package/docs/api/type-aliases/Coordinates.md +55 -0
  139. package/docs/api/type-aliases/Direction.md +15 -0
  140. package/docs/api/type-aliases/DocumentInfo.md +15 -0
  141. package/docs/api/type-aliases/DropReason.md +15 -0
  142. package/docs/api/type-aliases/Dropped.md +59 -0
  143. package/docs/api/type-aliases/Edited.md +15 -0
  144. package/docs/api/type-aliases/ErrorCode.md +15 -0
  145. package/docs/api/type-aliases/ErrorKind.md +15 -0
  146. package/docs/api/type-aliases/ExtractFormat.md +15 -0
  147. package/docs/api/type-aliases/ExtractedBlock.md +82 -0
  148. package/docs/api/type-aliases/ExtractedPage.md +65 -0
  149. package/docs/api/type-aliases/ExtractedSource.md +48 -0
  150. package/docs/api/type-aliases/Extraction.md +22 -0
  151. package/docs/api/type-aliases/FillRule.md +15 -0
  152. package/docs/api/type-aliases/Fit.md +15 -0
  153. package/docs/api/type-aliases/Flags.md +15 -0
  154. package/docs/api/type-aliases/Generator.md +41 -0
  155. package/docs/api/type-aliases/GlyphQuad.md +15 -0
  156. package/docs/api/type-aliases/InfoPatch.md +15 -0
  157. package/docs/api/type-aliases/LaminaPdfWarning.md +16 -0
  158. package/docs/api/type-aliases/LimitName.md +15 -0
  159. package/docs/api/type-aliases/Limits.md +15 -0
  160. package/docs/api/type-aliases/LineBox.md +15 -0
  161. package/docs/api/type-aliases/LineCap.md +15 -0
  162. package/docs/api/type-aliases/LineJoin.md +15 -0
  163. package/docs/api/type-aliases/LinkTarget.md +15 -0
  164. package/docs/api/type-aliases/Metadata.md +15 -0
  165. package/docs/api/type-aliases/Op.md +15 -0
  166. package/docs/api/type-aliases/OutlineEntry.md +15 -0
  167. package/docs/api/type-aliases/Overflow.md +15 -0
  168. package/docs/api/type-aliases/PageInfo.md +15 -0
  169. package/docs/api/type-aliases/PageLabel.md +15 -0
  170. package/docs/api/type-aliases/PageSizeName.md +15 -0
  171. package/docs/api/type-aliases/Point.md +15 -0
  172. package/docs/api/type-aliases/Profile.md +15 -0
  173. package/docs/api/type-aliases/Progress.md +15 -0
  174. package/docs/api/type-aliases/ReadingOrder.md +15 -0
  175. package/docs/api/type-aliases/Rect.md +15 -0
  176. package/docs/api/type-aliases/Region.md +31 -0
  177. package/docs/api/type-aliases/RenderMode.md +15 -0
  178. package/docs/api/type-aliases/Rotation.md +15 -0
  179. package/docs/api/type-aliases/SaveOptions.md +15 -0
  180. package/docs/api/type-aliases/SaveReport.md +15 -0
  181. package/docs/api/type-aliases/Span.md +63 -0
  182. package/docs/api/type-aliases/SplitOn.md +15 -0
  183. package/docs/api/type-aliases/Standard14.md +15 -0
  184. package/docs/api/type-aliases/StructRef.md +41 -0
  185. package/docs/api/type-aliases/StructSource.md +17 -0
  186. package/docs/api/type-aliases/TableDetector.md +15 -0
  187. package/docs/api/type-aliases/TableMode.md +15 -0
  188. package/docs/api/type-aliases/TableScope.md +15 -0
  189. package/docs/api/type-aliases/Tag.md +15 -0
  190. package/docs/api/type-aliases/TagName.md +15 -0
  191. package/docs/api/type-aliases/TextLayout.md +15 -0
  192. package/docs/api/type-aliases/TextRange.md +33 -0
  193. package/docs/api/type-aliases/TextRunInfo.md +15 -0
  194. package/docs/api/type-aliases/Transform.md +15 -0
  195. package/docs/api/type-aliases/UndoOutcome.md +15 -0
  196. package/docs/api/type-aliases/ViewerPreferences.md +15 -0
  197. package/docs/api/type-aliases/WarningCode.md +15 -0
  198. package/docs/api/type-aliases/WasmSource.md +16 -0
  199. package/docs/api/variables/Matrix.md +99 -0
  200. package/docs/api/variables/PAGE_SIZES.md +15 -0
  201. package/docs/api/variables/TAG_NAMES.md +15 -0
  202. package/docs/errors/README.md +156 -0
  203. package/docs/errors/aes-padding-invalid.md +34 -0
  204. package/docs/errors/already-initialized.md +34 -0
  205. package/docs/errors/binary-output-to-terminal.md +35 -0
  206. package/docs/errors/builder-finished.md +35 -0
  207. package/docs/errors/cancelled.md +35 -0
  208. package/docs/errors/cmap-invalid.md +42 -0
  209. package/docs/errors/collection-index.md +33 -0
  210. package/docs/errors/color-components.md +33 -0
  211. package/docs/errors/content-bad-operands.md +36 -0
  212. package/docs/errors/content-path-unpainted.md +36 -0
  213. package/docs/errors/content-resource-missing.md +37 -0
  214. package/docs/errors/content-syntax.md +36 -0
  215. package/docs/errors/content-unbalanced-bt.md +36 -0
  216. package/docs/errors/content-unbalanced-marked.md +36 -0
  217. package/docs/errors/content-unbalanced-q.md +36 -0
  218. package/docs/errors/content-unknown-operator.md +37 -0
  219. package/docs/errors/data-pending.md +34 -0
  220. package/docs/errors/decompress.md +34 -0
  221. package/docs/errors/device-color-without-output-intent.md +33 -0
  222. package/docs/errors/direct-page.md +34 -0
  223. package/docs/errors/disposed.md +34 -0
  224. package/docs/errors/document-changed.md +34 -0
  225. package/docs/errors/embedded-file-forbidden.md +35 -0
  226. package/docs/errors/embedded-file-without-mime-type.md +36 -0
  227. package/docs/errors/encoding-full.md +34 -0
  228. package/docs/errors/encrypted-base.md +33 -0
  229. package/docs/errors/extract-limit-blocks.md +35 -0
  230. package/docs/errors/extract-module-not-loaded.md +37 -0
  231. package/docs/errors/extract-reading-order-ambiguous.md +32 -0
  232. package/docs/errors/extract-struct-tree-ignored.md +32 -0
  233. package/docs/errors/extract-table-ambiguous.md +32 -0
  234. package/docs/errors/extract-table-limit.md +35 -0
  235. package/docs/errors/extract-untagged-content.md +32 -0
  236. package/docs/errors/fetch-failed.md +34 -0
  237. package/docs/errors/flate-truncated.md +34 -0
  238. package/docs/errors/font-invalid.md +36 -0
  239. package/docs/errors/font-mismatch.md +34 -0
  240. package/docs/errors/font-not-embeddable.md +34 -0
  241. package/docs/errors/font-not-embedded.md +35 -0
  242. package/docs/errors/font-not-shapable.md +33 -0
  243. package/docs/errors/glyph-out-of-range.md +34 -0
  244. package/docs/errors/glyph-without-unicode.md +35 -0
  245. package/docs/errors/heading-level-skipped.md +36 -0
  246. package/docs/errors/image-data-length.md +33 -0
  247. package/docs/errors/image-too-large.md +32 -0
  248. package/docs/errors/inline-image-unterminated.md +36 -0
  249. package/docs/errors/input-unreadable.md +37 -0
  250. package/docs/errors/instance-reset.md +34 -0
  251. package/docs/errors/invalid-argument.md +33 -0
  252. package/docs/errors/invalid-axis-value.md +32 -0
  253. package/docs/errors/invalid-box.md +34 -0
  254. package/docs/errors/invalid-color.md +32 -0
  255. package/docs/errors/invalid-command-line.md +44 -0
  256. package/docs/errors/invalid-date.md +34 -0
  257. package/docs/errors/invalid-entry.md +34 -0
  258. package/docs/errors/invalid-feature.md +32 -0
  259. package/docs/errors/invalid-font.md +32 -0
  260. package/docs/errors/invalid-geometry.md +32 -0
  261. package/docs/errors/invalid-icc-profile.md +32 -0
  262. package/docs/errors/invalid-image.md +33 -0
  263. package/docs/errors/invalid-op-log.md +33 -0
  264. package/docs/errors/invalid-page-label.md +34 -0
  265. package/docs/errors/invalid-page-labels.md +32 -0
  266. package/docs/errors/invalid-page-range.md +37 -0
  267. package/docs/errors/invalid-rotate.md +34 -0
  268. package/docs/errors/invalid-structure-nesting.md +38 -0
  269. package/docs/errors/invalid-structure.md +34 -0
  270. package/docs/errors/invalid-text-range.md +33 -0
  271. package/docs/errors/job-finished.md +34 -0
  272. package/docs/errors/limit-exceeded.md +38 -0
  273. package/docs/errors/link-without-contents.md +33 -0
  274. package/docs/errors/link-without-structure.md +37 -0
  275. package/docs/errors/missing-alt-text.md +33 -0
  276. package/docs/errors/missing-glyph.md +33 -0
  277. package/docs/errors/missing-header.md +37 -0
  278. package/docs/errors/missing-lang.md +32 -0
  279. package/docs/errors/missing-root.md +34 -0
  280. package/docs/errors/missing-title.md +32 -0
  281. package/docs/errors/name-tree-node-skipped.md +34 -0
  282. package/docs/errors/nested-transaction.md +34 -0
  283. package/docs/errors/no-pending-save.md +32 -0
  284. package/docs/errors/no-transaction.md +33 -0
  285. package/docs/errors/not-initialized.md +35 -0
  286. package/docs/errors/not-pdf.md +33 -0
  287. package/docs/errors/not-rebased.md +35 -0
  288. package/docs/errors/object-number-out-of-range.md +38 -0
  289. package/docs/errors/objstm-index-mismatch.md +36 -0
  290. package/docs/errors/out-of-memory.md +38 -0
  291. package/docs/errors/outline-cycle.md +34 -0
  292. package/docs/errors/outline-item-skipped.md +34 -0
  293. package/docs/errors/output-unwritable.md +37 -0
  294. package/docs/errors/overwrite-refused.md +36 -0
  295. package/docs/errors/page-count-mismatch.md +34 -0
  296. package/docs/errors/page-index-out-of-range.md +34 -0
  297. package/docs/errors/page-tree-node-skipped.md +35 -0
  298. package/docs/errors/password-required.md +36 -0
  299. package/docs/errors/path-outside-roots.md +32 -0
  300. package/docs/errors/perms-mismatch.md +34 -0
  301. package/docs/errors/profile-version-conflict.md +35 -0
  302. package/docs/errors/reference-cycle.md +35 -0
  303. package/docs/errors/render-backend-unavailable.md +32 -0
  304. package/docs/errors/render-failed.md +33 -0
  305. package/docs/errors/render-too-large.md +36 -0
  306. package/docs/errors/repaired-base.md +34 -0
  307. package/docs/errors/requires-rewrite.md +38 -0
  308. package/docs/errors/saved-not-rebased.md +34 -0
  309. package/docs/errors/sink-not-empty.md +33 -0
  310. package/docs/errors/sink.md +31 -0
  311. package/docs/errors/source-budget-exceeded.md +34 -0
  312. package/docs/errors/source-changed.md +33 -0
  313. package/docs/errors/source.md +30 -0
  314. package/docs/errors/stale-generation.md +34 -0
  315. package/docs/errors/stream-length-recovered.md +37 -0
  316. package/docs/errors/strict.md +34 -0
  317. package/docs/errors/subset-failed.md +31 -0
  318. package/docs/errors/syntax.md +34 -0
  319. package/docs/errors/text-module-not-loaded.md +36 -0
  320. package/docs/errors/text-overflow.md +34 -0
  321. package/docs/errors/tounicode-conflict.md +32 -0
  322. package/docs/errors/type.md +34 -0
  323. package/docs/errors/unexpected-eof.md +34 -0
  324. package/docs/errors/unknown-axis.md +33 -0
  325. package/docs/errors/unknown-code.md +36 -0
  326. package/docs/errors/unknown-destination.md +33 -0
  327. package/docs/errors/unknown-font.md +33 -0
  328. package/docs/errors/unknown-option.md +33 -0
  329. package/docs/errors/unknown-page.md +34 -0
  330. package/docs/errors/unmapped-glyph.md +36 -0
  331. package/docs/errors/unnumbered-heading-misused.md +34 -0
  332. package/docs/errors/unset-object.md +30 -0
  333. package/docs/errors/unsupported-filter.md +34 -0
  334. package/docs/errors/unsupported-image.md +33 -0
  335. package/docs/errors/unsupported-layout-option.md +33 -0
  336. package/docs/errors/unsupported-security-handler.md +34 -0
  337. package/docs/errors/unsupported-version.md +32 -0
  338. package/docs/errors/untagged-content.md +35 -0
  339. package/docs/errors/warnings-truncated.md +35 -0
  340. package/docs/errors/wasm-trap.md +37 -0
  341. package/docs/errors/whole-font-rebuilt.md +30 -0
  342. package/docs/errors/worker-crashed.md +33 -0
  343. package/docs/errors/worker-failed.md +32 -0
  344. package/docs/errors/worker-version-mismatch.md +34 -0
  345. package/docs/errors/would-invalidate-signatures.md +38 -0
  346. package/docs/errors/wrong-document.md +33 -0
  347. package/docs/errors/wrong-password.md +34 -0
  348. package/docs/errors/xobject-cycle.md +36 -0
  349. package/docs/errors/xref-repaired.md +36 -0
  350. package/docs/errors/xrefstm-ignored.md +34 -0
  351. package/docs/llms.txt +88 -0
  352. package/docs/pages/concepts/dependencies.md +44 -0
  353. package/docs/pages/concepts/errors-and-warnings.md +64 -0
  354. package/docs/pages/concepts/how-lamina-thinks.md +86 -0
  355. package/docs/pages/concepts/pages-and-coordinates.md +67 -0
  356. package/docs/pages/guides/accessible-pdfs.md +260 -0
  357. package/docs/pages/guides/archival-pdfs.md +429 -0
  358. package/docs/pages/guides/edit-a-pdf.md +137 -0
  359. package/docs/pages/guides/fonts-and-text.md +202 -0
  360. package/docs/pages/guides/images-and-vectors.md +219 -0
  361. package/docs/pages/guides/keep-the-page-responsive.md +81 -0
  362. package/docs/pages/guides/links-outlines-and-metadata.md +222 -0
  363. package/docs/pages/guides/password-protected-files.md +70 -0
  364. package/docs/pages/guides/save-a-pdf.md +144 -0
  365. package/docs/pages/guides/untrusted-files.md +80 -0
  366. package/docs/pages/index.md +33 -0
  367. package/docs/pages/install.md +75 -0
  368. package/docs/pages/quick-start/browser.md +67 -0
  369. package/docs/pages/quick-start/bun.md +60 -0
  370. package/docs/pages/quick-start/deno.md +58 -0
  371. package/docs/pages/quick-start/node.md +61 -0
  372. package/docs/pages/quick-start/rust.md +58 -0
  373. package/docs/pages/quick-start/workers.md +139 -0
  374. package/docs/pages/recipes/cloudflare-worker.md +115 -0
  375. package/docs/pages/recipes/extract-markdown.md +114 -0
  376. package/docs/pages/recipes/generate-then-edit.md +135 -0
  377. package/docs/pages/recipes/hello.md +94 -0
  378. package/docs/pages/recipes/images-and-vectors.md +209 -0
  379. package/docs/pages/recipes/invoice.md +226 -0
  380. package/docs/pages/recipes/links-and-outlines.md +215 -0
  381. package/docs/pages/recipes/multilingual.md +189 -0
  382. package/docs/pages/recipes/open-untrusted.md +65 -0
  383. package/docs/pages/recipes/pdf-a-archive.md +205 -0
  384. package/docs/pages/recipes/pdf-a3-invoice-with-xml.md +222 -0
  385. package/docs/pages/recipes/pdf-ua-report.md +237 -0
  386. package/docs/pages/recipes/report.md +125 -0
  387. package/docs/pages/recipes/web-worker-client.md +64 -0
  388. package/docs/pages/recipes.md +47 -0
  389. package/docs/pages/reference/changelog.md +86 -0
  390. package/docs/pages/reference/codes.md +14 -0
  391. package/docs/pages/reference/glossary.md +108 -0
  392. package/docs/pages/reference/rust.md +36 -0
  393. package/docs/pages/reference/stability.md +59 -0
  394. package/docs/pages/start/coding-agents.md +45 -0
  395. package/docs/pages/start/first-pdf.md +77 -0
  396. package/docs/pages/troubleshooting.md +74 -0
  397. package/docs/renames.json +86 -0
  398. package/docs/schemas/error.schema.json +305 -0
  399. package/docs/schemas/renames.schema.json +29 -0
  400. package/package.json +5 -3
  401. package/schemas/error.schema.json +19 -2
@@ -0,0 +1,74 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
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.3"
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.3"
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`\>
@@ -0,0 +1,178 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / Page
10
+
11
+ # Class: Page
12
+
13
+ A page being drawn: its boxes and rotation, its [Surface](Surface.md), then [Page.finish](#finish). Freed
14
+ with its builder; `using` or [Page.free](#free) drops it without writing it.
15
+
16
+ ## Methods
17
+
18
+ ### \[dispose\]()
19
+
20
+ > **\[dispose\]**(): `void`
21
+
22
+ Drops the page at the end of a `using` block (an alias of `free()`).
23
+
24
+ #### Returns
25
+
26
+ `void`
27
+
28
+ ***
29
+
30
+ ### artBox()
31
+
32
+ > **artBox**(`rect`): `this`
33
+
34
+ `/ArtBox`.
35
+
36
+ #### Parameters
37
+
38
+ ##### rect
39
+
40
+ [`Rect`](../type-aliases/Rect.md)
41
+
42
+ #### Returns
43
+
44
+ `this`
45
+
46
+ ***
47
+
48
+ ### bleedBox()
49
+
50
+ > **bleedBox**(`rect`): `this`
51
+
52
+ `/BleedBox`.
53
+
54
+ #### Parameters
55
+
56
+ ##### rect
57
+
58
+ [`Rect`](../type-aliases/Rect.md)
59
+
60
+ #### Returns
61
+
62
+ `this`
63
+
64
+ ***
65
+
66
+ ### cropBox()
67
+
68
+ > **cropBox**(`rect`): `this`
69
+
70
+ `/CropBox` (the visible region), in the media box's page space.
71
+
72
+ #### Parameters
73
+
74
+ ##### rect
75
+
76
+ [`Rect`](../type-aliases/Rect.md)
77
+
78
+ #### Returns
79
+
80
+ `this`
81
+
82
+ ***
83
+
84
+ ### finish()
85
+
86
+ > **finish**(): `string`
87
+
88
+ Writes the page into its builder and frees the page's WASM side; the page takes no more
89
+ drawing afterwards (`builder-finished`).
90
+
91
+ #### Returns
92
+
93
+ `string`
94
+
95
+ the page's ID.
96
+
97
+ #### Throws
98
+
99
+ [LaminaPdfError](LaminaPdfError.md) `invalid-geometry`, `builder-finished`.
100
+
101
+ ***
102
+
103
+ ### free()
104
+
105
+ > **free**(): `void`
106
+
107
+ Drops the page without writing it and frees its WASM side; a second call does nothing, and
108
+ any other call afterwards throws `disposed`.
109
+
110
+ #### Returns
111
+
112
+ `void`
113
+
114
+ ***
115
+
116
+ ### rotate()
117
+
118
+ > **rotate**(`degrees`): `this`
119
+
120
+ `/Rotate`: 0, 90, 180 or 270 degrees.
121
+
122
+ #### Parameters
123
+
124
+ ##### degrees
125
+
126
+ `0` \| `90` \| `180` \| `270`
127
+
128
+ #### Returns
129
+
130
+ `this`
131
+
132
+ ***
133
+
134
+ ### surface()
135
+
136
+ > **surface**(): [`Surface`](Surface.md)
137
+
138
+ What the page is drawn with (the same object on every call).
139
+
140
+ #### Returns
141
+
142
+ [`Surface`](Surface.md)
143
+
144
+ ***
145
+
146
+ ### trimBox()
147
+
148
+ > **trimBox**(`rect`): `this`
149
+
150
+ `/TrimBox`.
151
+
152
+ #### Parameters
153
+
154
+ ##### rect
155
+
156
+ [`Rect`](../type-aliases/Rect.md)
157
+
158
+ #### Returns
159
+
160
+ `this`
161
+
162
+ ***
163
+
164
+ ### userUnit()
165
+
166
+ > **userUnit**(`unit`): `this`
167
+
168
+ `/UserUnit`, for pages larger than 14,400 units.
169
+
170
+ #### Parameters
171
+
172
+ ##### unit
173
+
174
+ `number`
175
+
176
+ #### Returns
177
+
178
+ `this`