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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (408) hide show
  1. package/README.md +21 -1
  2. package/dist/api.d.ts +4 -2
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js +1 -0
  5. package/dist/api.js.map +1 -1
  6. package/dist/builder.d.ts +8 -3
  7. package/dist/builder.d.ts.map +1 -1
  8. package/dist/builder.js +8 -3
  9. package/dist/builder.js.map +1 -1
  10. package/dist/document.d.ts +42 -1
  11. package/dist/document.d.ts.map +1 -1
  12. package/dist/document.js +65 -0
  13. package/dist/document.js.map +1 -1
  14. package/dist/extract-job.d.ts +100 -0
  15. package/dist/extract-job.d.ts.map +1 -0
  16. package/dist/extract-job.js +177 -0
  17. package/dist/extract-job.js.map +1 -0
  18. package/dist/extract.d.ts +1 -1
  19. package/dist/extract.d.ts.map +1 -1
  20. package/dist/extract.js.map +1 -1
  21. package/dist/generated/builder-enums.d.ts +3 -3
  22. package/dist/generated/builder-enums.d.ts.map +1 -1
  23. package/dist/generated/builder-enums.js +10 -0
  24. package/dist/generated/builder-enums.js.map +1 -1
  25. package/dist/generated/codes.d.ts +2 -2
  26. package/dist/generated/codes.d.ts.map +1 -1
  27. package/dist/generated/codes.js +55 -1
  28. package/dist/generated/codes.js.map +1 -1
  29. package/dist/generated/explain.d.ts.map +1 -1
  30. package/dist/generated/explain.js +19 -2
  31. package/dist/generated/explain.js.map +1 -1
  32. package/dist/generated/extract.d.ts +50 -3
  33. package/dist/generated/extract.d.ts.map +1 -1
  34. package/dist/source/http.d.ts +1 -1
  35. package/dist/source/http.js +1 -1
  36. package/dist/types.d.ts +19 -1
  37. package/dist/types.d.ts.map +1 -1
  38. package/dist/version.d.ts +1 -1
  39. package/dist/version.js +1 -1
  40. package/dist/worker/support.d.ts +7 -1
  41. package/dist/worker/support.d.ts.map +1 -1
  42. package/dist/worker/support.js +4 -0
  43. package/dist/worker/support.js.map +1 -1
  44. package/docs/AGENTS.md +1 -1
  45. package/docs/api/README.md +20 -1
  46. package/docs/api/classes/Builder.md +1 -1
  47. package/docs/api/classes/Document.md +113 -1
  48. package/docs/api/classes/ExtractJob.md +236 -0
  49. package/docs/api/classes/Font.md +1 -1
  50. package/docs/api/classes/Image.md +1 -1
  51. package/docs/api/classes/LaminaPdfError.md +1 -1
  52. package/docs/api/classes/Page.md +1 -1
  53. package/docs/api/classes/PageRef.md +1 -1
  54. package/docs/api/classes/PageText.md +1 -1
  55. package/docs/api/classes/PageTextRun.md +1 -1
  56. package/docs/api/classes/PendingPath.md +1 -1
  57. package/docs/api/classes/SaveJob.md +1 -1
  58. package/docs/api/classes/Surface.md +10 -5
  59. package/docs/api/classes/Transaction.md +1 -1
  60. package/docs/api/functions/callbackSource.md +1 -1
  61. package/docs/api/functions/extractWithModels.md +70 -0
  62. package/docs/api/functions/httpRangeSource.md +2 -2
  63. package/docs/api/functions/init.md +1 -1
  64. package/docs/api/functions/isExtractLoaded.md +1 -1
  65. package/docs/api/functions/isInitialized.md +1 -1
  66. package/docs/api/functions/isLaminaPdfError.md +1 -1
  67. package/docs/api/functions/isTextLoaded.md +1 -1
  68. package/docs/api/functions/loadExtract.md +1 -1
  69. package/docs/api/functions/loadText.md +1 -1
  70. package/docs/api/functions/onLeak.md +1 -1
  71. package/docs/api/functions/reset.md +1 -1
  72. package/docs/api/functions/wasmMemory.md +1 -1
  73. package/docs/api/interfaces/BuilderOptions.md +1 -1
  74. package/docs/api/interfaces/ByteRange.md +1 -1
  75. package/docs/api/interfaces/ChunkOptions.md +1 -1
  76. package/docs/api/interfaces/Diagnostic.md +1 -1
  77. package/docs/api/interfaces/ExtractOptions.md +1 -1
  78. package/docs/api/interfaces/ExtractResult.md +1 -1
  79. package/docs/api/interfaces/FontInfo.md +1 -1
  80. package/docs/api/interfaces/HostModels.md +57 -0
  81. package/docs/api/interfaces/HttpRangeOptions.md +1 -1
  82. package/docs/api/interfaces/InitOptions.md +1 -1
  83. package/docs/api/interfaces/LayoutRegion.md +38 -0
  84. package/docs/api/interfaces/Leak.md +1 -1
  85. package/docs/api/interfaces/Location.md +1 -1
  86. package/docs/api/interfaces/ModelInfo.md +45 -0
  87. package/docs/api/interfaces/ModelRequest.md +45 -0
  88. package/docs/api/interfaces/Models.md +45 -0
  89. package/docs/api/interfaces/OcrWord.md +37 -0
  90. package/docs/api/interfaces/OpLog.md +1 -1
  91. package/docs/api/interfaces/OpenOptions.md +1 -1
  92. package/docs/api/interfaces/PageTextOptions.md +1 -1
  93. package/docs/api/interfaces/PathBuilder.md +1 -1
  94. package/docs/api/interfaces/QuadPoint.md +1 -1
  95. package/docs/api/interfaces/RangeOptions.md +1 -1
  96. package/docs/api/interfaces/RangeSource.md +1 -1
  97. package/docs/api/interfaces/StrokeStyle.md +1 -1
  98. package/docs/api/interfaces/TagSpec.md +3 -3
  99. package/docs/api/interfaces/TextBoxOptions.md +1 -1
  100. package/docs/api/interfaces/TextGlyph.md +1 -1
  101. package/docs/api/interfaces/TextOptions.md +1 -1
  102. package/docs/api/interfaces/WasmMemory.md +1 -1
  103. package/docs/api/type-aliases/AfRelationship.md +1 -1
  104. package/docs/api/type-aliases/Align.md +1 -1
  105. package/docs/api/type-aliases/ArtifactKind.md +2 -2
  106. package/docs/api/type-aliases/AttachmentOptions.md +1 -1
  107. package/docs/api/type-aliases/BlendMode.md +1 -1
  108. package/docs/api/type-aliases/BoxRect.md +1 -1
  109. package/docs/api/type-aliases/BuildOptions.md +1 -1
  110. package/docs/api/type-aliases/Cell.md +1 -1
  111. package/docs/api/type-aliases/Chunk.md +1 -1
  112. package/docs/api/type-aliases/Color.md +1 -1
  113. package/docs/api/type-aliases/Coordinates.md +1 -1
  114. package/docs/api/type-aliases/Direction.md +1 -1
  115. package/docs/api/type-aliases/DocumentInfo.md +1 -1
  116. package/docs/api/type-aliases/DropReason.md +2 -2
  117. package/docs/api/type-aliases/Dropped.md +1 -1
  118. package/docs/api/type-aliases/Edited.md +1 -1
  119. package/docs/api/type-aliases/ErrorCode.md +2 -2
  120. package/docs/api/type-aliases/ErrorKind.md +1 -1
  121. package/docs/api/type-aliases/ExtractFormat.md +1 -1
  122. package/docs/api/type-aliases/ExtractJobOptions.md +31 -0
  123. package/docs/api/type-aliases/ExtractStep.md +61 -0
  124. package/docs/api/type-aliases/ExtractedBlock.md +13 -1
  125. package/docs/api/type-aliases/ExtractedPage.md +9 -1
  126. package/docs/api/type-aliases/ExtractedSource.md +1 -1
  127. package/docs/api/type-aliases/Extraction.md +1 -1
  128. package/docs/api/type-aliases/FillRule.md +1 -1
  129. package/docs/api/type-aliases/Fit.md +1 -1
  130. package/docs/api/type-aliases/Flags.md +1 -1
  131. package/docs/api/type-aliases/Generator.md +5 -3
  132. package/docs/api/type-aliases/GlyphQuad.md +1 -1
  133. package/docs/api/type-aliases/InfoPatch.md +1 -1
  134. package/docs/api/type-aliases/LaminaPdfWarning.md +1 -1
  135. package/docs/api/type-aliases/LimitName.md +1 -1
  136. package/docs/api/type-aliases/Limits.md +1 -1
  137. package/docs/api/type-aliases/LineBox.md +1 -1
  138. package/docs/api/type-aliases/LineCap.md +1 -1
  139. package/docs/api/type-aliases/LineJoin.md +1 -1
  140. package/docs/api/type-aliases/LinkTarget.md +1 -1
  141. package/docs/api/type-aliases/Metadata.md +1 -1
  142. package/docs/api/type-aliases/ModelResult.md +15 -0
  143. package/docs/api/type-aliases/Op.md +1 -1
  144. package/docs/api/type-aliases/OutlineEntry.md +1 -1
  145. package/docs/api/type-aliases/OutlineNode.md +15 -0
  146. package/docs/api/type-aliases/Overflow.md +1 -1
  147. package/docs/api/type-aliases/PageInfo.md +1 -1
  148. package/docs/api/type-aliases/PageLabel.md +1 -1
  149. package/docs/api/type-aliases/PageSizeName.md +1 -1
  150. package/docs/api/type-aliases/Point.md +1 -1
  151. package/docs/api/type-aliases/Profile.md +1 -1
  152. package/docs/api/type-aliases/Progress.md +1 -1
  153. package/docs/api/type-aliases/ReadingOrder.md +1 -1
  154. package/docs/api/type-aliases/Rect.md +1 -1
  155. package/docs/api/type-aliases/Region.md +1 -1
  156. package/docs/api/type-aliases/RegionLabel.md +15 -0
  157. package/docs/api/type-aliases/RenderMode.md +1 -1
  158. package/docs/api/type-aliases/Rotation.md +1 -1
  159. package/docs/api/type-aliases/SaveOptions.md +1 -1
  160. package/docs/api/type-aliases/SaveReport.md +1 -1
  161. package/docs/api/type-aliases/Span.md +12 -1
  162. package/docs/api/type-aliases/SplitOn.md +1 -1
  163. package/docs/api/type-aliases/Standard14.md +1 -1
  164. package/docs/api/type-aliases/StructRef.md +1 -1
  165. package/docs/api/type-aliases/StructSource.md +1 -1
  166. package/docs/api/type-aliases/StructureKid.md +15 -0
  167. package/docs/api/type-aliases/StructureNode.md +16 -0
  168. package/docs/api/type-aliases/TableDetector.md +1 -1
  169. package/docs/api/type-aliases/TableMode.md +1 -1
  170. package/docs/api/type-aliases/TableScope.md +1 -1
  171. package/docs/api/type-aliases/Tag.md +1 -1
  172. package/docs/api/type-aliases/TagName.md +1 -1
  173. package/docs/api/type-aliases/Target.md +15 -0
  174. package/docs/api/type-aliases/TargetView.md +18 -0
  175. package/docs/api/type-aliases/TextLayer.md +72 -0
  176. package/docs/api/type-aliases/TextLayerStatus.md +15 -0
  177. package/docs/api/type-aliases/TextLayout.md +1 -1
  178. package/docs/api/type-aliases/TextRange.md +1 -1
  179. package/docs/api/type-aliases/TextRunInfo.md +1 -1
  180. package/docs/api/type-aliases/Transform.md +1 -1
  181. package/docs/api/type-aliases/UndoOutcome.md +1 -1
  182. package/docs/api/type-aliases/ViewerPreferences.md +1 -1
  183. package/docs/api/type-aliases/WarningCode.md +2 -2
  184. package/docs/api/type-aliases/WasmSource.md +1 -1
  185. package/docs/api/variables/Matrix.md +1 -1
  186. package/docs/api/variables/PAGE_SIZES.md +1 -1
  187. package/docs/api/variables/TAG_NAMES.md +2 -2
  188. package/docs/errors/README.md +18 -1
  189. package/docs/errors/aes-padding-invalid.md +1 -1
  190. package/docs/errors/already-initialized.md +1 -1
  191. package/docs/errors/binary-output-to-terminal.md +1 -1
  192. package/docs/errors/builder-finished.md +1 -1
  193. package/docs/errors/cancelled.md +1 -1
  194. package/docs/errors/cmap-invalid.md +1 -1
  195. package/docs/errors/collection-index.md +1 -1
  196. package/docs/errors/color-components.md +1 -1
  197. package/docs/errors/content-bad-operands.md +1 -1
  198. package/docs/errors/content-path-unpainted.md +1 -1
  199. package/docs/errors/content-resource-missing.md +1 -1
  200. package/docs/errors/content-syntax.md +1 -1
  201. package/docs/errors/content-unbalanced-bt.md +1 -1
  202. package/docs/errors/content-unbalanced-marked.md +1 -1
  203. package/docs/errors/content-unbalanced-q.md +1 -1
  204. package/docs/errors/content-unknown-operator.md +1 -1
  205. package/docs/errors/covered-text.md +33 -0
  206. package/docs/errors/data-pending.md +1 -1
  207. package/docs/errors/decompress.md +1 -1
  208. package/docs/errors/device-color-without-output-intent.md +1 -1
  209. package/docs/errors/direct-page.md +1 -1
  210. package/docs/errors/disposed.md +1 -1
  211. package/docs/errors/document-changed.md +1 -1
  212. package/docs/errors/embedded-file-forbidden.md +1 -1
  213. package/docs/errors/embedded-file-without-mime-type.md +1 -1
  214. package/docs/errors/encoding-full.md +1 -1
  215. package/docs/errors/encrypted-base.md +1 -1
  216. package/docs/errors/extract-column-order-uncertain.md +38 -0
  217. package/docs/errors/extract-limit-blocks.md +1 -1
  218. package/docs/errors/extract-module-not-loaded.md +1 -1
  219. package/docs/errors/extract-needs-ocr.md +37 -0
  220. package/docs/errors/extract-reading-order-ambiguous.md +1 -1
  221. package/docs/errors/extract-struct-tree-ignored.md +1 -1
  222. package/docs/errors/extract-table-ambiguous.md +1 -1
  223. package/docs/errors/extract-table-limit.md +1 -1
  224. package/docs/errors/extract-untagged-content.md +1 -1
  225. package/docs/errors/fetch-failed.md +3 -3
  226. package/docs/errors/flate-truncated.md +1 -1
  227. package/docs/errors/flow-content-too-large.md +34 -0
  228. package/docs/errors/flow-keep-broken.md +34 -0
  229. package/docs/errors/flow-layout-unstable.md +38 -0
  230. package/docs/errors/font-invalid.md +1 -1
  231. package/docs/errors/font-mismatch.md +1 -1
  232. package/docs/errors/font-not-embeddable.md +1 -1
  233. package/docs/errors/font-not-embedded.md +1 -1
  234. package/docs/errors/font-not-shapable.md +1 -1
  235. package/docs/errors/glyph-out-of-range.md +1 -1
  236. package/docs/errors/glyph-without-unicode.md +7 -5
  237. package/docs/errors/heading-level-skipped.md +1 -1
  238. package/docs/errors/image-data-length.md +1 -1
  239. package/docs/errors/image-too-large.md +1 -1
  240. package/docs/errors/inline-image-unterminated.md +1 -1
  241. package/docs/errors/input-unreadable.md +1 -1
  242. package/docs/errors/instance-reset.md +1 -1
  243. package/docs/errors/invalid-argument.md +1 -1
  244. package/docs/errors/invalid-axis-value.md +1 -1
  245. package/docs/errors/invalid-box.md +1 -1
  246. package/docs/errors/invalid-color.md +1 -1
  247. package/docs/errors/invalid-command-line.md +1 -1
  248. package/docs/errors/invalid-date.md +1 -1
  249. package/docs/errors/invalid-entry.md +1 -1
  250. package/docs/errors/invalid-feature.md +1 -1
  251. package/docs/errors/invalid-font.md +1 -1
  252. package/docs/errors/invalid-geometry.md +1 -1
  253. package/docs/errors/invalid-icc-profile.md +1 -1
  254. package/docs/errors/invalid-image.md +1 -1
  255. package/docs/errors/invalid-op-log.md +1 -1
  256. package/docs/errors/invalid-page-label.md +1 -1
  257. package/docs/errors/invalid-page-labels.md +1 -1
  258. package/docs/errors/invalid-page-range.md +1 -1
  259. package/docs/errors/invalid-rotate.md +1 -1
  260. package/docs/errors/invalid-spans.md +39 -0
  261. package/docs/errors/invalid-structure-nesting.md +1 -1
  262. package/docs/errors/invalid-structure.md +1 -1
  263. package/docs/errors/invalid-text-range.md +1 -1
  264. package/docs/errors/job-finished.md +1 -1
  265. package/docs/errors/limit-exceeded.md +1 -1
  266. package/docs/errors/link-without-contents.md +1 -1
  267. package/docs/errors/link-without-structure.md +1 -1
  268. package/docs/errors/markdown-html-ignored.md +33 -0
  269. package/docs/errors/markdown-image-missing.md +34 -0
  270. package/docs/errors/missing-alt-text.md +1 -1
  271. package/docs/errors/missing-glyph.md +1 -1
  272. package/docs/errors/missing-header.md +1 -1
  273. package/docs/errors/missing-lang.md +1 -1
  274. package/docs/errors/missing-root.md +1 -1
  275. package/docs/errors/missing-title.md +1 -1
  276. package/docs/errors/model-failed.md +33 -0
  277. package/docs/errors/model-needs-host.md +40 -0
  278. package/docs/errors/model-result-unexpected.md +36 -0
  279. package/docs/errors/name-tree-node-skipped.md +1 -1
  280. package/docs/errors/nested-transaction.md +1 -1
  281. package/docs/errors/no-pending-save.md +1 -1
  282. package/docs/errors/no-transaction.md +1 -1
  283. package/docs/errors/not-initialized.md +1 -1
  284. package/docs/errors/not-pdf.md +1 -1
  285. package/docs/errors/not-rebased.md +1 -1
  286. package/docs/errors/object-number-out-of-range.md +1 -1
  287. package/docs/errors/objstm-index-mismatch.md +1 -1
  288. package/docs/errors/out-of-memory.md +1 -1
  289. package/docs/errors/outline-cycle.md +1 -1
  290. package/docs/errors/outline-item-skipped.md +1 -1
  291. package/docs/errors/output-unwritable.md +1 -1
  292. package/docs/errors/overwrite-refused.md +1 -1
  293. package/docs/errors/page-count-mismatch.md +1 -1
  294. package/docs/errors/page-index-out-of-range.md +1 -1
  295. package/docs/errors/page-tree-node-skipped.md +1 -1
  296. package/docs/errors/password-required.md +1 -1
  297. package/docs/errors/path-outside-roots.md +1 -1
  298. package/docs/errors/perms-mismatch.md +1 -1
  299. package/docs/errors/profile-version-conflict.md +1 -1
  300. package/docs/errors/redaction-not-applied.md +32 -0
  301. package/docs/errors/reference-cycle.md +1 -1
  302. package/docs/errors/render-backend-unavailable.md +1 -1
  303. package/docs/errors/render-failed.md +1 -1
  304. package/docs/errors/render-too-large.md +1 -1
  305. package/docs/errors/repaired-base.md +1 -1
  306. package/docs/errors/requires-rewrite.md +1 -1
  307. package/docs/errors/revision-index-out-of-range.md +34 -0
  308. package/docs/errors/saved-not-rebased.md +1 -1
  309. package/docs/errors/sink-not-empty.md +1 -1
  310. package/docs/errors/sink.md +1 -1
  311. package/docs/errors/source-budget-exceeded.md +1 -1
  312. package/docs/errors/source-changed.md +1 -1
  313. package/docs/errors/source.md +1 -1
  314. package/docs/errors/stale-generation.md +1 -1
  315. package/docs/errors/stream-length-recovered.md +1 -1
  316. package/docs/errors/strict.md +1 -1
  317. package/docs/errors/subset-failed.md +1 -1
  318. package/docs/errors/syntax.md +1 -1
  319. package/docs/errors/tag-element-not-open.md +41 -0
  320. package/docs/errors/tag-element-unclosed.md +34 -0
  321. package/docs/errors/text-in-earlier-revision.md +36 -0
  322. package/docs/errors/text-module-not-loaded.md +1 -1
  323. package/docs/errors/text-overflow.md +1 -1
  324. package/docs/errors/tounicode-conflict.md +1 -1
  325. package/docs/errors/type.md +1 -1
  326. package/docs/errors/unexpected-eof.md +1 -1
  327. package/docs/errors/unknown-axis.md +1 -1
  328. package/docs/errors/unknown-code.md +1 -1
  329. package/docs/errors/unknown-destination.md +1 -1
  330. package/docs/errors/unknown-font.md +1 -1
  331. package/docs/errors/unknown-option.md +1 -1
  332. package/docs/errors/unknown-page.md +1 -1
  333. package/docs/errors/unmapped-glyph.md +1 -1
  334. package/docs/errors/unnumbered-heading-misused.md +1 -1
  335. package/docs/errors/unset-object.md +1 -1
  336. package/docs/errors/unsupported-filter.md +1 -1
  337. package/docs/errors/unsupported-image.md +1 -1
  338. package/docs/errors/unsupported-layout-option.md +1 -1
  339. package/docs/errors/unsupported-security-handler.md +1 -1
  340. package/docs/errors/unsupported-version.md +1 -1
  341. package/docs/errors/untagged-content.md +1 -1
  342. package/docs/errors/warnings-truncated.md +1 -1
  343. package/docs/errors/wasm-trap.md +1 -1
  344. package/docs/errors/whole-font-rebuilt.md +1 -1
  345. package/docs/errors/worker-crashed.md +1 -1
  346. package/docs/errors/worker-failed.md +1 -1
  347. package/docs/errors/worker-version-mismatch.md +1 -1
  348. package/docs/errors/would-invalidate-signatures.md +1 -1
  349. package/docs/errors/wrong-document.md +1 -1
  350. package/docs/errors/wrong-password.md +1 -1
  351. package/docs/errors/xobject-cycle.md +1 -1
  352. package/docs/errors/xref-repaired.md +1 -1
  353. package/docs/errors/xrefstm-ignored.md +1 -1
  354. package/docs/llms.txt +7 -1
  355. package/docs/pages/concepts/dependencies.md +2 -2
  356. package/docs/pages/concepts/drawing-pages.md +76 -0
  357. package/docs/pages/concepts/errors-and-warnings.md +6 -2
  358. package/docs/pages/concepts/how-lamina-thinks.md +13 -1
  359. package/docs/pages/concepts/pages-and-coordinates.md +9 -1
  360. package/docs/pages/guides/accessible-pdfs.md +3 -1
  361. package/docs/pages/guides/archival-pdfs.md +5 -1
  362. package/docs/pages/guides/edit-a-pdf.md +8 -2
  363. package/docs/pages/guides/flowing-pages.md +379 -0
  364. package/docs/pages/guides/fonts-and-text.md +3 -1
  365. package/docs/pages/guides/images-and-vectors.md +3 -1
  366. package/docs/pages/guides/keep-the-page-responsive.md +8 -4
  367. package/docs/pages/guides/links-outlines-and-metadata.md +3 -1
  368. package/docs/pages/guides/open-large-files.md +69 -0
  369. package/docs/pages/guides/password-protected-files.md +1 -1
  370. package/docs/pages/guides/save-a-pdf.md +12 -2
  371. package/docs/pages/guides/test-generated-pdfs.md +324 -0
  372. package/docs/pages/guides/untrusted-files.md +3 -1
  373. package/docs/pages/index.md +2 -2
  374. package/docs/pages/install.md +9 -5
  375. package/docs/pages/quick-start/browser.md +5 -1
  376. package/docs/pages/quick-start/bun.md +5 -1
  377. package/docs/pages/quick-start/deno.md +5 -1
  378. package/docs/pages/quick-start/node.md +5 -1
  379. package/docs/pages/quick-start/rust.md +6 -2
  380. package/docs/pages/quick-start/workers.md +2 -2
  381. package/docs/pages/recipes/cloudflare-worker.md +1 -1
  382. package/docs/pages/recipes/element-flow.md +248 -0
  383. package/docs/pages/recipes/extract-markdown.md +44 -6
  384. package/docs/pages/recipes/generate-then-edit.md +13 -6
  385. package/docs/pages/recipes/hello.md +13 -6
  386. package/docs/pages/recipes/images-and-vectors.md +13 -6
  387. package/docs/pages/recipes/invoice.md +13 -6
  388. package/docs/pages/recipes/links-and-outlines.md +13 -6
  389. package/docs/pages/recipes/multilingual.md +13 -6
  390. package/docs/pages/recipes/open-untrusted.md +1 -1
  391. package/docs/pages/recipes/pdf-a-archive.md +13 -6
  392. package/docs/pages/recipes/pdf-a3-invoice-with-xml.md +13 -6
  393. package/docs/pages/recipes/pdf-ua-report.md +13 -6
  394. package/docs/pages/recipes/report.md +2 -2
  395. package/docs/pages/recipes/web-worker-client.md +1 -1
  396. package/docs/pages/recipes.md +3 -2
  397. package/docs/pages/reference/benchmarks.md +93 -0
  398. package/docs/pages/reference/changelog.md +49 -1
  399. package/docs/pages/reference/codes.md +1 -1
  400. package/docs/pages/reference/glossary.md +1 -1
  401. package/docs/pages/reference/rust.md +11 -11
  402. package/docs/pages/reference/stability.md +3 -3
  403. package/docs/pages/start/coding-agents.md +1 -1
  404. package/docs/pages/start/first-pdf.md +6 -2
  405. package/docs/pages/troubleshooting.md +1 -1
  406. package/docs/schemas/error.schema.json +18 -1
  407. package/package.json +4 -2
  408. package/schemas/error.schema.json +18 -1
