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

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 (391) hide show
  1. package/dist/api.d.ts +2 -1
  2. package/dist/api.d.ts.map +1 -1
  3. package/dist/api.js.map +1 -1
  4. package/dist/document.d.ts +37 -1
  5. package/dist/document.d.ts.map +1 -1
  6. package/dist/document.js +47 -0
  7. package/dist/document.js.map +1 -1
  8. package/dist/reflow.d.ts +88 -0
  9. package/dist/reflow.d.ts.map +1 -0
  10. package/dist/reflow.js +4 -0
  11. package/dist/reflow.js.map +1 -0
  12. package/dist/types.d.ts +17 -1
  13. package/dist/types.d.ts.map +1 -1
  14. package/dist/version.d.ts +1 -1
  15. package/dist/version.js +1 -1
  16. package/dist/worker/support.d.ts +3 -0
  17. package/dist/worker/support.d.ts.map +1 -1
  18. package/dist/worker/support.js +3 -0
  19. package/dist/worker/support.js.map +1 -1
  20. package/docs/AGENTS.md +1 -1
  21. package/docs/api/README.md +10 -1
  22. package/docs/api/classes/Builder.md +1 -1
  23. package/docs/api/classes/Document.md +74 -1
  24. package/docs/api/classes/ExtractJob.md +1 -1
  25. package/docs/api/classes/Font.md +1 -1
  26. package/docs/api/classes/Image.md +1 -1
  27. package/docs/api/classes/LaminaPdfError.md +1 -1
  28. package/docs/api/classes/Page.md +1 -1
  29. package/docs/api/classes/PageRef.md +1 -1
  30. package/docs/api/classes/PageText.md +1 -1
  31. package/docs/api/classes/PageTextRun.md +1 -1
  32. package/docs/api/classes/PendingPath.md +1 -1
  33. package/docs/api/classes/SaveJob.md +1 -1
  34. package/docs/api/classes/Surface.md +1 -1
  35. package/docs/api/classes/Transaction.md +1 -1
  36. package/docs/api/functions/callbackSource.md +1 -1
  37. package/docs/api/functions/extractWithModels.md +1 -1
  38. package/docs/api/functions/httpRangeSource.md +1 -1
  39. package/docs/api/functions/init.md +1 -1
  40. package/docs/api/functions/isExtractLoaded.md +1 -1
  41. package/docs/api/functions/isInitialized.md +1 -1
  42. package/docs/api/functions/isLaminaPdfError.md +1 -1
  43. package/docs/api/functions/isTextLoaded.md +1 -1
  44. package/docs/api/functions/loadExtract.md +1 -1
  45. package/docs/api/functions/loadText.md +1 -1
  46. package/docs/api/functions/onLeak.md +1 -1
  47. package/docs/api/functions/reset.md +1 -1
  48. package/docs/api/functions/wasmMemory.md +1 -1
  49. package/docs/api/interfaces/BuilderOptions.md +1 -1
  50. package/docs/api/interfaces/ByteRange.md +1 -1
  51. package/docs/api/interfaces/ChunkOptions.md +1 -1
  52. package/docs/api/interfaces/Diagnostic.md +1 -1
  53. package/docs/api/interfaces/ExtractOptions.md +1 -1
  54. package/docs/api/interfaces/ExtractResult.md +1 -1
  55. package/docs/api/interfaces/FontInfo.md +1 -1
  56. package/docs/api/interfaces/HostModels.md +1 -1
  57. package/docs/api/interfaces/HttpRangeOptions.md +1 -1
  58. package/docs/api/interfaces/InitOptions.md +1 -1
  59. package/docs/api/interfaces/LayoutRegion.md +1 -1
  60. package/docs/api/interfaces/Leak.md +1 -1
  61. package/docs/api/interfaces/Location.md +1 -1
  62. package/docs/api/interfaces/ModelInfo.md +1 -1
  63. package/docs/api/interfaces/ModelRequest.md +1 -1
  64. package/docs/api/interfaces/Models.md +1 -1
  65. package/docs/api/interfaces/OcrWord.md +1 -1
  66. package/docs/api/interfaces/OpLog.md +1 -1
  67. package/docs/api/interfaces/OpenOptions.md +1 -1
  68. package/docs/api/interfaces/PageTextOptions.md +1 -1
  69. package/docs/api/interfaces/PathBuilder.md +1 -1
  70. package/docs/api/interfaces/QuadPoint.md +1 -1
  71. package/docs/api/interfaces/RangeOptions.md +1 -1
  72. package/docs/api/interfaces/RangeSource.md +1 -1
  73. package/docs/api/interfaces/Reflow.md +61 -0
  74. package/docs/api/interfaces/ReflowChecks.md +69 -0
  75. package/docs/api/interfaces/StrokeStyle.md +1 -1
  76. package/docs/api/interfaces/TagSpec.md +1 -1
  77. package/docs/api/interfaces/TextBoxOptions.md +1 -1
  78. package/docs/api/interfaces/TextGlyph.md +1 -1
  79. package/docs/api/interfaces/TextOptions.md +1 -1
  80. package/docs/api/interfaces/WasmMemory.md +1 -1
  81. package/docs/api/type-aliases/AfRelationship.md +1 -1
  82. package/docs/api/type-aliases/Align.md +1 -1
  83. package/docs/api/type-aliases/ArtifactKind.md +1 -1
  84. package/docs/api/type-aliases/AttachmentOptions.md +1 -1
  85. package/docs/api/type-aliases/BlendMode.md +1 -1
  86. package/docs/api/type-aliases/BoxRect.md +1 -1
  87. package/docs/api/type-aliases/BuildOptions.md +1 -1
  88. package/docs/api/type-aliases/Cell.md +1 -1
  89. package/docs/api/type-aliases/Chunk.md +1 -1
  90. package/docs/api/type-aliases/Color.md +1 -1
  91. package/docs/api/type-aliases/Coordinates.md +1 -1
  92. package/docs/api/type-aliases/Direction.md +1 -1
  93. package/docs/api/type-aliases/DocumentInfo.md +1 -1
  94. package/docs/api/type-aliases/DocumentProperties.md +18 -0
  95. package/docs/api/type-aliases/DropReason.md +1 -1
  96. package/docs/api/type-aliases/Dropped.md +1 -1
  97. package/docs/api/type-aliases/Edited.md +1 -1
  98. package/docs/api/type-aliases/ErrorCode.md +1 -1
  99. package/docs/api/type-aliases/ErrorKind.md +1 -1
  100. package/docs/api/type-aliases/ExtractFormat.md +1 -1
  101. package/docs/api/type-aliases/ExtractJobOptions.md +1 -1
  102. package/docs/api/type-aliases/ExtractStep.md +1 -1
  103. package/docs/api/type-aliases/ExtractedBlock.md +1 -1
  104. package/docs/api/type-aliases/ExtractedPage.md +1 -1
  105. package/docs/api/type-aliases/ExtractedSource.md +1 -1
  106. package/docs/api/type-aliases/Extraction.md +1 -1
  107. package/docs/api/type-aliases/FillRule.md +1 -1
  108. package/docs/api/type-aliases/Fit.md +1 -1
  109. package/docs/api/type-aliases/Flags.md +1 -1
  110. package/docs/api/type-aliases/Generator.md +1 -1
  111. package/docs/api/type-aliases/GlyphQuad.md +1 -1
  112. package/docs/api/type-aliases/InfoPatch.md +1 -1
  113. package/docs/api/type-aliases/LaminaPdfWarning.md +1 -1
  114. package/docs/api/type-aliases/LimitName.md +1 -1
  115. package/docs/api/type-aliases/Limits.md +1 -1
  116. package/docs/api/type-aliases/LineBox.md +1 -1
  117. package/docs/api/type-aliases/LineCap.md +1 -1
  118. package/docs/api/type-aliases/LineJoin.md +1 -1
  119. package/docs/api/type-aliases/LinkTarget.md +1 -1
  120. package/docs/api/type-aliases/Metadata.md +1 -1
  121. package/docs/api/type-aliases/ModelResult.md +1 -1
  122. package/docs/api/type-aliases/Op.md +1 -1
  123. package/docs/api/type-aliases/OutlineEntry.md +1 -1
  124. package/docs/api/type-aliases/OutlineNode.md +1 -1
  125. package/docs/api/type-aliases/Overflow.md +1 -1
  126. package/docs/api/type-aliases/PageImageReason.md +15 -0
  127. package/docs/api/type-aliases/PageInfo.md +1 -1
  128. package/docs/api/type-aliases/PageLabel.md +1 -1
  129. package/docs/api/type-aliases/PageLink.md +20 -0
  130. package/docs/api/type-aliases/PageSizeName.md +1 -1
  131. package/docs/api/type-aliases/Point.md +1 -1
  132. package/docs/api/type-aliases/Profile.md +1 -1
  133. package/docs/api/type-aliases/Progress.md +1 -1
  134. package/docs/api/type-aliases/ReadingOrder.md +1 -1
  135. package/docs/api/type-aliases/Rect.md +1 -1
  136. package/docs/api/type-aliases/ReflowBlock.md +44 -0
  137. package/docs/api/type-aliases/ReflowKind.md +15 -0
  138. package/docs/api/type-aliases/ReflowRefusal.md +16 -0
  139. package/docs/api/type-aliases/ReflowSource.md +15 -0
  140. package/docs/api/type-aliases/Region.md +1 -1
  141. package/docs/api/type-aliases/RegionLabel.md +1 -1
  142. package/docs/api/type-aliases/RenderMode.md +1 -1
  143. package/docs/api/type-aliases/Rotation.md +1 -1
  144. package/docs/api/type-aliases/SaveOptions.md +1 -1
  145. package/docs/api/type-aliases/SaveReport.md +1 -1
  146. package/docs/api/type-aliases/Span.md +1 -1
  147. package/docs/api/type-aliases/SplitOn.md +1 -1
  148. package/docs/api/type-aliases/Standard14.md +1 -1
  149. package/docs/api/type-aliases/StructRef.md +1 -1
  150. package/docs/api/type-aliases/StructSource.md +1 -1
  151. package/docs/api/type-aliases/StructureKid.md +1 -1
  152. package/docs/api/type-aliases/StructureNode.md +1 -1
  153. package/docs/api/type-aliases/TableDetector.md +1 -1
  154. package/docs/api/type-aliases/TableMode.md +1 -1
  155. package/docs/api/type-aliases/TableScope.md +1 -1
  156. package/docs/api/type-aliases/Tag.md +1 -1
  157. package/docs/api/type-aliases/TagName.md +1 -1
  158. package/docs/api/type-aliases/Target.md +1 -1
  159. package/docs/api/type-aliases/TargetView.md +1 -1
  160. package/docs/api/type-aliases/TextLayer.md +1 -1
  161. package/docs/api/type-aliases/TextLayerStatus.md +1 -1
  162. package/docs/api/type-aliases/TextLayout.md +1 -1
  163. package/docs/api/type-aliases/TextRange.md +1 -1
  164. package/docs/api/type-aliases/TextRunInfo.md +1 -1
  165. package/docs/api/type-aliases/Transform.md +1 -1
  166. package/docs/api/type-aliases/UndoOutcome.md +1 -1
  167. package/docs/api/type-aliases/ViewerPreferences.md +1 -1
  168. package/docs/api/type-aliases/WarningCode.md +1 -1
  169. package/docs/api/type-aliases/WasmSource.md +1 -1
  170. package/docs/api/variables/Matrix.md +1 -1
  171. package/docs/api/variables/PAGE_SIZES.md +1 -1
  172. package/docs/api/variables/TAG_NAMES.md +1 -1
  173. package/docs/errors/README.md +1 -1
  174. package/docs/errors/aes-padding-invalid.md +1 -1
  175. package/docs/errors/already-initialized.md +1 -1
  176. package/docs/errors/binary-output-to-terminal.md +1 -1
  177. package/docs/errors/builder-finished.md +1 -1
  178. package/docs/errors/cancelled.md +1 -1
  179. package/docs/errors/cmap-invalid.md +1 -1
  180. package/docs/errors/collection-index.md +1 -1
  181. package/docs/errors/color-components.md +1 -1
  182. package/docs/errors/content-bad-operands.md +1 -1
  183. package/docs/errors/content-path-unpainted.md +1 -1
  184. package/docs/errors/content-resource-missing.md +1 -1
  185. package/docs/errors/content-syntax.md +1 -1
  186. package/docs/errors/content-unbalanced-bt.md +1 -1
  187. package/docs/errors/content-unbalanced-marked.md +1 -1
  188. package/docs/errors/content-unbalanced-q.md +1 -1
  189. package/docs/errors/content-unknown-operator.md +1 -1
  190. package/docs/errors/covered-text.md +1 -1
  191. package/docs/errors/data-pending.md +1 -1
  192. package/docs/errors/decompress.md +1 -1
  193. package/docs/errors/device-color-without-output-intent.md +1 -1
  194. package/docs/errors/direct-page.md +1 -1
  195. package/docs/errors/disposed.md +1 -1
  196. package/docs/errors/document-changed.md +1 -1
  197. package/docs/errors/embedded-file-forbidden.md +1 -1
  198. package/docs/errors/embedded-file-without-mime-type.md +1 -1
  199. package/docs/errors/encoding-full.md +1 -1
  200. package/docs/errors/encrypted-base.md +1 -1
  201. package/docs/errors/extract-column-order-uncertain.md +1 -1
  202. package/docs/errors/extract-limit-blocks.md +1 -1
  203. package/docs/errors/extract-module-not-loaded.md +1 -1
  204. package/docs/errors/extract-needs-ocr.md +1 -1
  205. package/docs/errors/extract-reading-order-ambiguous.md +1 -1
  206. package/docs/errors/extract-struct-tree-ignored.md +1 -1
  207. package/docs/errors/extract-table-ambiguous.md +1 -1
  208. package/docs/errors/extract-table-limit.md +1 -1
  209. package/docs/errors/extract-untagged-content.md +1 -1
  210. package/docs/errors/fetch-failed.md +1 -1
  211. package/docs/errors/flate-truncated.md +1 -1
  212. package/docs/errors/flow-content-too-large.md +1 -1
  213. package/docs/errors/flow-keep-broken.md +1 -1
  214. package/docs/errors/flow-layout-unstable.md +1 -1
  215. package/docs/errors/font-invalid.md +1 -1
  216. package/docs/errors/font-mismatch.md +1 -1
  217. package/docs/errors/font-not-embeddable.md +1 -1
  218. package/docs/errors/font-not-embedded.md +1 -1
  219. package/docs/errors/font-not-shapable.md +1 -1
  220. package/docs/errors/glyph-out-of-range.md +1 -1
  221. package/docs/errors/glyph-without-unicode.md +1 -1
  222. package/docs/errors/heading-level-skipped.md +1 -1
  223. package/docs/errors/image-data-length.md +1 -1
  224. package/docs/errors/image-too-large.md +1 -1
  225. package/docs/errors/inline-image-unterminated.md +1 -1
  226. package/docs/errors/input-unreadable.md +1 -1
  227. package/docs/errors/instance-reset.md +1 -1
  228. package/docs/errors/invalid-argument.md +1 -1
  229. package/docs/errors/invalid-axis-value.md +1 -1
  230. package/docs/errors/invalid-box.md +1 -1
  231. package/docs/errors/invalid-color.md +1 -1
  232. package/docs/errors/invalid-command-line.md +1 -1
  233. package/docs/errors/invalid-date.md +1 -1
  234. package/docs/errors/invalid-entry.md +1 -1
  235. package/docs/errors/invalid-feature.md +1 -1
  236. package/docs/errors/invalid-font.md +1 -1
  237. package/docs/errors/invalid-geometry.md +1 -1
  238. package/docs/errors/invalid-icc-profile.md +1 -1
  239. package/docs/errors/invalid-image.md +1 -1
  240. package/docs/errors/invalid-op-log.md +1 -1
  241. package/docs/errors/invalid-page-label.md +1 -1
  242. package/docs/errors/invalid-page-labels.md +1 -1
  243. package/docs/errors/invalid-page-range.md +1 -1
  244. package/docs/errors/invalid-rotate.md +1 -1
  245. package/docs/errors/invalid-spans.md +1 -1
  246. package/docs/errors/invalid-structure-nesting.md +1 -1
  247. package/docs/errors/invalid-structure.md +1 -1
  248. package/docs/errors/invalid-text-range.md +1 -1
  249. package/docs/errors/job-finished.md +1 -1
  250. package/docs/errors/limit-exceeded.md +1 -1
  251. package/docs/errors/link-without-contents.md +1 -1
  252. package/docs/errors/link-without-structure.md +1 -1
  253. package/docs/errors/markdown-html-ignored.md +1 -1
  254. package/docs/errors/markdown-image-missing.md +1 -1
  255. package/docs/errors/missing-alt-text.md +1 -1
  256. package/docs/errors/missing-glyph.md +1 -1
  257. package/docs/errors/missing-header.md +1 -1
  258. package/docs/errors/missing-lang.md +1 -1
  259. package/docs/errors/missing-root.md +1 -1
  260. package/docs/errors/missing-title.md +1 -1
  261. package/docs/errors/model-failed.md +1 -1
  262. package/docs/errors/model-needs-host.md +1 -1
  263. package/docs/errors/model-result-unexpected.md +1 -1
  264. package/docs/errors/name-tree-node-skipped.md +1 -1
  265. package/docs/errors/nested-transaction.md +1 -1
  266. package/docs/errors/no-pending-save.md +1 -1
  267. package/docs/errors/no-transaction.md +1 -1
  268. package/docs/errors/not-initialized.md +1 -1
  269. package/docs/errors/not-pdf.md +1 -1
  270. package/docs/errors/not-rebased.md +1 -1
  271. package/docs/errors/object-number-out-of-range.md +1 -1
  272. package/docs/errors/objstm-index-mismatch.md +1 -1
  273. package/docs/errors/out-of-memory.md +1 -1
  274. package/docs/errors/outline-cycle.md +1 -1
  275. package/docs/errors/outline-item-skipped.md +1 -1
  276. package/docs/errors/output-unwritable.md +1 -1
  277. package/docs/errors/overwrite-refused.md +1 -1
  278. package/docs/errors/page-count-mismatch.md +1 -1
  279. package/docs/errors/page-index-out-of-range.md +1 -1
  280. package/docs/errors/page-tree-node-skipped.md +1 -1
  281. package/docs/errors/password-required.md +1 -1
  282. package/docs/errors/path-outside-roots.md +1 -1
  283. package/docs/errors/perms-mismatch.md +1 -1
  284. package/docs/errors/profile-version-conflict.md +1 -1
  285. package/docs/errors/redaction-not-applied.md +1 -1
  286. package/docs/errors/reference-cycle.md +1 -1
  287. package/docs/errors/render-backend-unavailable.md +1 -1
  288. package/docs/errors/render-failed.md +1 -1
  289. package/docs/errors/render-too-large.md +1 -1
  290. package/docs/errors/repaired-base.md +1 -1
  291. package/docs/errors/requires-rewrite.md +1 -1
  292. package/docs/errors/revision-index-out-of-range.md +1 -1
  293. package/docs/errors/saved-not-rebased.md +1 -1
  294. package/docs/errors/sink-not-empty.md +1 -1
  295. package/docs/errors/sink.md +1 -1
  296. package/docs/errors/source-budget-exceeded.md +1 -1
  297. package/docs/errors/source-changed.md +1 -1
  298. package/docs/errors/source.md +1 -1
  299. package/docs/errors/stale-generation.md +1 -1
  300. package/docs/errors/stream-length-recovered.md +1 -1
  301. package/docs/errors/strict.md +1 -1
  302. package/docs/errors/subset-failed.md +1 -1
  303. package/docs/errors/syntax.md +1 -1
  304. package/docs/errors/tag-element-not-open.md +1 -1
  305. package/docs/errors/tag-element-unclosed.md +1 -1
  306. package/docs/errors/text-in-earlier-revision.md +1 -1
  307. package/docs/errors/text-module-not-loaded.md +1 -1
  308. package/docs/errors/text-overflow.md +1 -1
  309. package/docs/errors/tounicode-conflict.md +1 -1
  310. package/docs/errors/type.md +1 -1
  311. package/docs/errors/unexpected-eof.md +1 -1
  312. package/docs/errors/unknown-axis.md +1 -1
  313. package/docs/errors/unknown-code.md +1 -1
  314. package/docs/errors/unknown-destination.md +1 -1
  315. package/docs/errors/unknown-font.md +1 -1
  316. package/docs/errors/unknown-option.md +1 -1
  317. package/docs/errors/unknown-page.md +1 -1
  318. package/docs/errors/unmapped-glyph.md +1 -1
  319. package/docs/errors/unnumbered-heading-misused.md +1 -1
  320. package/docs/errors/unset-object.md +1 -1
  321. package/docs/errors/unsupported-filter.md +1 -1
  322. package/docs/errors/unsupported-image.md +1 -1
  323. package/docs/errors/unsupported-layout-option.md +1 -1
  324. package/docs/errors/unsupported-security-handler.md +1 -1
  325. package/docs/errors/unsupported-version.md +1 -1
  326. package/docs/errors/untagged-content.md +1 -1
  327. package/docs/errors/warnings-truncated.md +1 -1
  328. package/docs/errors/wasm-trap.md +1 -1
  329. package/docs/errors/whole-font-rebuilt.md +1 -1
  330. package/docs/errors/worker-crashed.md +1 -1
  331. package/docs/errors/worker-failed.md +1 -1
  332. package/docs/errors/worker-version-mismatch.md +1 -1
  333. package/docs/errors/would-invalidate-signatures.md +1 -1
  334. package/docs/errors/wrong-document.md +1 -1
  335. package/docs/errors/wrong-password.md +1 -1
  336. package/docs/errors/xobject-cycle.md +1 -1
  337. package/docs/errors/xref-repaired.md +1 -1
  338. package/docs/errors/xrefstm-ignored.md +1 -1
  339. package/docs/llms.txt +1 -1
  340. package/docs/pages/concepts/dependencies.md +1 -1
  341. package/docs/pages/concepts/drawing-pages.md +1 -1
  342. package/docs/pages/concepts/errors-and-warnings.md +1 -1
  343. package/docs/pages/concepts/how-lamina-thinks.md +1 -1
  344. package/docs/pages/concepts/pages-and-coordinates.md +1 -1
  345. package/docs/pages/guides/accessible-pdfs.md +1 -1
  346. package/docs/pages/guides/archival-pdfs.md +1 -1
  347. package/docs/pages/guides/edit-a-pdf.md +1 -1
  348. package/docs/pages/guides/flowing-pages.md +1 -1
  349. package/docs/pages/guides/fonts-and-text.md +1 -1
  350. package/docs/pages/guides/images-and-vectors.md +1 -1
  351. package/docs/pages/guides/keep-the-page-responsive.md +1 -1
  352. package/docs/pages/guides/links-outlines-and-metadata.md +1 -1
  353. package/docs/pages/guides/open-large-files.md +1 -1
  354. package/docs/pages/guides/password-protected-files.md +1 -1
  355. package/docs/pages/guides/save-a-pdf.md +1 -1
  356. package/docs/pages/guides/test-generated-pdfs.md +1 -1
  357. package/docs/pages/guides/untrusted-files.md +1 -1
  358. package/docs/pages/index.md +2 -2
  359. package/docs/pages/install.md +5 -5
  360. package/docs/pages/quick-start/browser.md +1 -1
  361. package/docs/pages/quick-start/bun.md +1 -1
  362. package/docs/pages/quick-start/deno.md +1 -1
  363. package/docs/pages/quick-start/node.md +1 -1
  364. package/docs/pages/quick-start/rust.md +2 -2
  365. package/docs/pages/quick-start/workers.md +2 -2
  366. package/docs/pages/recipes/cloudflare-worker.md +1 -1
  367. package/docs/pages/recipes/element-flow.md +1 -1
  368. package/docs/pages/recipes/extract-markdown.md +1 -1
  369. package/docs/pages/recipes/generate-then-edit.md +1 -1
  370. package/docs/pages/recipes/hello.md +1 -1
  371. package/docs/pages/recipes/images-and-vectors.md +1 -1
  372. package/docs/pages/recipes/invoice.md +1 -1
  373. package/docs/pages/recipes/links-and-outlines.md +1 -1
  374. package/docs/pages/recipes/multilingual.md +1 -1
  375. package/docs/pages/recipes/open-untrusted.md +1 -1
  376. package/docs/pages/recipes/pdf-a-archive.md +1 -1
  377. package/docs/pages/recipes/pdf-a3-invoice-with-xml.md +1 -1
  378. package/docs/pages/recipes/pdf-ua-report.md +1 -1
  379. package/docs/pages/recipes/report.md +1 -1
  380. package/docs/pages/recipes/web-worker-client.md +1 -1
  381. package/docs/pages/recipes.md +1 -1
  382. package/docs/pages/reference/benchmarks.md +1 -1
  383. package/docs/pages/reference/changelog.md +29 -1
  384. package/docs/pages/reference/codes.md +1 -1
  385. package/docs/pages/reference/glossary.md +1 -1
  386. package/docs/pages/reference/rust.md +11 -11
  387. package/docs/pages/reference/stability.md +2 -2
  388. package/docs/pages/start/coding-agents.md +1 -1
  389. package/docs/pages/start/first-pdf.md +2 -2
  390. package/docs/pages/troubleshooting.md +1 -1
  391. package/package.json +5 -5
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "Bun"
3
3
  description: "Use @laminapdf/sdk in Bun."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/quick-start/bun/"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "Deno"
