@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.
- package/README.md +21 -1
- package/dist/api.d.ts +4 -2
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +1 -0
- package/dist/api.js.map +1 -1
- package/dist/builder.d.ts +8 -3
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +8 -3
- package/dist/builder.js.map +1 -1
- package/dist/document.d.ts +42 -1
- package/dist/document.d.ts.map +1 -1
- package/dist/document.js +65 -0
- package/dist/document.js.map +1 -1
- package/dist/extract-job.d.ts +100 -0
- package/dist/extract-job.d.ts.map +1 -0
- package/dist/extract-job.js +177 -0
- package/dist/extract-job.js.map +1 -0
- package/dist/extract.d.ts +1 -1
- package/dist/extract.d.ts.map +1 -1
- package/dist/extract.js.map +1 -1
- package/dist/generated/builder-enums.d.ts +3 -3
- package/dist/generated/builder-enums.d.ts.map +1 -1
- package/dist/generated/builder-enums.js +10 -0
- package/dist/generated/builder-enums.js.map +1 -1
- package/dist/generated/codes.d.ts +2 -2
- package/dist/generated/codes.d.ts.map +1 -1
- package/dist/generated/codes.js +55 -1
- package/dist/generated/codes.js.map +1 -1
- package/dist/generated/explain.d.ts.map +1 -1
- package/dist/generated/explain.js +19 -2
- package/dist/generated/explain.js.map +1 -1
- package/dist/generated/extract.d.ts +50 -3
- package/dist/generated/extract.d.ts.map +1 -1
- package/dist/source/http.d.ts +1 -1
- package/dist/source/http.js +1 -1
- package/dist/types.d.ts +19 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/worker/support.d.ts +7 -1
- package/dist/worker/support.d.ts.map +1 -1
- package/dist/worker/support.js +4 -0
- package/dist/worker/support.js.map +1 -1
- package/docs/AGENTS.md +1 -1
- package/docs/api/README.md +20 -1
- package/docs/api/classes/Builder.md +1 -1
- package/docs/api/classes/Document.md +113 -1
- package/docs/api/classes/ExtractJob.md +236 -0
- package/docs/api/classes/Font.md +1 -1
- package/docs/api/classes/Image.md +1 -1
- package/docs/api/classes/LaminaPdfError.md +1 -1
- package/docs/api/classes/Page.md +1 -1
- package/docs/api/classes/PageRef.md +1 -1
- package/docs/api/classes/PageText.md +1 -1
- package/docs/api/classes/PageTextRun.md +1 -1
- package/docs/api/classes/PendingPath.md +1 -1
- package/docs/api/classes/SaveJob.md +1 -1
- package/docs/api/classes/Surface.md +10 -5
- package/docs/api/classes/Transaction.md +1 -1
- package/docs/api/functions/callbackSource.md +1 -1
- package/docs/api/functions/extractWithModels.md +70 -0
- package/docs/api/functions/httpRangeSource.md +2 -2
- package/docs/api/functions/init.md +1 -1
- package/docs/api/functions/isExtractLoaded.md +1 -1
- package/docs/api/functions/isInitialized.md +1 -1
- package/docs/api/functions/isLaminaPdfError.md +1 -1
- package/docs/api/functions/isTextLoaded.md +1 -1
- package/docs/api/functions/loadExtract.md +1 -1
- package/docs/api/functions/loadText.md +1 -1
- package/docs/api/functions/onLeak.md +1 -1
- package/docs/api/functions/reset.md +1 -1
- package/docs/api/functions/wasmMemory.md +1 -1
- package/docs/api/interfaces/BuilderOptions.md +1 -1
- package/docs/api/interfaces/ByteRange.md +1 -1
- package/docs/api/interfaces/ChunkOptions.md +1 -1
- package/docs/api/interfaces/Diagnostic.md +1 -1
- package/docs/api/interfaces/ExtractOptions.md +1 -1
- package/docs/api/interfaces/ExtractResult.md +1 -1
- package/docs/api/interfaces/FontInfo.md +1 -1
- package/docs/api/interfaces/HostModels.md +57 -0
- package/docs/api/interfaces/HttpRangeOptions.md +1 -1
- package/docs/api/interfaces/InitOptions.md +1 -1
- package/docs/api/interfaces/LayoutRegion.md +38 -0
- package/docs/api/interfaces/Leak.md +1 -1
- package/docs/api/interfaces/Location.md +1 -1
- package/docs/api/interfaces/ModelInfo.md +45 -0
- package/docs/api/interfaces/ModelRequest.md +45 -0
- package/docs/api/interfaces/Models.md +45 -0
- package/docs/api/interfaces/OcrWord.md +37 -0
- package/docs/api/interfaces/OpLog.md +1 -1
- package/docs/api/interfaces/OpenOptions.md +1 -1
- package/docs/api/interfaces/PageTextOptions.md +1 -1
- package/docs/api/interfaces/PathBuilder.md +1 -1
- package/docs/api/interfaces/QuadPoint.md +1 -1
- package/docs/api/interfaces/RangeOptions.md +1 -1
- package/docs/api/interfaces/RangeSource.md +1 -1
- package/docs/api/interfaces/StrokeStyle.md +1 -1
- package/docs/api/interfaces/TagSpec.md +3 -3
- package/docs/api/interfaces/TextBoxOptions.md +1 -1
- package/docs/api/interfaces/TextGlyph.md +1 -1
- package/docs/api/interfaces/TextOptions.md +1 -1
- package/docs/api/interfaces/WasmMemory.md +1 -1
- package/docs/api/type-aliases/AfRelationship.md +1 -1
- package/docs/api/type-aliases/Align.md +1 -1
- package/docs/api/type-aliases/ArtifactKind.md +2 -2
- package/docs/api/type-aliases/AttachmentOptions.md +1 -1
- package/docs/api/type-aliases/BlendMode.md +1 -1
- package/docs/api/type-aliases/BoxRect.md +1 -1
- package/docs/api/type-aliases/BuildOptions.md +1 -1
- package/docs/api/type-aliases/Cell.md +1 -1
- package/docs/api/type-aliases/Chunk.md +1 -1
- package/docs/api/type-aliases/Color.md +1 -1
- package/docs/api/type-aliases/Coordinates.md +1 -1
- package/docs/api/type-aliases/Direction.md +1 -1
- package/docs/api/type-aliases/DocumentInfo.md +1 -1
- package/docs/api/type-aliases/DropReason.md +2 -2
- package/docs/api/type-aliases/Dropped.md +1 -1
- package/docs/api/type-aliases/Edited.md +1 -1
- package/docs/api/type-aliases/ErrorCode.md +2 -2
- package/docs/api/type-aliases/ErrorKind.md +1 -1
- package/docs/api/type-aliases/ExtractFormat.md +1 -1
- package/docs/api/type-aliases/ExtractJobOptions.md +31 -0
- package/docs/api/type-aliases/ExtractStep.md +61 -0
- package/docs/api/type-aliases/ExtractedBlock.md +13 -1
- package/docs/api/type-aliases/ExtractedPage.md +9 -1
- package/docs/api/type-aliases/ExtractedSource.md +1 -1
- package/docs/api/type-aliases/Extraction.md +1 -1
- package/docs/api/type-aliases/FillRule.md +1 -1
- package/docs/api/type-aliases/Fit.md +1 -1
- package/docs/api/type-aliases/Flags.md +1 -1
- package/docs/api/type-aliases/Generator.md +5 -3
- package/docs/api/type-aliases/GlyphQuad.md +1 -1
- package/docs/api/type-aliases/InfoPatch.md +1 -1
- package/docs/api/type-aliases/LaminaPdfWarning.md +1 -1
- package/docs/api/type-aliases/LimitName.md +1 -1
- package/docs/api/type-aliases/Limits.md +1 -1
- package/docs/api/type-aliases/LineBox.md +1 -1
- package/docs/api/type-aliases/LineCap.md +1 -1
- package/docs/api/type-aliases/LineJoin.md +1 -1
- package/docs/api/type-aliases/LinkTarget.md +1 -1
- package/docs/api/type-aliases/Metadata.md +1 -1
- package/docs/api/type-aliases/ModelResult.md +15 -0
- package/docs/api/type-aliases/Op.md +1 -1
- package/docs/api/type-aliases/OutlineEntry.md +1 -1
- package/docs/api/type-aliases/OutlineNode.md +15 -0
- package/docs/api/type-aliases/Overflow.md +1 -1
- package/docs/api/type-aliases/PageInfo.md +1 -1
- package/docs/api/type-aliases/PageLabel.md +1 -1
- package/docs/api/type-aliases/PageSizeName.md +1 -1
- package/docs/api/type-aliases/Point.md +1 -1
- package/docs/api/type-aliases/Profile.md +1 -1
- package/docs/api/type-aliases/Progress.md +1 -1
- package/docs/api/type-aliases/ReadingOrder.md +1 -1
- package/docs/api/type-aliases/Rect.md +1 -1
- package/docs/api/type-aliases/Region.md +1 -1
- package/docs/api/type-aliases/RegionLabel.md +15 -0
- package/docs/api/type-aliases/RenderMode.md +1 -1
- package/docs/api/type-aliases/Rotation.md +1 -1
- package/docs/api/type-aliases/SaveOptions.md +1 -1
- package/docs/api/type-aliases/SaveReport.md +1 -1
- package/docs/api/type-aliases/Span.md +12 -1
- package/docs/api/type-aliases/SplitOn.md +1 -1
- package/docs/api/type-aliases/Standard14.md +1 -1
- package/docs/api/type-aliases/StructRef.md +1 -1
- package/docs/api/type-aliases/StructSource.md +1 -1
- package/docs/api/type-aliases/StructureKid.md +15 -0
- package/docs/api/type-aliases/StructureNode.md +16 -0
- package/docs/api/type-aliases/TableDetector.md +1 -1
- package/docs/api/type-aliases/TableMode.md +1 -1
- package/docs/api/type-aliases/TableScope.md +1 -1
- package/docs/api/type-aliases/Tag.md +1 -1
- package/docs/api/type-aliases/TagName.md +1 -1
- package/docs/api/type-aliases/Target.md +15 -0
- package/docs/api/type-aliases/TargetView.md +18 -0
- package/docs/api/type-aliases/TextLayer.md +72 -0
- package/docs/api/type-aliases/TextLayerStatus.md +15 -0
- package/docs/api/type-aliases/TextLayout.md +1 -1
- package/docs/api/type-aliases/TextRange.md +1 -1
- package/docs/api/type-aliases/TextRunInfo.md +1 -1
- package/docs/api/type-aliases/Transform.md +1 -1
- package/docs/api/type-aliases/UndoOutcome.md +1 -1
- package/docs/api/type-aliases/ViewerPreferences.md +1 -1
- package/docs/api/type-aliases/WarningCode.md +2 -2
- package/docs/api/type-aliases/WasmSource.md +1 -1
- package/docs/api/variables/Matrix.md +1 -1
- package/docs/api/variables/PAGE_SIZES.md +1 -1
- package/docs/api/variables/TAG_NAMES.md +2 -2
- package/docs/errors/README.md +18 -1
- package/docs/errors/aes-padding-invalid.md +1 -1
- package/docs/errors/already-initialized.md +1 -1
- package/docs/errors/binary-output-to-terminal.md +1 -1
- package/docs/errors/builder-finished.md +1 -1
- package/docs/errors/cancelled.md +1 -1
- package/docs/errors/cmap-invalid.md +1 -1
- package/docs/errors/collection-index.md +1 -1
- package/docs/errors/color-components.md +1 -1
- package/docs/errors/content-bad-operands.md +1 -1
- package/docs/errors/content-path-unpainted.md +1 -1
- package/docs/errors/content-resource-missing.md +1 -1
- package/docs/errors/content-syntax.md +1 -1
- package/docs/errors/content-unbalanced-bt.md +1 -1
- package/docs/errors/content-unbalanced-marked.md +1 -1
- package/docs/errors/content-unbalanced-q.md +1 -1
- package/docs/errors/content-unknown-operator.md +1 -1
- package/docs/errors/covered-text.md +33 -0
- package/docs/errors/data-pending.md +1 -1
- package/docs/errors/decompress.md +1 -1
- package/docs/errors/device-color-without-output-intent.md +1 -1
- package/docs/errors/direct-page.md +1 -1
- package/docs/errors/disposed.md +1 -1
- package/docs/errors/document-changed.md +1 -1
- package/docs/errors/embedded-file-forbidden.md +1 -1
- package/docs/errors/embedded-file-without-mime-type.md +1 -1
- package/docs/errors/encoding-full.md +1 -1
- package/docs/errors/encrypted-base.md +1 -1
- package/docs/errors/extract-column-order-uncertain.md +38 -0
- package/docs/errors/extract-limit-blocks.md +1 -1
- package/docs/errors/extract-module-not-loaded.md +1 -1
- package/docs/errors/extract-needs-ocr.md +37 -0
- package/docs/errors/extract-reading-order-ambiguous.md +1 -1
- package/docs/errors/extract-struct-tree-ignored.md +1 -1
- package/docs/errors/extract-table-ambiguous.md +1 -1
- package/docs/errors/extract-table-limit.md +1 -1
- package/docs/errors/extract-untagged-content.md +1 -1
- package/docs/errors/fetch-failed.md +3 -3
- package/docs/errors/flate-truncated.md +1 -1
- package/docs/errors/flow-content-too-large.md +34 -0
- package/docs/errors/flow-keep-broken.md +34 -0
- package/docs/errors/flow-layout-unstable.md +38 -0
- package/docs/errors/font-invalid.md +1 -1
- package/docs/errors/font-mismatch.md +1 -1
- package/docs/errors/font-not-embeddable.md +1 -1
- package/docs/errors/font-not-embedded.md +1 -1
- package/docs/errors/font-not-shapable.md +1 -1
- package/docs/errors/glyph-out-of-range.md +1 -1
- package/docs/errors/glyph-without-unicode.md +7 -5
- package/docs/errors/heading-level-skipped.md +1 -1
- package/docs/errors/image-data-length.md +1 -1
- package/docs/errors/image-too-large.md +1 -1
- package/docs/errors/inline-image-unterminated.md +1 -1
- package/docs/errors/input-unreadable.md +1 -1
- package/docs/errors/instance-reset.md +1 -1
- package/docs/errors/invalid-argument.md +1 -1
- package/docs/errors/invalid-axis-value.md +1 -1
- package/docs/errors/invalid-box.md +1 -1
- package/docs/errors/invalid-color.md +1 -1
- package/docs/errors/invalid-command-line.md +1 -1
- package/docs/errors/invalid-date.md +1 -1
- package/docs/errors/invalid-entry.md +1 -1
- package/docs/errors/invalid-feature.md +1 -1
- package/docs/errors/invalid-font.md +1 -1
- package/docs/errors/invalid-geometry.md +1 -1
- package/docs/errors/invalid-icc-profile.md +1 -1
- package/docs/errors/invalid-image.md +1 -1
- package/docs/errors/invalid-op-log.md +1 -1
- package/docs/errors/invalid-page-label.md +1 -1
- package/docs/errors/invalid-page-labels.md +1 -1
- package/docs/errors/invalid-page-range.md +1 -1
- package/docs/errors/invalid-rotate.md +1 -1
- package/docs/errors/invalid-spans.md +39 -0
- package/docs/errors/invalid-structure-nesting.md +1 -1
- package/docs/errors/invalid-structure.md +1 -1
- package/docs/errors/invalid-text-range.md +1 -1
- package/docs/errors/job-finished.md +1 -1
- package/docs/errors/limit-exceeded.md +1 -1
- package/docs/errors/link-without-contents.md +1 -1
- package/docs/errors/link-without-structure.md +1 -1
- package/docs/errors/markdown-html-ignored.md +33 -0
- package/docs/errors/markdown-image-missing.md +34 -0
- package/docs/errors/missing-alt-text.md +1 -1
- package/docs/errors/missing-glyph.md +1 -1
- package/docs/errors/missing-header.md +1 -1
- package/docs/errors/missing-lang.md +1 -1
- package/docs/errors/missing-root.md +1 -1
- package/docs/errors/missing-title.md +1 -1
- package/docs/errors/model-failed.md +33 -0
- package/docs/errors/model-needs-host.md +40 -0
- package/docs/errors/model-result-unexpected.md +36 -0
- package/docs/errors/name-tree-node-skipped.md +1 -1
- package/docs/errors/nested-transaction.md +1 -1
- package/docs/errors/no-pending-save.md +1 -1
- package/docs/errors/no-transaction.md +1 -1
- package/docs/errors/not-initialized.md +1 -1
- package/docs/errors/not-pdf.md +1 -1
- package/docs/errors/not-rebased.md +1 -1
- package/docs/errors/object-number-out-of-range.md +1 -1
- package/docs/errors/objstm-index-mismatch.md +1 -1
- package/docs/errors/out-of-memory.md +1 -1
- package/docs/errors/outline-cycle.md +1 -1
- package/docs/errors/outline-item-skipped.md +1 -1
- package/docs/errors/output-unwritable.md +1 -1
- package/docs/errors/overwrite-refused.md +1 -1
- package/docs/errors/page-count-mismatch.md +1 -1
- package/docs/errors/page-index-out-of-range.md +1 -1
- package/docs/errors/page-tree-node-skipped.md +1 -1
- package/docs/errors/password-required.md +1 -1
- package/docs/errors/path-outside-roots.md +1 -1
- package/docs/errors/perms-mismatch.md +1 -1
- package/docs/errors/profile-version-conflict.md +1 -1
- package/docs/errors/redaction-not-applied.md +32 -0
- package/docs/errors/reference-cycle.md +1 -1
- package/docs/errors/render-backend-unavailable.md +1 -1
- package/docs/errors/render-failed.md +1 -1
- package/docs/errors/render-too-large.md +1 -1
- package/docs/errors/repaired-base.md +1 -1
- package/docs/errors/requires-rewrite.md +1 -1
- package/docs/errors/revision-index-out-of-range.md +34 -0
- package/docs/errors/saved-not-rebased.md +1 -1
- package/docs/errors/sink-not-empty.md +1 -1
- package/docs/errors/sink.md +1 -1
- package/docs/errors/source-budget-exceeded.md +1 -1
- package/docs/errors/source-changed.md +1 -1
- package/docs/errors/source.md +1 -1
- package/docs/errors/stale-generation.md +1 -1
- package/docs/errors/stream-length-recovered.md +1 -1
- package/docs/errors/strict.md +1 -1
- package/docs/errors/subset-failed.md +1 -1
- package/docs/errors/syntax.md +1 -1
- package/docs/errors/tag-element-not-open.md +41 -0
- package/docs/errors/tag-element-unclosed.md +34 -0
- package/docs/errors/text-in-earlier-revision.md +36 -0
- package/docs/errors/text-module-not-loaded.md +1 -1
- package/docs/errors/text-overflow.md +1 -1
- package/docs/errors/tounicode-conflict.md +1 -1
- package/docs/errors/type.md +1 -1
- package/docs/errors/unexpected-eof.md +1 -1
- package/docs/errors/unknown-axis.md +1 -1
- package/docs/errors/unknown-code.md +1 -1
- package/docs/errors/unknown-destination.md +1 -1
- package/docs/errors/unknown-font.md +1 -1
- package/docs/errors/unknown-option.md +1 -1
- package/docs/errors/unknown-page.md +1 -1
- package/docs/errors/unmapped-glyph.md +1 -1
- package/docs/errors/unnumbered-heading-misused.md +1 -1
- package/docs/errors/unset-object.md +1 -1
- package/docs/errors/unsupported-filter.md +1 -1
- package/docs/errors/unsupported-image.md +1 -1
- package/docs/errors/unsupported-layout-option.md +1 -1
- package/docs/errors/unsupported-security-handler.md +1 -1
- package/docs/errors/unsupported-version.md +1 -1
- package/docs/errors/untagged-content.md +1 -1
- package/docs/errors/warnings-truncated.md +1 -1
- package/docs/errors/wasm-trap.md +1 -1
- package/docs/errors/whole-font-rebuilt.md +1 -1
- package/docs/errors/worker-crashed.md +1 -1
- package/docs/errors/worker-failed.md +1 -1
- package/docs/errors/worker-version-mismatch.md +1 -1
- package/docs/errors/would-invalidate-signatures.md +1 -1
- package/docs/errors/wrong-document.md +1 -1
- package/docs/errors/wrong-password.md +1 -1
- package/docs/errors/xobject-cycle.md +1 -1
- package/docs/errors/xref-repaired.md +1 -1
- package/docs/errors/xrefstm-ignored.md +1 -1
- package/docs/llms.txt +7 -1
- package/docs/pages/concepts/dependencies.md +2 -2
- package/docs/pages/concepts/drawing-pages.md +76 -0
- package/docs/pages/concepts/errors-and-warnings.md +6 -2
- package/docs/pages/concepts/how-lamina-thinks.md +13 -1
- package/docs/pages/concepts/pages-and-coordinates.md +9 -1
- package/docs/pages/guides/accessible-pdfs.md +3 -1
- package/docs/pages/guides/archival-pdfs.md +5 -1
- package/docs/pages/guides/edit-a-pdf.md +8 -2
- package/docs/pages/guides/flowing-pages.md +379 -0
- package/docs/pages/guides/fonts-and-text.md +3 -1
- package/docs/pages/guides/images-and-vectors.md +3 -1
- package/docs/pages/guides/keep-the-page-responsive.md +8 -4
- package/docs/pages/guides/links-outlines-and-metadata.md +3 -1
- package/docs/pages/guides/open-large-files.md +69 -0
- package/docs/pages/guides/password-protected-files.md +1 -1
- package/docs/pages/guides/save-a-pdf.md +12 -2
- package/docs/pages/guides/test-generated-pdfs.md +324 -0
- package/docs/pages/guides/untrusted-files.md +3 -1
- package/docs/pages/index.md +2 -2
- package/docs/pages/install.md +9 -5
- package/docs/pages/quick-start/browser.md +5 -1
- package/docs/pages/quick-start/bun.md +5 -1
- package/docs/pages/quick-start/deno.md +5 -1
- package/docs/pages/quick-start/node.md +5 -1
- package/docs/pages/quick-start/rust.md +6 -2
- package/docs/pages/quick-start/workers.md +2 -2
- package/docs/pages/recipes/cloudflare-worker.md +1 -1
- package/docs/pages/recipes/element-flow.md +248 -0
- package/docs/pages/recipes/extract-markdown.md +44 -6
- package/docs/pages/recipes/generate-then-edit.md +13 -6
- package/docs/pages/recipes/hello.md +13 -6
- package/docs/pages/recipes/images-and-vectors.md +13 -6
- package/docs/pages/recipes/invoice.md +13 -6
- package/docs/pages/recipes/links-and-outlines.md +13 -6
- package/docs/pages/recipes/multilingual.md +13 -6
- package/docs/pages/recipes/open-untrusted.md +1 -1
- package/docs/pages/recipes/pdf-a-archive.md +13 -6
- package/docs/pages/recipes/pdf-a3-invoice-with-xml.md +13 -6
- package/docs/pages/recipes/pdf-ua-report.md +13 -6
- package/docs/pages/recipes/report.md +2 -2
- package/docs/pages/recipes/web-worker-client.md +1 -1
- package/docs/pages/recipes.md +3 -2
- package/docs/pages/reference/benchmarks.md +93 -0
- package/docs/pages/reference/changelog.md +49 -1
- package/docs/pages/reference/codes.md +1 -1
- package/docs/pages/reference/glossary.md +1 -1
- package/docs/pages/reference/rust.md +11 -11
- package/docs/pages/reference/stability.md +3 -3
- package/docs/pages/start/coding-agents.md +1 -1
- package/docs/pages/start/first-pdf.md +6 -2
- package/docs/pages/troubleshooting.md +1 -1
- package/docs/schemas/error.schema.json +18 -1
- package/package.json +4 -2
- package/schemas/error.schema.json +18 -1
package/docs/api/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
version: "0.2.0-alpha.
|
|
2
|
+
version: "0.2.0-alpha.4"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
**@laminapdf/sdk**
|
|
@@ -12,6 +12,7 @@ version: "0.2.0-alpha.3"
|
|
|
12
12
|
|
|
13
13
|
- [Builder](classes/Builder.md)
|
|
14
14
|
- [Document](classes/Document.md)
|
|
15
|
+
- [ExtractJob](classes/ExtractJob.md)
|
|
15
16
|
- [Font](classes/Font.md)
|
|
16
17
|
- [Image](classes/Image.md)
|
|
17
18
|
- [LaminaPdfError](classes/LaminaPdfError.md)
|
|
@@ -33,10 +34,16 @@ version: "0.2.0-alpha.3"
|
|
|
33
34
|
- [ExtractOptions](interfaces/ExtractOptions.md)
|
|
34
35
|
- [ExtractResult](interfaces/ExtractResult.md)
|
|
35
36
|
- [FontInfo](interfaces/FontInfo.md)
|
|
37
|
+
- [HostModels](interfaces/HostModels.md)
|
|
36
38
|
- [HttpRangeOptions](interfaces/HttpRangeOptions.md)
|
|
37
39
|
- [InitOptions](interfaces/InitOptions.md)
|
|
40
|
+
- [LayoutRegion](interfaces/LayoutRegion.md)
|
|
38
41
|
- [Leak](interfaces/Leak.md)
|
|
39
42
|
- [Location](interfaces/Location.md)
|
|
43
|
+
- [ModelInfo](interfaces/ModelInfo.md)
|
|
44
|
+
- [ModelRequest](interfaces/ModelRequest.md)
|
|
45
|
+
- [Models](interfaces/Models.md)
|
|
46
|
+
- [OcrWord](interfaces/OcrWord.md)
|
|
40
47
|
- [OpenOptions](interfaces/OpenOptions.md)
|
|
41
48
|
- [OpLog](interfaces/OpLog.md)
|
|
42
49
|
- [PageTextOptions](interfaces/PageTextOptions.md)
|
|
@@ -76,6 +83,8 @@ version: "0.2.0-alpha.3"
|
|
|
76
83
|
- [ExtractedSource](type-aliases/ExtractedSource.md)
|
|
77
84
|
- [ExtractFormat](type-aliases/ExtractFormat.md)
|
|
78
85
|
- [Extraction](type-aliases/Extraction.md)
|
|
86
|
+
- [ExtractJobOptions](type-aliases/ExtractJobOptions.md)
|
|
87
|
+
- [ExtractStep](type-aliases/ExtractStep.md)
|
|
79
88
|
- [FillRule](type-aliases/FillRule.md)
|
|
80
89
|
- [Fit](type-aliases/Fit.md)
|
|
81
90
|
- [Flags](type-aliases/Flags.md)
|
|
@@ -90,8 +99,10 @@ version: "0.2.0-alpha.3"
|
|
|
90
99
|
- [LineJoin](type-aliases/LineJoin.md)
|
|
91
100
|
- [LinkTarget](type-aliases/LinkTarget.md)
|
|
92
101
|
- [Metadata](type-aliases/Metadata.md)
|
|
102
|
+
- [ModelResult](type-aliases/ModelResult.md)
|
|
93
103
|
- [Op](type-aliases/Op.md)
|
|
94
104
|
- [OutlineEntry](type-aliases/OutlineEntry.md)
|
|
105
|
+
- [OutlineNode](type-aliases/OutlineNode.md)
|
|
95
106
|
- [Overflow](type-aliases/Overflow.md)
|
|
96
107
|
- [PageInfo](type-aliases/PageInfo.md)
|
|
97
108
|
- [PageLabel](type-aliases/PageLabel.md)
|
|
@@ -102,6 +113,7 @@ version: "0.2.0-alpha.3"
|
|
|
102
113
|
- [ReadingOrder](type-aliases/ReadingOrder.md)
|
|
103
114
|
- [Rect](type-aliases/Rect.md)
|
|
104
115
|
- [Region](type-aliases/Region.md)
|
|
116
|
+
- [RegionLabel](type-aliases/RegionLabel.md)
|
|
105
117
|
- [RenderMode](type-aliases/RenderMode.md)
|
|
106
118
|
- [Rotation](type-aliases/Rotation.md)
|
|
107
119
|
- [SaveOptions](type-aliases/SaveOptions.md)
|
|
@@ -111,11 +123,17 @@ version: "0.2.0-alpha.3"
|
|
|
111
123
|
- [Standard14](type-aliases/Standard14.md)
|
|
112
124
|
- [StructRef](type-aliases/StructRef.md)
|
|
113
125
|
- [StructSource](type-aliases/StructSource.md)
|
|
126
|
+
- [StructureKid](type-aliases/StructureKid.md)
|
|
127
|
+
- [StructureNode](type-aliases/StructureNode.md)
|
|
114
128
|
- [TableDetector](type-aliases/TableDetector.md)
|
|
115
129
|
- [TableMode](type-aliases/TableMode.md)
|
|
116
130
|
- [TableScope](type-aliases/TableScope.md)
|
|
117
131
|
- [Tag](type-aliases/Tag.md)
|
|
118
132
|
- [TagName](type-aliases/TagName.md)
|
|
133
|
+
- [Target](type-aliases/Target.md)
|
|
134
|
+
- [TargetView](type-aliases/TargetView.md)
|
|
135
|
+
- [TextLayer](type-aliases/TextLayer.md)
|
|
136
|
+
- [TextLayerStatus](type-aliases/TextLayerStatus.md)
|
|
119
137
|
- [TextLayout](type-aliases/TextLayout.md)
|
|
120
138
|
- [TextRange](type-aliases/TextRange.md)
|
|
121
139
|
- [TextRunInfo](type-aliases/TextRunInfo.md)
|
|
@@ -134,6 +152,7 @@ version: "0.2.0-alpha.3"
|
|
|
134
152
|
## Functions
|
|
135
153
|
|
|
136
154
|
- [callbackSource](functions/callbackSource.md)
|
|
155
|
+
- [extractWithModels](functions/extractWithModels.md)
|
|
137
156
|
- [httpRangeSource](functions/httpRangeSource.md)
|
|
138
157
|
- [init](functions/init.md)
|
|
139
158
|
- [isExtractLoaded](functions/isExtractLoaded.md)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
version: "0.2.0-alpha.
|
|
2
|
+
version: "0.2.0-alpha.4"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
[**@laminapdf/sdk**](../README.md)
|
|
@@ -112,6 +112,25 @@ Whether `free()` ran on this handle or its parent.
|
|
|
112
112
|
|
|
113
113
|
***
|
|
114
114
|
|
|
115
|
+
### isTagged
|
|
116
|
+
|
|
117
|
+
#### Get Signature
|
|
118
|
+
|
|
119
|
+
> **get** **isTagged**(): `boolean`
|
|
120
|
+
|
|
121
|
+
Whether the document says it is tagged (`/MarkInfo /Marked true`); it doesn't check the tree.
|
|
122
|
+
Needs a document opened while the extract or text module was loaded, as `page.text()` does.
|
|
123
|
+
|
|
124
|
+
##### Throws
|
|
125
|
+
|
|
126
|
+
[LaminaPdfError](LaminaPdfError.md) `extract-module-not-loaded`; reading errors.
|
|
127
|
+
|
|
128
|
+
##### Returns
|
|
129
|
+
|
|
130
|
+
`boolean`
|
|
131
|
+
|
|
132
|
+
***
|
|
133
|
+
|
|
115
134
|
### owned
|
|
116
135
|
|
|
117
136
|
#### Get Signature
|
|
@@ -386,6 +405,37 @@ const chunks = doc.extract({ format: "chunks", chunk: { maxTokens: 400 } });
|
|
|
386
405
|
|
|
387
406
|
***
|
|
388
407
|
|
|
408
|
+
### extractJob()
|
|
409
|
+
|
|
410
|
+
> **extractJob**\<`F`\>(`options`): [`ExtractJob`](ExtractJob.md)\<`F`\>
|
|
411
|
+
|
|
412
|
+
An extraction stepped a page at a time, for models the host runs: each step that needs a
|
|
413
|
+
model's result stops with a `request` (the page and resolution to render), answered with
|
|
414
|
+
[ExtractJob.provide](ExtractJob.md#provide). [extractWithModels](../functions/extractWithModels.md) loops one for async models. Needs a
|
|
415
|
+
document opened while the extract or text module was loaded.
|
|
416
|
+
|
|
417
|
+
#### Type Parameters
|
|
418
|
+
|
|
419
|
+
##### F
|
|
420
|
+
|
|
421
|
+
`F` *extends* [`ExtractFormat`](../type-aliases/ExtractFormat.md)
|
|
422
|
+
|
|
423
|
+
#### Parameters
|
|
424
|
+
|
|
425
|
+
##### options
|
|
426
|
+
|
|
427
|
+
[`ExtractJobOptions`](../type-aliases/ExtractJobOptions.md)\<`F`\>
|
|
428
|
+
|
|
429
|
+
#### Returns
|
|
430
|
+
|
|
431
|
+
[`ExtractJob`](ExtractJob.md)\<`F`\>
|
|
432
|
+
|
|
433
|
+
#### Throws
|
|
434
|
+
|
|
435
|
+
[LaminaPdfError](LaminaPdfError.md) as [Document.extract](#extract).
|
|
436
|
+
|
|
437
|
+
***
|
|
438
|
+
|
|
389
439
|
### free()
|
|
390
440
|
|
|
391
441
|
> **free**(): `void`
|
|
@@ -404,6 +454,49 @@ calls this at the end of the block.
|
|
|
404
454
|
|
|
405
455
|
***
|
|
406
456
|
|
|
457
|
+
### namedDestination()
|
|
458
|
+
|
|
459
|
+
> **namedDestination**(`name`): `TargetJs` \| `undefined`
|
|
460
|
+
|
|
461
|
+
Where the named destination `name` goes (the names a link or a `#nameddest=` address uses),
|
|
462
|
+
or `undefined` when the document has none by that name. Needs a document opened while the
|
|
463
|
+
extract or text module was loaded.
|
|
464
|
+
|
|
465
|
+
#### Parameters
|
|
466
|
+
|
|
467
|
+
##### name
|
|
468
|
+
|
|
469
|
+
`string`
|
|
470
|
+
|
|
471
|
+
#### Returns
|
|
472
|
+
|
|
473
|
+
`TargetJs` \| `undefined`
|
|
474
|
+
|
|
475
|
+
#### Throws
|
|
476
|
+
|
|
477
|
+
[LaminaPdfError](LaminaPdfError.md) as [Document.outline](#outline).
|
|
478
|
+
|
|
479
|
+
***
|
|
480
|
+
|
|
481
|
+
### outline()
|
|
482
|
+
|
|
483
|
+
> **outline**(): `OutlineNodeJs`[]
|
|
484
|
+
|
|
485
|
+
The outline (bookmarks): its top-level items in order, each with its children, and where
|
|
486
|
+
each goes as a page and a view in page space; empty without one. Needs a document opened
|
|
487
|
+
while the extract or text module was loaded.
|
|
488
|
+
|
|
489
|
+
#### Returns
|
|
490
|
+
|
|
491
|
+
`OutlineNodeJs`[]
|
|
492
|
+
|
|
493
|
+
#### Throws
|
|
494
|
+
|
|
495
|
+
[LaminaPdfError](LaminaPdfError.md) `extract-module-not-loaded` for a document opened in the base
|
|
496
|
+
module; reading errors (`data-pending` for a range document: use `ensure`).
|
|
497
|
+
|
|
498
|
+
***
|
|
499
|
+
|
|
407
500
|
### page()
|
|
408
501
|
|
|
409
502
|
> **page**(`index`): [`PageRef`](PageRef.md)
|
|
@@ -604,6 +697,25 @@ As [Document.save](#save), with the save's report (mode used, bytes written, ren
|
|
|
604
697
|
|
|
605
698
|
***
|
|
606
699
|
|
|
700
|
+
### structureTree()
|
|
701
|
+
|
|
702
|
+
> **structureTree**(): `StructureNodeJs`[] \| `undefined`
|
|
703
|
+
|
|
704
|
+
The structure tree's top-level elements in reading order, or `undefined` for a document
|
|
705
|
+
without one. A text run's `mcid` (on [PageTextRun](PageTextRun.md)) links it to the element whose
|
|
706
|
+
`{ type: "content", page, mcid }` kid names it. Needs the extract or text module, as
|
|
707
|
+
`page.text()` does.
|
|
708
|
+
|
|
709
|
+
#### Returns
|
|
710
|
+
|
|
711
|
+
`StructureNodeJs`[] \| `undefined`
|
|
712
|
+
|
|
713
|
+
#### Throws
|
|
714
|
+
|
|
715
|
+
[LaminaPdfError](LaminaPdfError.md) `extract-module-not-loaded`; reading errors.
|
|
716
|
+
|
|
717
|
+
***
|
|
718
|
+
|
|
607
719
|
### transact()
|
|
608
720
|
|
|
609
721
|
> **transact**\<`T`\>(`edit`): `T`
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: "0.2.0-alpha.4"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
[**@laminapdf/sdk**](../README.md)
|
|
6
|
+
|
|
7
|
+
***
|
|
8
|
+
|
|
9
|
+
[@laminapdf/sdk](../README.md) / ExtractJob
|
|
10
|
+
|
|
11
|
+
# Class: ExtractJob\<F\>
|
|
12
|
+
|
|
13
|
+
An extraction in progress, from [Document.extractJob](Document.md#extractjob). It holds WebAssembly memory and is
|
|
14
|
+
freed with its document, or earlier with `free()` or `using`.
|
|
15
|
+
|
|
16
|
+
## Extends
|
|
17
|
+
|
|
18
|
+
- `Handle`\<`BaseGlue`\>
|
|
19
|
+
|
|
20
|
+
## Type Parameters
|
|
21
|
+
|
|
22
|
+
### F
|
|
23
|
+
|
|
24
|
+
`F` *extends* [`ExtractFormat`](../type-aliases/ExtractFormat.md) = [`ExtractFormat`](../type-aliases/ExtractFormat.md)
|
|
25
|
+
|
|
26
|
+
## Accessors
|
|
27
|
+
|
|
28
|
+
### instance
|
|
29
|
+
|
|
30
|
+
#### Get Signature
|
|
31
|
+
|
|
32
|
+
> **get** `protected` **instance**(): `Instance`\<`G`\>
|
|
33
|
+
|
|
34
|
+
The instance this handle lives in (for the handles it makes).
|
|
35
|
+
|
|
36
|
+
##### Returns
|
|
37
|
+
|
|
38
|
+
`Instance`\<`G`\>
|
|
39
|
+
|
|
40
|
+
#### Inherited from
|
|
41
|
+
|
|
42
|
+
`Handle.instance`
|
|
43
|
+
|
|
44
|
+
***
|
|
45
|
+
|
|
46
|
+
### isFreed
|
|
47
|
+
|
|
48
|
+
#### Get Signature
|
|
49
|
+
|
|
50
|
+
> **get** `protected` **isFreed**(): `boolean`
|
|
51
|
+
|
|
52
|
+
Whether `free()` ran on this handle or its parent.
|
|
53
|
+
|
|
54
|
+
##### Returns
|
|
55
|
+
|
|
56
|
+
`boolean`
|
|
57
|
+
|
|
58
|
+
#### Inherited from
|
|
59
|
+
|
|
60
|
+
`Handle.isFreed`
|
|
61
|
+
|
|
62
|
+
***
|
|
63
|
+
|
|
64
|
+
### owned
|
|
65
|
+
|
|
66
|
+
#### Get Signature
|
|
67
|
+
|
|
68
|
+
> **get** `protected` **owned**(): `boolean`
|
|
69
|
+
|
|
70
|
+
Whether the handle's raw objects can be freed: its instance is current and hasn't trapped.
|
|
71
|
+
|
|
72
|
+
##### Returns
|
|
73
|
+
|
|
74
|
+
`boolean`
|
|
75
|
+
|
|
76
|
+
#### Inherited from
|
|
77
|
+
|
|
78
|
+
`Handle.owned`
|
|
79
|
+
|
|
80
|
+
## Methods
|
|
81
|
+
|
|
82
|
+
### \[dispose\]()
|
|
83
|
+
|
|
84
|
+
> **\[dispose\]**(): `void`
|
|
85
|
+
|
|
86
|
+
Frees the handle at the end of a `using` block (an alias of `free()`).
|
|
87
|
+
|
|
88
|
+
#### Returns
|
|
89
|
+
|
|
90
|
+
`void`
|
|
91
|
+
|
|
92
|
+
#### Inherited from
|
|
93
|
+
|
|
94
|
+
`Handle.[dispose]`
|
|
95
|
+
|
|
96
|
+
***
|
|
97
|
+
|
|
98
|
+
### assertLive()
|
|
99
|
+
|
|
100
|
+
> `protected` **assertLive**(): `void`
|
|
101
|
+
|
|
102
|
+
#### Returns
|
|
103
|
+
|
|
104
|
+
`void`
|
|
105
|
+
|
|
106
|
+
#### Throws
|
|
107
|
+
|
|
108
|
+
[LaminaPdfError](LaminaPdfError.md) `disposed` after `free()` (here or on the parent);
|
|
109
|
+
`instance-reset` when the instance was replaced (a trapped one is replaced first).
|
|
110
|
+
|
|
111
|
+
#### Inherited from
|
|
112
|
+
|
|
113
|
+
`Handle.assertLive`
|
|
114
|
+
|
|
115
|
+
***
|
|
116
|
+
|
|
117
|
+
### call()
|
|
118
|
+
|
|
119
|
+
> `protected` **call**\<`T`\>(`f`): `T`
|
|
120
|
+
|
|
121
|
+
Runs `f` (calls into the glue) on this live handle; see Instance.call.
|
|
122
|
+
|
|
123
|
+
#### Type Parameters
|
|
124
|
+
|
|
125
|
+
##### T
|
|
126
|
+
|
|
127
|
+
`T`
|
|
128
|
+
|
|
129
|
+
#### Parameters
|
|
130
|
+
|
|
131
|
+
##### f
|
|
132
|
+
|
|
133
|
+
(`glue`) => `T`
|
|
134
|
+
|
|
135
|
+
#### Returns
|
|
136
|
+
|
|
137
|
+
`T`
|
|
138
|
+
|
|
139
|
+
#### Inherited from
|
|
140
|
+
|
|
141
|
+
`Handle.call`
|
|
142
|
+
|
|
143
|
+
***
|
|
144
|
+
|
|
145
|
+
### cancel()
|
|
146
|
+
|
|
147
|
+
> **cancel**(): `void`
|
|
148
|
+
|
|
149
|
+
Stops the job: its next step fails with `cancelled`.
|
|
150
|
+
|
|
151
|
+
#### Returns
|
|
152
|
+
|
|
153
|
+
`void`
|
|
154
|
+
|
|
155
|
+
***
|
|
156
|
+
|
|
157
|
+
### free()
|
|
158
|
+
|
|
159
|
+
> **free**(): `void`
|
|
160
|
+
|
|
161
|
+
Frees the handle's memory now; without it, the garbage collector frees it later. A second
|
|
162
|
+
call does nothing, and any other call afterwards throws `disposed`. Prefer `using`, which
|
|
163
|
+
calls this at the end of the block.
|
|
164
|
+
|
|
165
|
+
#### Returns
|
|
166
|
+
|
|
167
|
+
`void`
|
|
168
|
+
|
|
169
|
+
#### Inherited from
|
|
170
|
+
|
|
171
|
+
`Handle.free`
|
|
172
|
+
|
|
173
|
+
***
|
|
174
|
+
|
|
175
|
+
### provide()
|
|
176
|
+
|
|
177
|
+
> **provide**(`result`): `void`
|
|
178
|
+
|
|
179
|
+
Hands the job the result of its open request.
|
|
180
|
+
|
|
181
|
+
#### Parameters
|
|
182
|
+
|
|
183
|
+
##### result
|
|
184
|
+
|
|
185
|
+
[`ModelResult`](../type-aliases/ModelResult.md)
|
|
186
|
+
|
|
187
|
+
#### Returns
|
|
188
|
+
|
|
189
|
+
`void`
|
|
190
|
+
|
|
191
|
+
#### Throws
|
|
192
|
+
|
|
193
|
+
[LaminaPdfError](LaminaPdfError.md) `model-result-unexpected` when nothing was asked for or `result`
|
|
194
|
+
is the other model's; `invalid-argument` / `unknown-option` for a malformed result.
|
|
195
|
+
|
|
196
|
+
***
|
|
197
|
+
|
|
198
|
+
### release()
|
|
199
|
+
|
|
200
|
+
> `protected` **release**(): `void`
|
|
201
|
+
|
|
202
|
+
Frees the WebAssembly side; called at most once, and only while [owned](#owned).
|
|
203
|
+
|
|
204
|
+
#### Returns
|
|
205
|
+
|
|
206
|
+
`void`
|
|
207
|
+
|
|
208
|
+
#### Overrides
|
|
209
|
+
|
|
210
|
+
`Handle.release`
|
|
211
|
+
|
|
212
|
+
***
|
|
213
|
+
|
|
214
|
+
### step()
|
|
215
|
+
|
|
216
|
+
> **step**(`budget?`): [`ExtractStep`](../type-aliases/ExtractStep.md)\<`F`\>
|
|
217
|
+
|
|
218
|
+
Extracts up to `budget` pages. While a model's result is awaited, the step returns
|
|
219
|
+
`{ state: "progress", phase: "model", request }` and does nothing more until
|
|
220
|
+
[provide](#provide) answers it.
|
|
221
|
+
|
|
222
|
+
#### Parameters
|
|
223
|
+
|
|
224
|
+
##### budget?
|
|
225
|
+
|
|
226
|
+
`number` = `1`
|
|
227
|
+
|
|
228
|
+
#### Returns
|
|
229
|
+
|
|
230
|
+
[`ExtractStep`](../type-aliases/ExtractStep.md)\<`F`\>
|
|
231
|
+
|
|
232
|
+
progress, or `{ state: "done", output }` with the output in the job's format.
|
|
233
|
+
|
|
234
|
+
#### Throws
|
|
235
|
+
|
|
236
|
+
[LaminaPdfError](LaminaPdfError.md) `cancelled`, `document-changed`, `job-finished`, the reading errors.
|
package/docs/api/classes/Font.md
CHANGED
package/docs/api/classes/Page.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
version: "0.2.0-alpha.
|
|
2
|
+
version: "0.2.0-alpha.4"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
[**@laminapdf/sdk**](../README.md)
|
|
@@ -20,13 +20,15 @@ geometry is reported by [Page.finish](Page.md#finish) (`invalid-geometry`).
|
|
|
20
20
|
> **artifact**(`kind`, `draw`): `this`
|
|
21
21
|
|
|
22
22
|
Draws what `draw` draws as an artifact: decoration, running heads and footers, backgrounds;
|
|
23
|
-
content outside the structure tree.
|
|
23
|
+
content outside the structure tree. `"header"`, `"footer"` and `"watermark"` are pagination
|
|
24
|
+
artifacts that also say which (`/Subtype`), a header attached to the page's top edge and a
|
|
25
|
+
footer to its bottom (`/Attached`).
|
|
24
26
|
|
|
25
27
|
#### Parameters
|
|
26
28
|
|
|
27
29
|
##### kind
|
|
28
30
|
|
|
29
|
-
`"layout"` \| `"page"` \| `"pagination"` \| `"background"`
|
|
31
|
+
`"layout"` \| `"page"` \| `"pagination"` \| `"background"` \| `"header"` \| `"footer"` \| `"watermark"`
|
|
30
32
|
|
|
31
33
|
##### draw
|
|
32
34
|
|
|
@@ -273,7 +275,8 @@ Draws `text`: shaped, bidi-resolved, one line per line break (needs the text mod
|
|
|
273
275
|
|
|
274
276
|
`TextRunJs`
|
|
275
277
|
|
|
276
|
-
what the run measures
|
|
278
|
+
what the run measures, with `bottom`: where the next element can start (the next text box's top), the
|
|
279
|
+
descent below the last line that draws something, before the surface's transform; left out when nothing is.
|
|
277
280
|
|
|
278
281
|
#### Throws
|
|
279
282
|
|
|
@@ -301,7 +304,9 @@ Lays `text` out in `options.box`, breaking lines at Unicode line-break opportuni
|
|
|
301
304
|
|
|
302
305
|
`TextLayoutJs`
|
|
303
306
|
|
|
304
|
-
the lines drawn
|
|
307
|
+
the lines drawn, where the overflow starts (UTF-16 offsets; test it with `!== undefined`, as `0` means no
|
|
308
|
+
line fitted) and `bottom`: the last line that draws something, before the surface's transform; left out when none
|
|
309
|
+
does.
|
|
305
310
|
|
|
306
311
|
#### Throws
|
|
307
312
|
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: "0.2.0-alpha.4"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
[**@laminapdf/sdk**](../README.md)
|
|
6
|
+
|
|
7
|
+
***
|
|
8
|
+
|
|
9
|
+
[@laminapdf/sdk](../README.md) / extractWithModels
|
|
10
|
+
|
|
11
|
+
# Function: extractWithModels()
|
|
12
|
+
|
|
13
|
+
> **extractWithModels**\<`F`\>(`doc`, `options`, `models`, `__namedParameters?`): `Promise`\<[`ExtractResult`](../interfaces/ExtractResult.md)\[`F`\]\>
|
|
14
|
+
|
|
15
|
+
Runs an extraction whose models the host runs asynchronously: steps a job, and for each
|
|
16
|
+
request awaits the matching function of `models`, then hands its result back.
|
|
17
|
+
|
|
18
|
+
## Type Parameters
|
|
19
|
+
|
|
20
|
+
### F
|
|
21
|
+
|
|
22
|
+
`F` *extends* [`ExtractFormat`](../type-aliases/ExtractFormat.md)
|
|
23
|
+
|
|
24
|
+
## Parameters
|
|
25
|
+
|
|
26
|
+
### doc
|
|
27
|
+
|
|
28
|
+
[`Document`](../classes/Document.md)
|
|
29
|
+
|
|
30
|
+
### options
|
|
31
|
+
|
|
32
|
+
[`ExtractJobOptions`](../type-aliases/ExtractJobOptions.md)\<`F`\>
|
|
33
|
+
|
|
34
|
+
### models
|
|
35
|
+
|
|
36
|
+
[`HostModels`](../interfaces/HostModels.md)
|
|
37
|
+
|
|
38
|
+
### \_\_namedParameters?
|
|
39
|
+
|
|
40
|
+
#### budget?
|
|
41
|
+
|
|
42
|
+
`number` = `16`
|
|
43
|
+
|
|
44
|
+
#### signal?
|
|
45
|
+
|
|
46
|
+
`AbortSignal`
|
|
47
|
+
|
|
48
|
+
## Returns
|
|
49
|
+
|
|
50
|
+
`Promise`\<[`ExtractResult`](../interfaces/ExtractResult.md)\[`F`\]\>
|
|
51
|
+
|
|
52
|
+
## Example
|
|
53
|
+
|
|
54
|
+
```ts
|
|
55
|
+
const json = await extractWithModels(
|
|
56
|
+
doc,
|
|
57
|
+
{ format: "json", models: { layout: { name: "my-layout", version: "1", sha256, licence: "Apache-2.0" } } },
|
|
58
|
+
{ layout: async ({ page, dpi }) => myModel.detect(await render(page, dpi)) },
|
|
59
|
+
);
|
|
60
|
+
```
|
|
61
|
+
On a document opened with `Document.openRange`, a step that needs bytes not yet fetched ends
|
|
62
|
+
the job with `data-pending`, as every error ends a job; fetch the file first (`await
|
|
63
|
+
doc.ensure(() => doc.pages)` reads only the page tree, so read the whole file for a long
|
|
64
|
+
extraction), or wrap the call in `doc.ensure`, which runs it again, models included.
|
|
65
|
+
|
|
66
|
+
## Throws
|
|
67
|
+
|
|
68
|
+
[LaminaPdfError](../classes/LaminaPdfError.md) as [ExtractJob.step](../classes/ExtractJob.md#step); `invalid-argument` when
|
|
69
|
+
`options.models` names a model `models` has no function for; `cancelled` once `signal`
|
|
70
|
+
aborts, also when the model rejects because of it (the model's error is the `cause`).
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
version: "0.2.0-alpha.
|
|
2
|
+
version: "0.2.0-alpha.4"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
[**@laminapdf/sdk**](../README.md)
|
|
@@ -19,7 +19,7 @@ its `Last-Modified`); a response whose `ETag`, `Last-Modified` or total size dif
|
|
|
19
19
|
with `source-changed`. A server that ignores
|
|
20
20
|
`Range` (it answers `200`) is read with that one full download.
|
|
21
21
|
|
|
22
|
-
The server must allow `Range` (across origins: `Access-Control-Allow-Headers: Range` and
|
|
22
|
+
The server must allow `Range` (across origins: `Access-Control-Allow-Headers: Range, If-Range` and
|
|
23
23
|
`Access-Control-Expose-Headers: Content-Range, Content-Length, ETag`) and must not compress
|
|
24
24
|
the response.
|
|
25
25
|
|