@@ -1,5 +1,5 @@
1
1
  ---
2
- version: "0.2.0-alpha.3"
2
+ version: "0.2.0-alpha.4"
3
3
  ---
4
4
 
5
5
  [**@laminapdf/sdk**](../README.md)
@@ -1,5 +1,5 @@
1
1
  ---
2
- version: "0.2.0-alpha.3"
2
+ version: "0.2.0-alpha.4"
3
3
  ---
4
4
 
5
5
  [**@laminapdf/sdk**](../README.md)
@@ -1,5 +1,5 @@
1
1
  ---
2
- version: "0.2.0-alpha.3"
2
+ version: "0.2.0-alpha.4"
3
3
  ---
4
4
 
5
5
  [**@laminapdf/sdk**](../README.md)
@@ -1,5 +1,5 @@
1
1
  ---
2
- version: "0.2.0-alpha.3"
2
+ version: "0.2.0-alpha.4"
3
3
  ---
4
4
 
5
5
  [**@laminapdf/sdk**](../README.md)
@@ -1,5 +1,5 @@
1
1
  ---
2
- version: "0.2.0-alpha.3"
2
+ version: "0.2.0-alpha.4"
3
3
  ---
4
4
 
5
5
  [**@laminapdf/sdk**](../README.md)
@@ -0,0 +1,15 @@
1
+ ---
2
+ version: "0.2.0-alpha.4"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / Target
10
+
11
+ # Type Alias: Target
12
+
13
+ > **Target** = `TargetJs`
14
+
15
+ A place in a document: a 0-based page index and how to show it.
@@ -0,0 +1,18 @@
1
+ ---
2
+ version: "0.2.0-alpha.4"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / TargetView
10
+
11
+ # Type Alias: TargetView
12
+
13
+ > **TargetView** = `TargetViewJs`
14
+
15
+ How a [Target](Target.md) shows its page, in page space (points from the displayed page's top-left,
16
+ y down), by `kind`: `"at"` puts (`x`, `y`) at the viewport's top-left at `zoom`, `"fit"` fits
17
+ the page, `"fit-width"` its width from `y`, `"fit-height"` its height from `x`, `"fit-rect"` the
18
+ rectangle. A coordinate the file leaves unset is absent: keep the current one.
@@ -0,0 +1,72 @@
1
+ ---
2
+ version: "0.2.0-alpha.4"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / TextLayer
10
+
11
+ # Type Alias: TextLayer
12
+
13
+ > **TextLayer** = `object`
14
+
15
+ What a page's text layer is: whether its extracted text is the page's text, or the page
16
+ needs OCR. The measures let a pipeline apply its own cut-offs.
17
+
18
+ ## Properties
19
+
20
+ ### chars
21
+
22
+ > **chars**: `number`
23
+
24
+ Visible characters (spaces left out) in runs that aren't invisible, off the page or tiny.
25
+
26
+ ***
27
+
28
+ ### images
29
+
30
+ > **images**: `number`
31
+
32
+ How many images the page draws, in its forms too.
33
+
34
+ ***
35
+
36
+ ### imageShare
37
+
38
+ > **imageShare**: `number`
39
+
40
+ The share of the page the images cover, measured on a 32 × 32 grid.
41
+
42
+ ***
43
+
44
+ ### invisibleChars
45
+
46
+ > **invisibleChars**: `number`
47
+
48
+ Characters drawn invisibly (text rendering mode 3 or 7), such as an OCR layer.
49
+
50
+ ***
51
+
52
+ ### paths
53
+
54
+ > **paths**: `number`
55
+
56
+ How many paths the page paints (fills and strokes).
57
+
58
+ ***
59
+
60
+ ### status
61
+
62
+ > **status**: [`TextLayerStatus`](TextLayerStatus.md)
63
+
64
+ The verdict.
65
+
66
+ ***
67
+
68
+ ### unmappedShare
69
+
70
+ > **unmappedShare**: `number`
71
+
72
+ The share of the visible runs' glyphs that map to no Unicode; 0 with no visible glyphs.
@@ -0,0 +1,15 @@
1
+ ---
2
+ version: "0.2.0-alpha.4"
3
+ ---
4
+
5
+ [**@laminapdf/sdk**](../README.md)
6
+
7
+ ***
8
+
9
+ [@laminapdf/sdk](../README.md) / TextLayerStatus
10
+
11
+ # Type Alias: TextLayerStatus
12
+
13
+ > **TextLayerStatus** = `"empty"` \| `"ocr-layer"` \| `"needs-ocr"` \| `"mixed"` \| `"native"`
14
+
15
+ A page's text-layer status, the first that applies.
@@ -1,5 +1,5 @@
1
1
  ---