3
3
  description: "Use @laminapdf/sdk in Deno."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/quick-start/deno/"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "Node"
3
3
  description: "Generate a PDF from Node with @laminapdf/sdk."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/quick-start/node/"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "Rust"
3
3
  description: "Generate a PDF with the Lamina PDF crate."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/quick-start/rust/"
6
6
  ---
7
7
 
@@ -9,7 +9,7 @@ url: "https://docs.laminapdf.com/quick-start/rust/"
9
9
 
10
10
  Generate a PDF with the Lamina PDF crate.
11
11
 
12
- The `laminapdf` crate is the one to depend on: it wraps Lamina PDF's core crates in one API. Add it with `cargo add laminapdf@=0.2.0-alpha.4`, then build a document. [Install](../../pages/install.md#rust-laminapdf) explains the version. This is the `hello` example, which is tested on every change:
12
+ The `laminapdf` crate is the one to depend on: it wraps Lamina PDF's core crates in one API. Add it with `cargo add laminapdf@=0.2.0-alpha.5`, then build a document. [Install](../../pages/install.md#rust-laminapdf) explains the version. This is the `hello` example, which is tested on every change:
13
13
 
14
14
  **Rust**
15
15
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "Cloudflare Workers"
3
3
  description: "Generate PDFs per request in a Cloudflare Worker."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/quick-start/workers/"
