@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,15 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / DropReason
10
+
11
+ # Type Alias: DropReason
12
+
13
+ > **DropReason** = `"invisible"` \| `"off-page"` \| `"tiny"` \| `"clipped"` \| `"low-contrast"` \| `"artifact"` \| `"running-header"` \| `"running-footer"` \| `"page-number"`
14
+
15
+ Why text was left out.
@@ -0,0 +1,59 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / Dropped
10
+
11
+ # Type Alias: Dropped
12
+
13
+ > **Dropped** = `object`
14
+
15
+ Text left out of the output ([ADR 0030] §4). It records a count, never the text, so a log of
16
+ the output can't leak what was hidden.
17
+
18
+ [ADR 0030]: https://github.com/laudebugs/laminapdf/blob/main/docs/decisions/0030-extraction-output-and-model-plugins.md
19
+
20
+ ## Properties
21
+
22
+ ### bbox
23
+
24
+ > **bbox**: \[`number`, `number`, `number`, `number`\]
25
+
26
+ Where it was, in page space.
27
+
28
+ ***
29
+
30
+ ### chars
31
+
32
+ > **chars**: `number`
33
+
34
+ How many characters were left out.
35
+
36
+ ***
37
+
38
+ ### page
39
+
40
+ > **page**: `number`
41
+
42
+ The page index.
43
+
44
+ ***
45
+
46
+ ### reason
47
+
48
+ > **reason**: [`DropReason`](DropReason.md)
49
+
50
+ Why it was left out (the first reason when there are several).
51
+
52
+ ***
53
+
54
+ ### spans?
55
+
56
+ > `optional` **spans?**: [`Span`](Span.md)[]
57
+
58
+ The run itself, only when [`DropOptions::keep_spans`](crate::DropOptions::keep_spans)
59
+ asked for it.
@@ -0,0 +1,15 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / Edited
10
+
11
+ # Type Alias: Edited
12
+
13
+ > **Edited** = `EditedJs`
14
+
15
+ The pages an edit touched.
@@ -0,0 +1,15 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / ErrorCode
10
+
11
+ # Type Alias: ErrorCode
12
+
13
+ > **ErrorCode** = `"not-pdf"` \| `"missing-root"` \| `"reference-cycle"` \| `"limit-exceeded"` \| `"strict"` \| `"data-pending"` \| `"source"` \| `"type"` \| `"invalid-structure"` \| `"unset-object"` \| `"repaired-base"` \| `"encrypted-base"` \| `"password-required"` \| `"wrong-password"` \| `"unsupported-security-handler"` \| `"unexpected-eof"` \| `"syntax"` \| `"unsupported-filter"` \| `"decompress"` \| `"nested-transaction"` \| `"no-transaction"` \| `"unknown-page"` \| `"direct-page"` \| `"unsupported-version"` \| `"invalid-op-log"` \| `"saved-not-rebased"` \| `"no-pending-save"` \| `"sink"` \| `"not-rebased"` \| `"sink-not-empty"` \| `"would-invalidate-signatures"` \| `"requires-rewrite"` \| `"invalid-font"` \| `"collection-index"` \| `"unknown-axis"` \| `"font-not-embeddable"` \| `"missing-glyph"` \| `"glyph-out-of-range"` \| `"unknown-font"` \| `"subset-failed"` \| `"invalid-axis-value"` \| `"wrong-document"` \| `"invalid-feature"` \| `"invalid-text-range"` \| `"unsupported-layout-option"` \| `"font-mismatch"` \| `"encoding-full"` \| `"font-not-shapable"` \| `"invalid-image"` \| `"unsupported-image"` \| `"image-too-large"` \| `"image-data-length"` \| `"invalid-icc-profile"` \| `"color-components"` \| `"invalid-color"` \| `"invalid-geometry"` \| `"text-overflow"` \| `"page-index-out-of-range"` \| `"unknown-destination"` \| `"invalid-page-labels"` \| `"profile-version-conflict"` \| `"missing-title"` \| `"missing-lang"` \| `"missing-alt-text"` \| `"untagged-content"` \| `"heading-level-skipped"` \| `"unnumbered-heading-misused"` \| `"invalid-structure-nesting"` \| `"link-without-structure"` \| `"link-without-contents"` \| `"font-not-embedded"` \| `"glyph-without-unicode"` \| `"device-color-without-output-intent"` \| `"embedded-file-forbidden"` \| `"embedded-file-without-mime-type"` \| `"render-too-large"` \| `"render-failed"` \| `"render-backend-unavailable"` \| `"cancelled"` \| `"job-finished"` \| `"document-changed"` \| `"builder-finished"` \| `"disposed"` \| `"invalid-argument"` \| `"source-budget-exceeded"` \| `"unknown-option"` \| `"already-initialized"` \| `"extract-module-not-loaded"` \| `"fetch-failed"` \| `"not-initialized"` \| `"source-changed"` \| `"text-module-not-loaded"` \| `"worker-version-mismatch"` \| `"worker-crashed"` \| `"worker-failed"` \| `"wasm-trap"` \| `"out-of-memory"` \| `"instance-reset"` \| `"invalid-command-line"` \| `"invalid-page-range"` \| `"binary-output-to-terminal"` \| `"unknown-code"` \| `"overwrite-refused"` \| `"input-unreadable"` \| `"output-unwritable"` \| `"path-outside-roots"`
14
+
15
+ Every error code (ADR 0026 §3; `fixtures/codes.json`).
@@ -0,0 +1,15 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / ErrorKind
10
+
11
+ # Type Alias: ErrorKind
12
+
13
+ > **ErrorKind** = `"input"` \| `"io"` \| `"unsupported"` \| `"limit"` \| `"security"` \| `"usage"` \| `"state"` \| `"cancelled"` \| `"internal"`
14
+
15
+ The nine kinds of ADR 0026 §2: what the caller can do about an error.
@@ -0,0 +1,15 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / ExtractFormat
10
+
11
+ # Type Alias: ExtractFormat
12
+
13
+ > **ExtractFormat** = `"markdown"` \| `"json"` \| `"text"` \| `"chunks"`
14
+
15
+ What `WasmDocument.extract` returns.
@@ -0,0 +1,82 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / ExtractedBlock
10
+
11
+ # Type Alias: ExtractedBlock
12
+
13
+ > **ExtractedBlock** = `object` & (\{ `level`: `number`; `type`: `"heading"`; \} \| \{ `type`: `"paragraph"`; \} \| \{ `depth`: `number`; `marker`: `string`; `type`: `"list-item"`; \} \| \{ `type`: `"caption"`; \} \| \{ `type`: `"footnote"`; \} \| \{ `type`: `"other"`; \} \| \{ `cols`: `number`; `detector`: [`TableDetector`](TableDetector.md); `rows`: `number`; `type`: `"table"`; \})
14
+
15
+ A block and where its text sits in the Markdown.
16
+
17
+ ## Type Declaration
18
+
19
+ ### bbox
20
+
21
+ > **bbox**: \[`number`, `number`, `number`, `number`\]
22
+
23
+ The block's box in page space.
24
+
25
+ ### bboxNorm?
26
+
27
+ > `optional` **bboxNorm?**: \[`number`, `number`, `number`, `number`\] \| `null`
28
+
29
+ The box divided by the page's width and height, clamped to [0, 1]; `None` when the
30
+ block lies wholly outside the page.
31
+
32
+ ### cells?
33
+
34
+ > `optional` **cells?**: [`Cell`](Cell.md)[]
35
+
36
+ A table's cells, row by row; empty for every other block.
37
+
38
+ ### confidence
39
+
40
+ > **confidence**: `number`
41
+
42
+ In [0, 1]: 1 for structure from the tree, lower for structure inferred from layout.
43
+
44
+ ### id
45
+
46
+ > **id**: `string`
47
+
48
+ `p<page index>-b<position in the page's reading order>`.
49
+
50
+ ### page
51
+
52
+ > **page**: `number`
53
+
54
+ The page index.
55
+
56
+ ### spans
57
+
58
+ > **spans**: [`Span`](Span.md)[]
59
+
60
+ The runs of text, in reading order.
61
+
62
+ ### structPath
63
+
64
+ > **structPath**: `string`[]
65
+
66
+ The structure types from the root down to the block; empty when untagged.
67
+
68
+ ### structRef?
69
+
70
+ > `optional` **structRef?**: [`StructRef`](StructRef.md) \| `null`
71
+
72
+ The structure element the block comes from, when it comes from one.
73
+
74
+ ### text
75
+
76
+ > **text**: `string`
77
+
78
+ The visible text, lines joined by a space after the text fixes (ADR 0030 §5).
79
+
80
+ ### textRange
81
+
82
+ > **textRange**: [`TextRange`](TextRange.md)
@@ -0,0 +1,65 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / ExtractedPage
10
+
11
+ # Type Alias: ExtractedPage
12
+
13
+ > **ExtractedPage** = `object`
14
+
15
+ One extracted page ([ADR 0027] §4).
16
+
17
+ [ADR 0027]: https://github.com/laudebugs/laminapdf/blob/main/docs/decisions/0027-coordinates-units-and-page-indexing.md
18
+
19
+ ## Properties
20
+
21
+ ### coordinates
22
+
23
+ > **coordinates**: [`Coordinates`](Coordinates.md)
24
+
25
+ The frame the boxes are in.
26
+
27
+ ***
28
+
29
+ ### height
30
+
31
+ > **height**: `number`
32
+
33
+ The displayed height in points.
34
+
35
+ ***
36
+
37
+ ### index
38
+
39
+ > **index**: `number`
40
+
41
+ 0-based.
42
+
43
+ ***
44
+
45
+ ### label?
46
+
47
+ > `optional` **label?**: `string` \| `null`
48
+
49
+ The page label (`/PageLabels`), when there is one.
50
+
51
+ ***
52
+
53
+ ### number
54
+
55
+ > **number**: `number`
56
+
57
+ 1-based, as people count.
58
+
59
+ ***
60
+
61
+ ### width
62
+
63
+ > **width**: `number`
64
+
65
+ The displayed width in points (after `/Rotate` and `/UserUnit`).
@@ -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) / ExtractedSource
10
+
11
+ # Type Alias: ExtractedSource
12
+
13
+ > **ExtractedSource** = `object`
14
+
15
+ The input, as ADR 0030 §1's `source` describes it.
16
+
17
+ ## Properties
18
+
19
+ ### pageCount
20
+
21
+ > **pageCount**: `number`
22
+
23
+ The document's page count.
24
+
25
+ ***
26
+
27
+ ### sha256?
28
+
29
+ > `optional` **sha256?**: `string` \| `null`
30
+
31
+ The input's SHA-256 in hex: filled by the caller that holds the bytes (the façade), since
32
+ a windowed source can't be hashed without reading it whole.
33
+
34
+ ***
35
+
36
+ ### structSource
37
+
38
+ > **structSource**: [`StructSource`](StructSource.md)
39
+
40
+ Where the reading order came from.
41
+
42
+ ***
43
+
44
+ ### tagged
45
+
46
+ > **tagged**: `boolean`
47
+
48
+ Whether the catalog's `/MarkInfo` says `/Marked true`.
@@ -0,0 +1,22 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / Extraction
10
+
11
+ # Type Alias: Extraction
12
+
13
+ > **Extraction** = `Omit`\<`ExtractionJson`, `"warnings"`\> & `object`
14
+
15
+ The `laminapdf.extract/1` document: the schema's type, with the file's warnings as the
16
+ [LaminaPdfWarning](LaminaPdfWarning.md)s they are (the schema leaves their shape to ADR 0026's).
17
+
18
+ ## Type Declaration
19
+
20
+ ### warnings
21
+
22
+ > **warnings**: [`LaminaPdfWarning`](LaminaPdfWarning.md)[]
@@ -0,0 +1,15 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / FillRule
10
+
11
+ # Type Alias: FillRule
12
+
13
+ > **FillRule** = *typeof* `FILL_RULES`\[`number`\]
14
+
15
+ How a filled or clipped path decides what is inside.
@@ -0,0 +1,15 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / Fit
10
+
11
+ # Type Alias: Fit
12
+
13
+ > **Fit** = `FitInit`
14
+
15
+ How a destination shows its page.
@@ -0,0 +1,15 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / Flags
10
+
11
+ # Type Alias: Flags
12
+
13
+ > **Flags** = [`DropReason`](DropReason.md)[]
14
+
15
+ Why a run would be hidden from a reader; empty for visible text.
@@ -0,0 +1,41 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / Generator
10
+
11
+ # Type Alias: Generator
12
+
13
+ > **Generator** = `object`
14
+
15
+ Who made the extraction (ADR 0030 §1's `generator`).
16
+
17
+ ## Properties
18
+
19
+ ### mode
20
+
21
+ > **mode**: `string`
22
+
23
+ `"rules"`, or `"rules+models"` once model plug-ins exist.
24
+
25
+ ***
26
+
27
+ ### models
28
+
29
+ > **models**: `unknown`[]
30
+
31
+ ***
32
+
33
+ ### name
34
+
35
+ > **name**: `string`
36
+
37
+ ***
38
+
39
+ ### version
40
+
41
+ > **version**: `string`
@@ -0,0 +1,15 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / GlyphQuad
10
+
11
+ # Type Alias: GlyphQuad
12
+
13
+ > **GlyphQuad** = readonly \[[`QuadPoint`](../interfaces/QuadPoint.md), [`QuadPoint`](../interfaces/QuadPoint.md), [`QuadPoint`](../interfaces/QuadPoint.md), [`QuadPoint`](../interfaces/QuadPoint.md)\]
14
+
15
+ A glyph's quad: its four corners, in drawing order (bottom-left, bottom-right, top-right, top-left of the glyph box).
@@ -0,0 +1,15 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / InfoPatch
10
+
11
+ # Type Alias: InfoPatch
12
+
13
+ > **InfoPatch** = \{ readonly \[K in keyof DocumentInfo\]?: string \| null \}
14
+
15
+ An Info patch: a string sets the entry, `null` removes it, a missing key leaves it alone.
@@ -0,0 +1,16 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / LaminaPdfWarning
10
+
11
+ # Type Alias: LaminaPdfWarning
12
+
13
+ > **LaminaPdfWarning** = `Omit`\<[`Diagnostic`](../interfaces/Diagnostic.md)\<[`WarningCode`](WarningCode.md)\>, `"didYouMean"`\>
14
+
15
+ A warning: something Lamina PDF repaired or skipped (ADR 0003, ADR 0026 §1). The §1 object without
16
+ `didYouMean`; document text appears only in `data`.
@@ -0,0 +1,15 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / LimitName
10
+
11
+ # Type Alias: LimitName
12
+
13
+ > **LimitName** = `"max_nesting_depth"` \| `"max_stream_decoded"` \| `"max_decoded_total"` \| `"max_filter_chain"` \| `"max_resolve_depth"` \| `"max_page_tree_depth"` \| `"max_tree_depth"` \| `"max_string_length"` \| `"max_content_operators"` \| `"max_xobject_depth"` \| `"max_image_pixels"` \| `"max_read_window"`
14
+
15
+ The names of the `Limits` (ADR 0003 §3), as `data.limit` of `limit-exceeded`.
@@ -0,0 +1,15 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / Limits
10
+
11
+ # Type Alias: Limits
12
+
13
+ > **Limits** = `LimitsInit`
14
+
15
+ `Limits` (ADR 0003 §3); each one left out keeps its default.
@@ -0,0 +1,15 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / LineBox
10
+
11
+ # Type Alias: LineBox
12
+
13
+ > **LineBox** = `LineBoxJs`
14
+
15
+ A line of a text box.
@@ -0,0 +1,15 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / LineCap
10
+
11
+ # Type Alias: LineCap
12
+
13
+ > **LineCap** = *typeof* `LINE_CAPS`\[`number`\]
14
+
15
+ How open line ends are drawn.
@@ -0,0 +1,15 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / LineJoin
10
+
11
+ # Type Alias: LineJoin
12
+
13
+ > **LineJoin** = *typeof* `LINE_JOINS`\[`number`\]
14
+
15
+ How corners are drawn.
@@ -0,0 +1,15 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / LinkTarget
10
+
11
+ # Type Alias: LinkTarget
12
+
13
+ > **LinkTarget** = `LinkTargetInit`
14
+
15
+ Where a link or outline item goes.
@@ -0,0 +1,15 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / Metadata
10
+
11
+ # Type Alias: Metadata
12
+
13
+ > **Metadata** = `MetadataInit`
14
+
15
+ The document's metadata (Info and XMP).
@@ -0,0 +1,15 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / Op
10
+
11
+ # Type Alias: Op
12
+
13
+ > **Op** = `OpJs`
14
+
15
+ An edit (ADR 0006 §6: `{ op: "setInfo" | "rotatePage", args }`), as in `fixtures/ops/v1`.
@@ -0,0 +1,15 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / OutlineEntry
10
+
11
+ # Type Alias: OutlineEntry
12
+
13
+ > **OutlineEntry** = `OutlineEntryInit`
14
+
15
+ An outline (bookmarks) item with its children.
@@ -0,0 +1,15 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / Overflow
10
+
11
+ # Type Alias: Overflow
12
+
13
+ > **Overflow** = `OverflowInit`
14
+
15
+ What happens to text that doesn't fit a text box.
@@ -0,0 +1,15 @@
1
+ ---
2
+ version: "0.2.0-alpha.3"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / PageInfo
10
+
11
+ # Type Alias: PageInfo
12
+
13
+ > **PageInfo** = `PageInfoJs`
14
+
15
+ A page's facts: index, ID, displayed size in points, rotation, label.