2
- version: "0.2.0-alpha.3"
2
+ version: "0.2.0-alpha.4"
3
3
  ---
4
4
 
5
5
  [**@laminapdf/sdk**](../README.md)
@@ -1,5 +1,5 @@
1
1
  ---
2
- version: "0.2.0-alpha.3"
2
+ version: "0.2.0-alpha.4"
3
3
  ---
4
4
 
5
5
  [**@laminapdf/sdk**](../README.md)
@@ -1,5 +1,5 @@
1
1
  ---
2
- version: "0.2.0-alpha.3"
2
+ version: "0.2.0-alpha.4"
3
3
  ---
4
4
 
5
5
  [**@laminapdf/sdk**](../README.md)
@@ -1,5 +1,5 @@
1
1
  ---
2
- version: "0.2.0-alpha.3"
2
+ version: "0.2.0-alpha.4"
3
3
  ---
4
4
 
5
5
  [**@laminapdf/sdk**](../README.md)
@@ -1,5 +1,5 @@
1
1
  ---
2
- version: "0.2.0-alpha.3"
2
+ version: "0.2.0-alpha.4"
3
3
  ---
4
4
 
5
5
  [**@laminapdf/sdk**](../README.md)
@@ -1,5 +1,5 @@
1
1
  ---
2
- version: "0.2.0-alpha.3"
2
+ version: "0.2.0-alpha.4"
3
3
  ---