6
6
  ---
7
7
 
@@ -131,7 +131,7 @@ declare module "*.otf" {
131
131
  }
132
132
  ```
133
133
 
134
- To run it, install `@laminapdf/sdk` and `wrangler` in the Cloudflare Worker's folder (`npm install @laminapdf/sdk@0.2.0-alpha.4 wrangler`), put a copy of [Noto Sans](https://fonts.google.com/noto/specimen/Noto+Sans) at `src/fonts/NotoSans-Regular.ttf`, and run `npx wrangler dev`.
134
+ To run it, install `@laminapdf/sdk` and `wrangler` in the Cloudflare Worker's folder (`npm install @laminapdf/sdk@0.2.0-alpha.5 wrangler`), put a copy of [Noto Sans](https://fonts.google.com/noto/specimen/Noto+Sans) at `src/fonts/NotoSans-Regular.ttf`, and run `npx wrangler dev`.
135
135
 
136
136
  - **Errors the caller caused** become a `400` with the error's JSON: a name the font can't draw (`missing-glyph`, `encoding-full`). Anything else, such as a broken font file, stays a `500`. See [Errors and warnings](../../pages/concepts/errors-and-warnings.md).
137
137
  - **Memory:** the letter frees its builder and document as soon as the bytes are saved, because one isolate serves many requests.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "A Cloudflare Worker"
3
3
  description: "A Cloudflare Worker that returns a one-page letter per request, in a standard 14 font or a bundled one, and a 400 for a name the font can't draw."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/recipes/cloudflare-worker/"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "Element flow"
3
3
  description: "A report whose title, paragraphs and photo each start below wherever the one before ended, with a body that continues on a new page."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/recipes/element-flow/"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "Extract text for an LLM"
3
3
  description: "Turn a PDF into Markdown in reading order, JSON with a box for every block, and chunks sized for retrieval, in TypeScript and Rust."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/recipes/extract-markdown/"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "Generate, then edit"
3
3
  description: "Build a one-page draft, open its bytes, retitle it in one transaction and save the edit as a revision after the original bytes."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/recipes/generate-then-edit/"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "Hello, world"
3
3
  description: "One A4 page with a line of text in a standard 14 font, the smallest PDF Lamina PDF writes, in TypeScript and Rust."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/recipes/hello/"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "Images and vectors"
3
3
  description: "Shapes, a dashed curve, gray, RGB, CMYK and hex colour, transparency, a blend mode, a clip, a rotation, a JPEG and an RGBA image on one page."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/recipes/images-and-vectors/"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "An invoice"
3
3
  description: "A tagged one-page invoice with an embedded font, a table of line items with right-aligned amounts and a total, in TypeScript and Rust."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/recipes/invoice/"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "Links and outlines"
3
3
  description: "Four A5 pages joined by web, page and named links, with a nested outline, page labels that read i, ii, 1, 2 and the outline shown on open."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/recipes/links-and-outlines/"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "Multilingual text"
3
3
  description: "Latin, Arabic, Devanagari, Hebrew and Chinese on one page, each in its own embedded font, as a shaped line and a wrapped paragraph."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/recipes/multilingual/"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "Open someone else's file"
3
3
  description: "Open an uploaded PDF with an optional password and tighter limits, and get its page count and warnings, or the error, back as a value."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/recipes/open-untrusted/"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "A PDF/A archive"
3
3
  description: "An order confirmation for long-term archiving, written as PDF/A-2b and as PDF/A-2u that is also PDF/UA-1, with an embedded font and a photo."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/recipes/pdf-a-archive/"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "A PDF/A-3 invoice with XML"
3
3
  description: "A PDF/A-3b invoice that carries the same invoice as an attached XML file, for people to read and for software to process."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/recipes/pdf-a3-invoice-with-xml/"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "A PDF/UA report"
3
3
  description: "A one-page sales report a screen reader can follow, with headings, a table, a described chart and a link, checked against PDF/UA-1 as it's built."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/recipes/pdf-ua-report/"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "A 100-page report"
3
3
  description: "A 100-page A4 report with two embedded fonts and a table on every page, the document Lamina PDF times in each JavaScript runtime."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/recipes/report/"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "Save in a Web Worker"
3
3
  description: "Open and save a PDF in a Web Worker, so a large file never freezes the page, with progress as it saves and a signal that stops the work."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/recipes/web-worker-client/"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "Recipes"
3
3
  description: "Complete Lamina PDF programs, from one page of text to an archived invoice, each with its code and the PDF it writes."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/recipes/"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "Benchmarks"
3
3
  description: "How fast Lamina PDF makes PDFs in each runtime, how large its WebAssembly files are, and how well it extracts text on a public benchmark."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/reference/benchmarks/"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "Changelog"
3
3
  description: "What changed in each Lamina PDF release, newest first."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/reference/changelog/"
6
6
  ---
7
7
 
@@ -11,6 +11,34 @@ What changed in each Lamina PDF release, newest first.
11
11
 
12
12
  Every Lamina PDF package shares one version, so each entry covers all of them, from the Rust crates to `@laminapdf/sdk` and the viewer. Breaking changes come first, under **Minor Changes**, as the [stability policy](../../pages/reference/stability.md) explains. Versions from `0.2.0-alpha.2` on are on npm and crates.io; earlier ones were never published.
13
13
 
14
+ ## 0.2.0-alpha.5
15
+
16
+ ### Minor Changes
17
+
18
+ - Reader mode for every PDF. When a file has no tags, or its tags fail reader mode's checks, `doc.reflow()` reads the page layout instead of refusing: `source` is `"approximate"` and `reason` says why the tags weren't used. A scanned page, or one whose column order extraction doubts, comes back as a `page-image` block with `why` (`"scanned"` or `"uncertain"`) and the page's text for searching. Tables and pictures are crops, and their captions are kept with them. Only a file with nothing to show has `available: false`, with the reason `"nothing"`.
19
+ - `doc.properties()` reads what a properties view shows about a document in one call. It returns the Info entries, with the creation and modification dates as ISO 8601, and the XMP packet as text. It also gives the PDF version, page count, file size, whether the file is linearized and tagged, and the fonts the pages use (name, type, embedded, subset, encoding). Encryption comes with the author's permissions, and signatures are counted, never verified. `contains` says whether the file holds JavaScript, attachments or a form. It needs the extract or text module. For Rust callers, `Document::properties()` returns the same as `DocumentProperties`, and `laminapdf-model` gains `Pages::fonts()` and `Document::xmp_packet()`.
20
+
21
+ The viewer's client gains `properties()`, `printPage(index, { dpi, annotations })` and `fileBytes()`. `printPage` draws a page in the document worker for printing, with annotations as their print flags say, and returns it as a PNG. `fileBytes` returns a linked file's bytes as opened.
22
+ - Reader mode for tagged PDFs. `doc.reflow()` returns the document's blocks in its structure tree's order: headings, paragraphs, list items, quotes, captions and notes as text, and each figure, formula and table as a crop of its page with its alternate text, never as reflowed text. It checks the tree first: a file whose tree it can't trust comes back with `available: false` and the reason. It needs the extract module. The viewer's worker serves it as `client.reflow()`.
23
+ - Links in PDFs now work in the viewer. `doc.pageLinks(index)` lists a page's links in page space, each with what following it does: a place in the document, a web address, another file, a named action, or an action such as JavaScript, which Lamina PDF never runs. The viewer draws an anchor over each link. Links inside the document go there, web links ask the app to confirm first, and anything else does nothing. `viewer.history` records each jump, so Back returns to where the reader was, and the web reader keeps those jumps in the browser's history.
24
+ - Pages can be drawn in Sepia, Dark or High contrast instead of their own colours. Images and annotations keep theirs, and so does text under a highlight.
25
+
26
+ - **Render request:** `RenderRequest.appearance` is `"original"` (the default), `"sepia"`, `"dark"` or `{ kind: "high-contrast", ink, paper }`, for both backends.
27
+ - **Colour maps:** `recolourRgb` and `recolourTile` in `@laminapdf/render` give the same bytes as the Rust crate's.
28
+ - **Viewer:** `setAppearance()` redraws the pages in view in the new colours, keeping the scroll position. The thumbnails follow.
29
+ - Each page is now a region that screen readers name and can land on. `createViewer({ pages: { name, roleDescription, focusOnJump } })` sets each page's name, "Page 4 of 120" unless the app gives its own, such as "Page iv, 4 of 120". With `focusOnJump`, a jump moves focus to the page it lands on: a link, the outline, a thumbnail or go to page. A find match leaves focus in the find field.
30
+ - Copying from the viewer now follows the page's reading order. A selection across two columns copies the left column, then the right. A paragraph's lines join into one line, hyphenated words join again, and a blank line separates paragraphs. HTML with a paragraph per block goes to the clipboard alongside the plain text.
31
+
32
+ `viewer.copySelection("exact")` keeps the layout's line breaks instead. An Alt/Option-drag, or a plain drag while `viewer.columnSelect` is on, selects the text inside a rectangle, such as one column. Selections also come as the viewer's `selectionchange` event, whose `settled` flag says when the pointer is up and a toolbar may show.
33
+ - A local file larger than 200 MiB now opens from a copy in the browser's origin-private file system (OPFS). The document worker makes the copy once, reuses it on later opens and reads it as needed, so it no longer holds the whole file in memory. The worker reports copying through the client's `progress` event, and a cancel stops it. `ViewerOpenOptions.copyAbove` sets the threshold.
34
+
35
+ The file opens from memory, as before, when the browser lacks OPFS, the copy won't fit or fails partway, or another tab is reading the file. When the copies would pass their budget, those opened longest ago are deleted first. `ViewerOpenOptions.keepCopy: false` removes the copy when its document closes. `CACHE_FOLDER` names the OPFS folder of copies, so an app can empty it.
36
+
37
+ ### Patch Changes
38
+
39
+ - In Firefox, selecting a page's text with the mouse works again after the user has focused a text field on the page, such as the reader's page box. A drag that leaves the viewer can now highlight your app's own text in Firefox too, as it already could in Chromium and WebKit; set `user-select: none` on text you want to keep out. Copy still writes only the page text.
40
+ - A cancelled `open()` no longer leaves the page and the document Web Worker on different documents. The cancel can arrive after the Web Worker already opened the new file. `open()` then resolves with that document instead of rejecting, so renders keep working.
41
+
14
42
  ## 0.2.0-alpha.4
15
43
 
16
44
  ### Minor Changes
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "Error and warning codes"
3
3
  description: "Every code Lamina PDF raises, generated from fixtures/codes.json when the site is built."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/reference/codes/"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "Glossary"
3
3
  description: "The PDF and Lamina PDF terms the docs use, each in a sentence or two."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/reference/glossary/"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "Rust API (rustdoc)"
3
3
  description: "Where to read the API documentation of the Lamina PDF crates."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/reference/rust/"
6
6
  ---
7
7
 
@@ -9,19 +9,19 @@ url: "https://docs.laminapdf.com/reference/rust/"
9
9
 
10
10
  Where to read the API documentation of the Lamina PDF crates.
11
11
 
12
- docs.rs builds the API documentation of every Lamina PDF crate on crates.io. Start with [`laminapdf` on docs.rs](https://docs.rs/laminapdf/0.2.0-alpha.4/laminapdf/), the crate to depend on. It wraps the core crates and holds `Document`, `Builder`, `Error`, `Warning`, jobs and `CancelToken`.
12
+ docs.rs builds the API documentation of every Lamina PDF crate on crates.io. Start with [`laminapdf` on docs.rs](https://docs.rs/laminapdf/0.2.0-alpha.5/laminapdf/), the crate to depend on. It wraps the core crates and holds `Document`, `Builder`, `Error`, `Warning`, jobs and `CancelToken`.
13
13
 
14
14
  The other crates are documented the same way:
15
15
 
16
- - [`laminapdf-syntax`](https://docs.rs/laminapdf-syntax/0.2.0-alpha.4/laminapdf_syntax/)
17
- - [`laminapdf-cos`](https://docs.rs/laminapdf-cos/0.2.0-alpha.4/laminapdf_cos/)
18
- - [`laminapdf-model`](https://docs.rs/laminapdf-model/0.2.0-alpha.4/laminapdf_model/)
19
- - [`laminapdf-ops`](https://docs.rs/laminapdf-ops/0.2.0-alpha.4/laminapdf_ops/)
20
- - [`laminapdf-save`](https://docs.rs/laminapdf-save/0.2.0-alpha.4/laminapdf_save/)
21
- - [`laminapdf-content`](https://docs.rs/laminapdf-content/0.2.0-alpha.4/laminapdf_content/)
22
- - [`laminapdf-text`](https://docs.rs/laminapdf-text/0.2.0-alpha.4/laminapdf_text/)
23
- - [`laminapdf-build`](https://docs.rs/laminapdf-build/0.2.0-alpha.4/laminapdf_build/)
24
- - [`laminapdf-render-pdfium`](https://docs.rs/laminapdf-render-pdfium/0.2.0-alpha.4/laminapdf_render_pdfium/)
16
+ - [`laminapdf-syntax`](https://docs.rs/laminapdf-syntax/0.2.0-alpha.5/laminapdf_syntax/)
17
+ - [`laminapdf-cos`](https://docs.rs/laminapdf-cos/0.2.0-alpha.5/laminapdf_cos/)
18
+ - [`laminapdf-model`](https://docs.rs/laminapdf-model/0.2.0-alpha.5/laminapdf_model/)
19
+ - [`laminapdf-ops`](https://docs.rs/laminapdf-ops/0.2.0-alpha.5/laminapdf_ops/)
20
+ - [`laminapdf-save`](https://docs.rs/laminapdf-save/0.2.0-alpha.5/laminapdf_save/)
21
+ - [`laminapdf-content`](https://docs.rs/laminapdf-content/0.2.0-alpha.5/laminapdf_content/)
22
+ - [`laminapdf-text`](https://docs.rs/laminapdf-text/0.2.0-alpha.5/laminapdf_text/)
23
+ - [`laminapdf-build`](https://docs.rs/laminapdf-build/0.2.0-alpha.5/laminapdf_build/)
24
+ - [`laminapdf-render-pdfium`](https://docs.rs/laminapdf-render-pdfium/0.2.0-alpha.5/laminapdf_render_pdfium/)
25
25
 
26
26
  docs.rs couldn't build `laminapdf-source` and `laminapdf-render` at 0.2.0-alpha.2, so their docs come with the next release; until then, build them yourself as below. [Install](../../pages/install.md#every-published-package) lists every crate, with its page on crates.io.
27
27
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "Stability policy"
3
3
  description: "What a Lamina PDF version number promises, and what stays the same in every version."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/reference/stability/"
6
6
  ---
7
7
 
@@ -17,7 +17,7 @@ Every crate and every npm package shares one version, and they are released toge
17
17
 
18
18
  ## What a version number tells you
19
19
 
20
- - **Alphas promise nothing to each other.** Anything can change between `0.2.0-alpha.1` and `0.2.0-alpha.2`. While you try an alpha, pin the exact version: `npm install --save-exact @laminapdf/sdk@0.2.0-alpha.4`, and `laminapdf = "=0.2.0-alpha.4"` in `Cargo.toml`.
20
+ - **Alphas promise nothing to each other.** Anything can change between `0.2.0-alpha.1` and `0.2.0-alpha.2`. While you try an alpha, pin the exact version: `npm install --save-exact @laminapdf/sdk@0.2.0-alpha.5`, and `laminapdf = "=0.2.0-alpha.5"` in `Cargo.toml`.
21
21
  - **The `alpha` tag names the newest alpha.** `npm install @laminapdf/sdk@alpha` gets it. A plain `npm install @laminapdf/sdk` gets a `0.0.0` placeholder that only reserves the name.
22
22
  - **After the alphas, `0.x` versions follow SemVer as Cargo reads it.** A breaking change raises the minor version (`0.2` to `0.3`), and features and fixes raise the patch (`0.2.0` to `0.2.1`). So an upgrade within one `0.x` line never needs a code change.
23
23
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "Use Lamina PDF with coding agents"
3
3
  description: "Point a coding agent at the docs inside the installed package, so its answers match the version you use."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/start/coding-agents/"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "Your first PDF"
3
3
  description: "Write hello.pdf from Node in five minutes."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/start/first-pdf/"
6
6
  ---
7
7
 
@@ -18,7 +18,7 @@ You need Node 24.2 or newer, which runs `.ts` files directly. Create a folder an
18
18
  ```sh
19
19
  mkdir hello-pdf && cd hello-pdf
20
20
  npm init -y && npm pkg set type=module
21
- npm install @laminapdf/sdk@0.2.0-alpha.4
21
+ npm install @laminapdf/sdk@0.2.0-alpha.5
22
22
  ```
23
23
 
24
24
  Lamina PDF is in alpha, so the install names the version these docs describe. `@laminapdf/sdk` brings its WebAssembly modules, `@laminapdf/wasm`, with it. [Install](../../pages/install.md) covers other package managers and Rust.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: "Troubleshooting"
3
3
  description: "The problems people hit with Lamina PDF, from a missing init() to a signed file that won't save, with the cause and the fix of each."
4
- version: "0.2.0-alpha.4"
4
+ version: "0.2.0-alpha.5"
5
5
  url: "https://docs.laminapdf.com/troubleshooting/"
6
6
  ---
7
7
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@laminapdf/sdk",
3
- "version": "0.2.0-alpha.4",
3
+ "version": "0.2.0-alpha.5",
4
4
  "description": "Create, read, edit and save PDFs from TypeScript: Lamina PDF's Rust core as WebAssembly, synchronous after init(), in browsers, Node, Deno, Bun and Cloudflare Workers.",
5
5
  "license": "MIT OR Apache-2.0",
6
6
  "homepage": "https://laminapdf.com",
@@ -65,7 +65,7 @@
65
65
  "./package.json": "./package.json"
66
66
  },
67
67
  "dependencies": {
68
- "@laminapdf/wasm": "0.2.0-alpha.4"
68
+ "@laminapdf/wasm": "0.2.0-alpha.5"
69
69
  },
70
70
  "devDependencies": {
71
71
  "@arethetypeswrong/cli": "0.18.5",
@@ -82,9 +82,9 @@
82
82
  "vite": "8.3.5",
83
83
  "vitest": "5.0.5",
84
84
  "wrangler": "4.152.0",
85
- "@laminapdf/render-hayro": "0.2.0-alpha.4",
86
- "@laminapdf/render": "0.2.0-alpha.4",
87
- "@laminapdf/test-utils": "0.0.0"
85
+ "@laminapdf/render": "0.2.0-alpha.5",
86
+ "@laminapdf/test-utils": "0.0.0",
87
+ "@laminapdf/render-hayro": "0.2.0-alpha.5"
88
88
  },
89
89
  "publishConfig": {
90
90
  "access": "public"