4
4
 
5
5
  [**@laminapdf/sdk**](../README.md)
@@ -1,5 +1,5 @@
1
1
  ---
2
- version: "0.2.0-alpha.3"
2
+ version: "0.2.0-alpha.4"
3
3
  ---
4
4
 
5
5
  [**@laminapdf/sdk**](../README.md)
@@ -10,6 +10,6 @@ version: "0.2.0-alpha.3"
10
10
 
11
11
  # Type Alias: WarningCode
12
12
 
13
- > **WarningCode** = `"missing-header"` \| `"xref-repaired"` \| `"xrefstm-ignored"` \| `"stream-length-recovered"` \| `"stale-generation"` \| `"page-tree-node-skipped"` \| `"page-count-mismatch"` \| `"flate-truncated"` \| `"objstm-index-mismatch"` \| `"object-number-out-of-range"` \| `"aes-padding-invalid"` \| `"perms-mismatch"` \| `"warnings-truncated"` \| `"invalid-box"` \| `"invalid-rotate"` \| `"name-tree-node-skipped"` \| `"outline-cycle"` \| `"outline-item-skipped"` \| `"invalid-date"` \| `"invalid-page-label"` \| `"invalid-entry"` \| `"content-unknown-operator"` \| `"content-bad-operands"` \| `"content-unbalanced-q"` \| `"content-unbalanced-bt"` \| `"content-unbalanced-marked"` \| `"content-syntax"` \| `"content-resource-missing"` \| `"inline-image-unterminated"` \| `"xobject-cycle"` \| `"content-path-unpainted"` \| `"font-invalid"` \| `"cmap-invalid"` \| `"unmapped-glyph"` \| `"extract-limit-blocks"` \| `"extract-reading-order-ambiguous"` \| `"extract-table-ambiguous"` \| `"extract-table-limit"` \| `"extract-struct-tree-ignored"` \| `"extract-untagged-content"` \| `"tounicode-conflict"` \| `"whole-font-rebuilt"`
13
+ > **WarningCode** = `"missing-header"` \| `"xref-repaired"` \| `"xrefstm-ignored"` \| `"stream-length-recovered"` \| `"stale-generation"` \| `"page-tree-node-skipped"` \| `"page-count-mismatch"` \| `"flate-truncated"` \| `"objstm-index-mismatch"` \| `"object-number-out-of-range"` \| `"aes-padding-invalid"` \| `"perms-mismatch"` \| `"warnings-truncated"` \| `"invalid-box"` \| `"invalid-rotate"` \| `"name-tree-node-skipped"` \| `"outline-cycle"` \| `"outline-item-skipped"` \| `"invalid-date"` \| `"invalid-page-label"` \| `"invalid-entry"` \| `"content-unknown-operator"` \| `"content-bad-operands"` \| `"content-unbalanced-q"` \| `"content-unbalanced-bt"` \| `"content-unbalanced-marked"` \| `"content-syntax"` \| `"content-resource-missing"` \| `"inline-image-unterminated"` \| `"xobject-cycle"` \| `"content-path-unpainted"` \| `"font-invalid"` \| `"cmap-invalid"` \| `"unmapped-glyph"` \| `"extract-limit-blocks"` \| `"extract-reading-order-ambiguous"` \| `"extract-table-ambiguous"` \| `"extract-table-limit"` \| `"extract-struct-tree-ignored"` \| `"extract-untagged-content"` \| `"extract-needs-ocr"` \| `"extract-column-order-uncertain"` \| `"tounicode-conflict"` \| `"whole-font-rebuilt"` \| `"flow-keep-broken"` \| `"markdown-html-ignored"` \| `"markdown-image-missing"` \| `"covered-text"` \| `"redaction-not-applied"` \| `"text-in-earlier-revision"`
14
14
 
15
15
  Every warning code (ADR 0026 §3; `fixtures/codes.json`).
@@ -1,5 +1,5 @@
1
1
  ---
2
- version: "0.2.0-alpha.3"
2
+ version: "0.2.0-alpha.4"
3
3
  ---
4
4
 
5
5
  [**@laminapdf/sdk**](../README.md)
@@ -1,5 +1,5 @@
1
1
  ---
2
- version: "0.2.0-alpha.3"
2
+ version: "0.2.0-alpha.4"
3
3
  ---
4
4
 
5
5
  [**@laminapdf/sdk**](../README.md)
@@ -1,5 +1,5 @@
1
1
  ---
2
- version: "0.2.0-alpha.3"
2
+ version: "0.2.0-alpha.4"
3
3
  ---
4
4
 
5
5
  [**@laminapdf/sdk**](../README.md)
@@ -1,5 +1,5 @@
1
1
  ---
2
- version: "0.2.0-alpha.3"
2
+ version: "0.2.0-alpha.4"
3
3
  ---
4
4
 
5
5
  [**@laminapdf/sdk**](../README.md)
@@ -10,6 +10,6 @@ version: "0.2.0-alpha.3"
10
10
 
11
11
  # Variable: TAG\_NAMES
12
12
 
13
- > `const` **TAG\_NAMES**: readonly \[`"Document"`, `"Part"`, `"Sect"`, `"H1"`, `"H2"`, `"H3"`, `"H4"`, `"H5"`, `"H6"`, `"P"`, `"L"`, `"LI"`, `"Lbl"`, `"LBody"`, `"Table"`, `"TR"`, `"TH"`, `"TD"`, `"Figure"`, `"Caption"`, `"Link"`, `"Span"`, `"Quote"`, `"Note"`, `"Code"`\]
13
+ > `const` **TAG\_NAMES**: readonly \[`"Document"`, `"Part"`, `"Sect"`, `"H1"`, `"H2"`, `"H3"`, `"H4"`, `"H5"`, `"H6"`, `"P"`, `"L"`, `"LI"`, `"Lbl"`, `"LBody"`, `"Table"`, `"TR"`, `"TH"`, `"TD"`, `"Figure"`, `"Caption"`, `"Link"`, `"Span"`, `"Quote"`, `"Note"`, `"Code"`, `"THead"`, `"TBody"`, `"TFoot"`, `"TOC"`, `"TOCI"`, `"Reference"`, `"BlockQuote"`\]
14
14
 
15
15
  Every TagName, as the WASM module names it.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "Error and warning codes"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/"
5
5
  ---
6
6
 
@@ -22,6 +22,7 @@ url: "https://docs.laminapdf.com/reference/codes/"
22
22
  - [`content-unbalanced-marked`](content-unbalanced-marked.md)
23
23
  - [`content-unbalanced-q`](content-unbalanced-q.md)
24
24
  - [`content-unknown-operator`](content-unknown-operator.md)
25
+ - [`covered-text`](covered-text.md)
25
26
  - [`data-pending`](data-pending.md)
26
27
  - [`decompress`](decompress.md)
27
28
  - [`device-color-without-output-intent`](device-color-without-output-intent.md)
@@ -32,8 +33,10 @@ url: "https://docs.laminapdf.com/reference/codes/"
32
33
  - [`embedded-file-without-mime-type`](embedded-file-without-mime-type.md)
33
34
  - [`encoding-full`](encoding-full.md)
34
35
  - [`encrypted-base`](encrypted-base.md)
36
+ - [`extract-column-order-uncertain`](extract-column-order-uncertain.md)
35
37
  - [`extract-limit-blocks`](extract-limit-blocks.md)
36
38
  - [`extract-module-not-loaded`](extract-module-not-loaded.md)
39
+ - [`extract-needs-ocr`](extract-needs-ocr.md)
37
40
  - [`extract-reading-order-ambiguous`](extract-reading-order-ambiguous.md)
38
41
  - [`extract-struct-tree-ignored`](extract-struct-tree-ignored.md)
39
42
  - [`extract-table-ambiguous`](extract-table-ambiguous.md)
@@ -41,6 +44,9 @@ url: "https://docs.laminapdf.com/reference/codes/"
41
44
  - [`extract-untagged-content`](extract-untagged-content.md)
42
45
  - [`fetch-failed`](fetch-failed.md)
43
46
  - [`flate-truncated`](flate-truncated.md)
47
+ - [`flow-content-too-large`](flow-content-too-large.md)
48
+ - [`flow-keep-broken`](flow-keep-broken.md)
49
+ - [`flow-layout-unstable`](flow-layout-unstable.md)
44
50
  - [`font-invalid`](font-invalid.md)
45
51
  - [`font-mismatch`](font-mismatch.md)
46
52
  - [`font-not-embeddable`](font-not-embeddable.md)
@@ -71,6 +77,7 @@ url: "https://docs.laminapdf.com/reference/codes/"
71
77
  - [`invalid-page-labels`](invalid-page-labels.md)
72
78
  - [`invalid-page-range`](invalid-page-range.md)
73
79
  - [`invalid-rotate`](invalid-rotate.md)
80
+ - [`invalid-spans`](invalid-spans.md)
74
81
  - [`invalid-structure-nesting`](invalid-structure-nesting.md)
75
82
  - [`invalid-structure`](invalid-structure.md)
76
83
  - [`invalid-text-range`](invalid-text-range.md)
@@ -78,12 +85,17 @@ url: "https://docs.laminapdf.com/reference/codes/"
78
85
  - [`limit-exceeded`](limit-exceeded.md)
79
86
  - [`link-without-contents`](link-without-contents.md)
80
87
  - [`link-without-structure`](link-without-structure.md)
88
+ - [`markdown-html-ignored`](markdown-html-ignored.md)
89
+ - [`markdown-image-missing`](markdown-image-missing.md)
81
90
  - [`missing-alt-text`](missing-alt-text.md)
82
91
  - [`missing-glyph`](missing-glyph.md)
83
92
  - [`missing-header`](missing-header.md)
84
93
  - [`missing-lang`](missing-lang.md)
85
94
  - [`missing-root`](missing-root.md)
86
95
  - [`missing-title`](missing-title.md)
96
+ - [`model-failed`](model-failed.md)
97
+ - [`model-needs-host`](model-needs-host.md)
98
+ - [`model-result-unexpected`](model-result-unexpected.md)
87
99
  - [`name-tree-node-skipped`](name-tree-node-skipped.md)
88
100
  - [`nested-transaction`](nested-transaction.md)
89
101
  - [`no-pending-save`](no-pending-save.md)
@@ -105,12 +117,14 @@ url: "https://docs.laminapdf.com/reference/codes/"
105
117
  - [`path-outside-roots`](path-outside-roots.md)
106
118
  - [`perms-mismatch`](perms-mismatch.md)
107
119
  - [`profile-version-conflict`](profile-version-conflict.md)
120
+ - [`redaction-not-applied`](redaction-not-applied.md)
108
121
  - [`reference-cycle`](reference-cycle.md)
109
122
  - [`render-backend-unavailable`](render-backend-unavailable.md)
110
123
  - [`render-failed`](render-failed.md)
111
124
  - [`render-too-large`](render-too-large.md)
112
125
  - [`repaired-base`](repaired-base.md)
113
126
  - [`requires-rewrite`](requires-rewrite.md)
127
+ - [`revision-index-out-of-range`](revision-index-out-of-range.md)
114
128
  - [`saved-not-rebased`](saved-not-rebased.md)
115
129
  - [`sink-not-empty`](sink-not-empty.md)
116
130
  - [`sink`](sink.md)
@@ -122,6 +136,9 @@ url: "https://docs.laminapdf.com/reference/codes/"
122
136
  - [`strict`](strict.md)
123
137
  - [`subset-failed`](subset-failed.md)
124
138
  - [`syntax`](syntax.md)
139
+ - [`tag-element-not-open`](tag-element-not-open.md)
140
+ - [`tag-element-unclosed`](tag-element-unclosed.md)
141
+ - [`text-in-earlier-revision`](text-in-earlier-revision.md)
125
142
  - [`text-module-not-loaded`](text-module-not-loaded.md)
126
143
  - [`text-overflow`](text-overflow.md)
127
144
  - [`tounicode-conflict`](tounicode-conflict.md)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "aes-padding-invalid"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/aes-padding-invalid/"
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "already-initialized"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/already-initialized/"
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "binary-output-to-terminal"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/binary-output-to-terminal/"
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "builder-finished"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/builder-finished/"
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "cancelled"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/cancelled/"
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "cmap-invalid"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/cmap-invalid/"
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "collection-index"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/collection-index/"
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "color-components"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/color-components/"
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "content-bad-operands"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/content-bad-operands/"
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "content-path-unpainted"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/content-path-unpainted/"
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "content-resource-missing"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/content-resource-missing/"
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "content-syntax"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/content-syntax/"
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "content-unbalanced-bt"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/content-unbalanced-bt/"
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "content-unbalanced-marked"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/content-unbalanced-marked/"
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "content-unbalanced-q"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/content-unbalanced-q/"
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "content-unknown-operator"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/content-unknown-operator/"
5
5
  ---
6
6
 
@@ -0,0 +1,33 @@
1
+ ---
2
+ title: "covered-text"
3
+ version: "0.2.0-alpha.4"
4
+ url: "https://docs.laminapdf.com/reference/codes/covered-text/"
5
+ ---
6
+
7
+ # covered-text
8
+
9
+ - Type: warning
10
+ - Kind: `security` (encryption, permissions or signatures block the call, or look tampered with)
11
+
12
+ ## What happened
13
+
14
+ A page draws text and then paints something opaque over it: a filled box, an image or an annotation. A reader sees the box, but the text under it is still in the file, so copying, search and every text extractor still get it.
15
+
16
+ ## Why
17
+
18
+ Drawing a black box over a name is the most common failed redaction. A PDF keeps every glyph its content draws, whatever is painted over it later, so the box hides the words on screen and in print without removing them. Extraction already leaves such text out of its blocks and lists it under `dropped` as `covered`; this warning says how much of it each page has.
19
+
20
+ ## How to fix
21
+
22
+ Remove the text itself with a tool that deletes what a redaction covers, then save the file as a full rewrite, so no earlier revision keeps it either. If the box is part of the design and the text under it is meant to be there, you can ignore the warning.
23
+
24
+ ## Example
25
+
26
+ A page draws "Pay John Smith now." and then a black rectangle over "John Smith". `laminapdf check` reports `covered-text` for page 0 with `chars` 9, and `laminapdf extract` gives `Pay now.`.
27
+
28
+ ## Data fields
29
+
30
+ - `chars`: how many characters, spaces left out, the page has under covers.
31
+ - `regions`: how many separate covered passages the page has: one per box over a run of words.
32
+
33
+ The `location` has the page's `pageIndex`. The warning never holds the covered text.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "data-pending"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/data-pending/"
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "decompress"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/decompress/"
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "device-color-without-output-intent"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/device-color-without-output-intent/"
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "direct-page"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/direct-page/"
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "disposed"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/disposed/"
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "document-changed"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/document-changed/"
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "embedded-file-forbidden"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/embedded-file-forbidden/"
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "embedded-file-without-mime-type"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/embedded-file-without-mime-type/"
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "encoding-full"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/encoding-full/"
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "encrypted-base"
3
- version: "0.2.0-alpha.3"
3
+ version: "0.2.0-alpha.4"
4
4
  url: "https://docs.laminapdf.com/reference/codes/encrypted-base/"
5
5
  ---
6
6