embedpdf/embed-pdf-viewer
 Watch   
 Star   
 Fork   
7 days ago
embed-pdf-viewer

Release v2.14.0

@embedpdf/engines@2.14.0

Minor Changes

  • #581 by @bobsingor – Support callout free text in the PDFium executor: read/write /CL, /LE, /IT, stroke width and colors, /TextColor, and remap rectangle differences (/RD) between native PDFium order and the model shape.

@embedpdf/models@2.14.0

Minor Changes

  • #581 by @bobsingor – Extend free text annotation typing for callouts: add PdfAnnotationColorType.TextColor and optional calloutLine, lineEnding, strokeWidth, and strokeColor on PdfFreeTextAnnoObject.

@embedpdf/pdfium@2.14.0

Minor Changes

  • #581 by @bobsingor – Expose EmbedPDF callout line helpers in the WASM bindings (EPDFAnnot_GetCalloutLineCount, EPDFAnnot_GetCalloutLine, EPDFAnnot_SetCalloutLine) and refresh bundled pdfium.js / pdfium.cjs / pdfium.wasm.

@embedpdf/plugin-annotation@2.14.0

Minor Changes

  • #581 by @bobsingor – Add callout free text (FreeTextCallout): creation handler and preview data, vertex config and patch pipeline, default freeTextCallout tool, and built-in renderers for React, Vue, and Svelte (including preview components and shared calloutVertexConfig).

@embedpdf/snippet@2.14.0

Minor Changes

  • #581 by @bobsingor – Wire callout into the snippet viewer: callout icon, annotation:add-callout command, annotation toolbar and overflow menu entries, translations, and sidebar property schema for freeTextCallout (including opaque stroke color control).

@embedpdf/core@2.14.0

@embedpdf/plugin-attachment@2.14.0

@embedpdf/plugin-bookmark@2.14.0

@embedpdf/plugin-capture@2.14.0

@embedpdf/plugin-commands@2.14.0

@embedpdf/plugin-document-manager@2.14.0

@embedpdf/plugin-export@2.14.0

@embedpdf/plugin-form@2.14.0

@embedpdf/plugin-fullscreen@2.14.0

@embedpdf/plugin-history@2.14.0

@embedpdf/plugin-i18n@2.14.0

@embedpdf/plugin-interaction-manager@2.14.0

@embedpdf/plugin-pan@2.14.0

@embedpdf/plugin-print@2.14.0

@embedpdf/plugin-redaction@2.14.0

@embedpdf/plugin-render@2.14.0

@embedpdf/plugin-rotate@2.14.0

@embedpdf/plugin-scroll@2.14.0

@embedpdf/plugin-search@2.14.0

@embedpdf/plugin-selection@2.14.0

@embedpdf/plugin-signature@2.14.0

@embedpdf/plugin-spread@2.14.0

@embedpdf/plugin-stamp@2.14.0

@embedpdf/plugin-thumbnail@2.14.0

@embedpdf/plugin-tiling@2.14.0

@embedpdf/plugin-ui@2.14.0

@embedpdf/plugin-view-manager@2.14.0

@embedpdf/plugin-viewport@2.14.0

@embedpdf/plugin-zoom@2.14.0

@embedpdf/utils@2.14.0

@embedpdf/react-pdf-viewer@2.14.0

@embedpdf/svelte-pdf-viewer@2.14.0

@embedpdf/vue-pdf-viewer@2.14.0

9 days ago
embed-pdf-viewer

Release v2.13.0

@embedpdf/plugin-signature@2.13.0

Minor Changes

  • #579 by @bobsingor – Add the Signature plugin: reusable signature and initials entries, draw/type/upload pads, placement as ink or stamp annotations, and framework bindings for React, Vue, Preact, and Svelte.

@embedpdf/plugin-annotation@2.13.0

Patch Changes

  • #579 by @bobsingor – Re-export patching utilities from ./patching so dependent plugins (for example signature placement) can reuse the shared patch helpers.

@embedpdf/snippet@2.13.0

Patch Changes

  • #579 by @bobsingor – Register the Signature plugin in the snippet viewer, add a create-signature modal and wire the signature sidebar to real entries, placement, and translations.

@embedpdf/core@2.13.0

@embedpdf/engines@2.13.0

@embedpdf/models@2.13.0

@embedpdf/pdfium@2.13.0

@embedpdf/plugin-attachment@2.13.0

@embedpdf/plugin-bookmark@2.13.0

@embedpdf/plugin-capture@2.13.0

@embedpdf/plugin-commands@2.13.0

@embedpdf/plugin-document-manager@2.13.0

@embedpdf/plugin-export@2.13.0

@embedpdf/plugin-form@2.13.0

@embedpdf/plugin-fullscreen@2.13.0

@embedpdf/plugin-history@2.13.0

@embedpdf/plugin-i18n@2.13.0

@embedpdf/plugin-interaction-manager@2.13.0

@embedpdf/plugin-pan@2.13.0

@embedpdf/plugin-print@2.13.0

@embedpdf/plugin-redaction@2.13.0

@embedpdf/plugin-render@2.13.0

@embedpdf/plugin-rotate@2.13.0

@embedpdf/plugin-scroll@2.13.0

@embedpdf/plugin-search@2.13.0

@embedpdf/plugin-selection@2.13.0

@embedpdf/plugin-spread@2.13.0

@embedpdf/plugin-stamp@2.13.0

@embedpdf/plugin-thumbnail@2.13.0

@embedpdf/plugin-tiling@2.13.0

@embedpdf/plugin-ui@2.13.0

@embedpdf/plugin-view-manager@2.13.0

@embedpdf/plugin-viewport@2.13.0

@embedpdf/plugin-zoom@2.13.0

@embedpdf/utils@2.13.0

@embedpdf/react-pdf-viewer@2.13.0

@embedpdf/svelte-pdf-viewer@2.13.0

@embedpdf/vue-pdf-viewer@2.13.0

11 days ago
embed-pdf-viewer

Release v2.12.1

@embedpdf/plugin-annotation@2.12.1

Patch Changes

  • #571 by @bobsingor – Add getAnnotations(options?) method to retrieve all tracked annotations, optionally filtered by page index. Available on both AnnotationCapability and AnnotationScope.

@embedpdf/snippet@2.12.1

Patch Changes

  • #571 by @bobsingor – Export missing annotation types from the snippet package: AnnotationTransferItem, ExportAnnotationsOptions, GetAnnotationsOptions, TrackedAnnotation, AnnotationTool, PdfAnnotationSubtype, and PdfStampAnnoObject.

@embedpdf/core@2.12.1

@embedpdf/engines@2.12.1

@embedpdf/models@2.12.1

@embedpdf/pdfium@2.12.1

@embedpdf/plugin-attachment@2.12.1

@embedpdf/plugin-bookmark@2.12.1

@embedpdf/plugin-capture@2.12.1

@embedpdf/plugin-commands@2.12.1

@embedpdf/plugin-document-manager@2.12.1

@embedpdf/plugin-export@2.12.1

@embedpdf/plugin-form@2.12.1

@embedpdf/plugin-fullscreen@2.12.1

@embedpdf/plugin-history@2.12.1

@embedpdf/plugin-i18n@2.12.1

@embedpdf/plugin-interaction-manager@2.12.1

@embedpdf/plugin-pan@2.12.1

@embedpdf/plugin-print@2.12.1

@embedpdf/plugin-redaction@2.12.1

@embedpdf/plugin-render@2.12.1

@embedpdf/plugin-rotate@2.12.1

@embedpdf/plugin-scroll@2.12.1

@embedpdf/plugin-search@2.12.1

@embedpdf/plugin-selection@2.12.1

@embedpdf/plugin-spread@2.12.1

@embedpdf/plugin-stamp@2.12.1

@embedpdf/plugin-thumbnail@2.12.1

@embedpdf/plugin-tiling@2.12.1

@embedpdf/plugin-ui@2.12.1

@embedpdf/plugin-view-manager@2.12.1

@embedpdf/plugin-viewport@2.12.1

@embedpdf/plugin-zoom@2.12.1

@embedpdf/utils@2.12.1

@embedpdf/react-pdf-viewer@2.12.1

@embedpdf/svelte-pdf-viewer@2.12.1

@embedpdf/vue-pdf-viewer@2.12.1

11 days ago
embed-pdf-viewer

Release v2.12.0

@embedpdf/plugin-annotation@2.12.0

Minor Changes

  • #569 by @bobsingor – Add symmetric annotation import/export API using a unified AnnotationTransferItem type. exportAnnotations() produces the same format that importAnnotations() consumes — zero remapping needed for round-tripping. Stamp appearances are automatically exported as PDF buffers in ctx.data. On import, stamps can be created from PNG, JPEG, or PDF buffers via ctx: { data: ArrayBuffer } — the engine auto-detects the format from magic bytes. Also adds deleteAllAnnotations() convenience method.

@embedpdf/core@2.12.0

@embedpdf/engines@2.12.0

@embedpdf/models@2.12.0

@embedpdf/pdfium@2.12.0

@embedpdf/plugin-attachment@2.12.0

@embedpdf/plugin-bookmark@2.12.0

@embedpdf/plugin-capture@2.12.0

@embedpdf/plugin-commands@2.12.0

@embedpdf/plugin-document-manager@2.12.0

@embedpdf/plugin-export@2.12.0

@embedpdf/plugin-form@2.12.0

@embedpdf/plugin-fullscreen@2.12.0

@embedpdf/plugin-history@2.12.0

@embedpdf/plugin-i18n@2.12.0

@embedpdf/plugin-interaction-manager@2.12.0

@embedpdf/plugin-pan@2.12.0

@embedpdf/plugin-print@2.12.0

@embedpdf/plugin-redaction@2.12.0

@embedpdf/plugin-render@2.12.0

@embedpdf/plugin-rotate@2.12.0

@embedpdf/plugin-scroll@2.12.0

@embedpdf/plugin-search@2.12.0

@embedpdf/plugin-selection@2.12.0

@embedpdf/plugin-spread@2.12.0

@embedpdf/plugin-stamp@2.12.0

@embedpdf/plugin-thumbnail@2.12.0

@embedpdf/plugin-tiling@2.12.0

@embedpdf/plugin-ui@2.12.0

@embedpdf/plugin-view-manager@2.12.0

@embedpdf/plugin-viewport@2.12.0

@embedpdf/plugin-zoom@2.12.0

@embedpdf/utils@2.12.0

@embedpdf/react-pdf-viewer@2.12.0

@embedpdf/snippet@2.12.0

@embedpdf/svelte-pdf-viewer@2.12.0

@embedpdf/vue-pdf-viewer@2.12.0

12 days ago
embed-pdf-viewer

Release v2.11.1

@embedpdf/engines@2.11.1

Patch Changes

  • #557 by @jonashaag – Add BMP encoding support as an optional image format

    BMP encoding bypasses canvas.toBlob() entirely by prepending a 66-byte header to the raw RGBA pixel data. This eliminates the dominant rendering bottleneck — in benchmarks, encoding dropped from ~76ms average (PNG via canvas.toBlob) to <1ms, reducing total tile render time by ~60%.

    The BMP uses BI_BITFIELDS with channel masks matching PDFium's RGBA output byte order, so no per-pixel conversion is needed. Top-down row order avoids row flipping. The result is a valid BMP that all modern browsers decode natively in <img> elements.

    Users who want to opt into the faster BMP path can set defaultImageType: 'image/bmp' in the render plugin config, while PNG remains the default output format.

  • #566 by @bobsingor – Fix custom stamp annotations with imageSize so predefined image stamps render correctly while preserving the original embedded bitmap quality.

@embedpdf/models@2.11.1

Patch Changes

  • #557 by @jonashaag – Add BMP encoding support as an optional image format

    BMP encoding bypasses canvas.toBlob() entirely by prepending a 66-byte header to the raw RGBA pixel data. This eliminates the dominant rendering bottleneck — in benchmarks, encoding dropped from ~76ms average (PNG via canvas.toBlob) to <1ms, reducing total tile render time by ~60%.

    The BMP uses BI_BITFIELDS with channel masks matching PDFium's RGBA output byte order, so no per-pixel conversion is needed. Top-down row order avoids row flipping. The result is a valid BMP that all modern browsers decode natively in <img> elements.

    Users who want to opt into the faster BMP path can set defaultImageType: 'image/bmp' in the render plugin config, while PNG remains the default output format.

@embedpdf/plugin-annotation@2.11.1

Patch Changes

  • #566 by @bobsingor – Fix Vue and Svelte renderer registration typing so custom preview container styles build correctly.

@embedpdf/plugin-render@2.11.1

Patch Changes

  • #557 by @jonashaag – Add BMP encoding support as an optional image format

    BMP encoding bypasses canvas.toBlob() entirely by prepending a 66-byte header to the raw RGBA pixel data. This eliminates the dominant rendering bottleneck — in benchmarks, encoding dropped from ~76ms average (PNG via canvas.toBlob) to <1ms, reducing total tile render time by ~60%.

    The BMP uses BI_BITFIELDS with channel masks matching PDFium's RGBA output byte order, so no per-pixel conversion is needed. Top-down row order avoids row flipping. The result is a valid BMP that all modern browsers decode natively in <img> elements.

    Users who want to opt into the faster BMP path can set defaultImageType: 'image/bmp' in the render plugin config, while PNG remains the default output format.

@embedpdf/snippet@2.11.1

Patch Changes

  • #566 by @bobsingor – Disable the snippet rubber stamp insert command when the active document does not allow annotation modifications.

@embedpdf/core@2.11.1

@embedpdf/pdfium@2.11.1

@embedpdf/plugin-attachment@2.11.1

@embedpdf/plugin-bookmark@2.11.1

@embedpdf/plugin-capture@2.11.1

@embedpdf/plugin-commands@2.11.1

@embedpdf/plugin-document-manager@2.11.1

@embedpdf/plugin-export@2.11.1

@embedpdf/plugin-form@2.11.1

@embedpdf/plugin-fullscreen@2.11.1

@embedpdf/plugin-history@2.11.1

@embedpdf/plugin-i18n@2.11.1

@embedpdf/plugin-interaction-manager@2.11.1

@embedpdf/plugin-pan@2.11.1

@embedpdf/plugin-print@2.11.1

@embedpdf/plugin-redaction@2.11.1

@embedpdf/plugin-rotate@2.11.1

@embedpdf/plugin-scroll@2.11.1

@embedpdf/plugin-search@2.11.1

@embedpdf/plugin-selection@2.11.1

@embedpdf/plugin-spread@2.11.1

@embedpdf/plugin-stamp@2.11.1

@embedpdf/plugin-thumbnail@2.11.1

@embedpdf/plugin-tiling@2.11.1

@embedpdf/plugin-ui@2.11.1

@embedpdf/plugin-view-manager@2.11.1

@embedpdf/plugin-viewport@2.11.1

@embedpdf/plugin-zoom@2.11.1

@embedpdf/utils@2.11.1

@embedpdf/react-pdf-viewer@2.11.1

@embedpdf/svelte-pdf-viewer@2.11.1

@embedpdf/vue-pdf-viewer@2.11.1

13 days ago
embed-pdf-viewer

Release v2.11.0

@embedpdf/engines@2.11.0

Minor Changes

  • #562 by @bobsingor – Implement new PDF manipulation and annotation appearance export methods: createDocument, importPages, deletePage, exportAnnotationAppearanceAsPdf, and exportAnnotationsAppearanceAsPdf.

@embedpdf/models@2.11.0

Minor Changes

  • #562 by @bobsingor – Add PdfAnnotationName enum (deprecating PdfAnnotationIcon). Extend PdfEngine and IPdfiumExecutor interfaces with new document manipulation capabilities (createDocument, importPages, deletePage) and annotation appearance export methods.

@embedpdf/pdfium@2.11.0

Minor Changes

  • #562 by @bobsingor – Expose new PDFium functions for annotation appearance generation and export (EPDFAnnot_ExportAppearanceAsDocument, EPDFAnnot_ExportMultipleAppearancesAsDocument, EPDFAnnot_SetAppearanceFromPage, EPDFAnnot_GetName, EPDFAnnot_SetName).

@embedpdf/plugin-annotation@2.11.0

Minor Changes

  • #562 by @bobsingor – Add ToolContextMap to support typed context injection for active tools. Introduce preview renderers and bounding-box components for annotations (CirclePreview, SquarePreview, InkPreview, etc.) to support drag-to-create or stamp hover previews.

@embedpdf/plugin-stamp@2.11.0

Minor Changes

  • #562 by @bobsingor – Introduce @embedpdf/plugin-stamp for managing reusable rubber-stamp libraries. Includes features for loading built-in/manifest stamps, creating custom stamps from annotations, and exporting custom stamp libraries.

@embedpdf/plugin-ui@2.11.0

Minor Changes

  • #562 by @bobsingor – Enhance sidebar API by allowing custom props to be passed via setActiveSidebar and toggleSidebar, enabling dynamic state injection into sidebar components.

@embedpdf/snippet@2.11.0

Minor Changes

  • #562 by @bobsingor – Integrate @embedpdf/plugin-stamp with the default viewer. Add the Rubber Stamp sidebar, Signature sidebar, and Insert tools to the default UI schema. Include standard stamp/insert translations.

@embedpdf/core@2.11.0

@embedpdf/plugin-attachment@2.11.0

@embedpdf/plugin-bookmark@2.11.0

@embedpdf/plugin-capture@2.11.0

@embedpdf/plugin-commands@2.11.0

@embedpdf/plugin-document-manager@2.11.0

@embedpdf/plugin-export@2.11.0

@embedpdf/plugin-form@2.11.0

@embedpdf/plugin-fullscreen@2.11.0

@embedpdf/plugin-history@2.11.0

@embedpdf/plugin-i18n@2.11.0

@embedpdf/plugin-interaction-manager@2.11.0

@embedpdf/plugin-pan@2.11.0

@embedpdf/plugin-print@2.11.0

@embedpdf/plugin-redaction@2.11.0

@embedpdf/plugin-render@2.11.0

@embedpdf/plugin-rotate@2.11.0

@embedpdf/plugin-scroll@2.11.0

@embedpdf/plugin-search@2.11.0

@embedpdf/plugin-selection@2.11.0

@embedpdf/plugin-spread@2.11.0

@embedpdf/plugin-thumbnail@2.11.0

@embedpdf/plugin-tiling@2.11.0

@embedpdf/plugin-view-manager@2.11.0

@embedpdf/plugin-viewport@2.11.0

@embedpdf/plugin-zoom@2.11.0

@embedpdf/utils@2.11.0

@embedpdf/react-pdf-viewer@2.11.0

@embedpdf/svelte-pdf-viewer@2.11.0

@embedpdf/vue-pdf-viewer@2.11.0

17 days ago
embed-pdf-viewer

Release v2.10.1

Automated release.

19 days ago
embed-pdf-viewer

Release v2.10.0

@embedpdf/engines@2.10.0

Minor Changes

  • #537 by @bobsingor
    • Add engine APIs for reading page widgets and form/document JavaScript actions, setting full widget state, renaming and sharing widget fields, and regenerating widget appearances.
    • Route the new widget and form operations through the PDFium and web worker layers to support form authoring and fill-mode workflows.

@embedpdf/models@2.10.0

Minor Changes

  • #537 by @bobsingor
    • Expand form and widget models with typed field unions, widget appearance/style metadata, export values, and JavaScript action types.
    • Add helper utilities and engine interface updates for widget discovery, field state updates, shared fields, and appearance regeneration.

@embedpdf/pdfium@2.10.0

Minor Changes

  • #537 by @bobsingor
    • Add PDFium bindings and wasm exports for creating and editing form widgets, reading widget metadata and JavaScript actions, sharing fields, and regenerating widget appearance streams.
    • Improve form handle lifecycle management so widget reads, writes, and appearance generation work more reliably across repeated operations.

@embedpdf/plugin-annotation@2.10.0

Minor Changes

  • #537 by @bobsingor
    • Add annotation lock modes, scoped navigation/state events, richer tool metadata, and locked-mode renderer support so annotations can switch cleanly between authoring and fill interactions.
    • Add link previews and locked link navigation support plus shared React, Svelte, and Vue updates for the new renderer and interaction APIs.

@embedpdf/plugin-form@2.10.0

Minor Changes

  • #537 by @bobsingor
    • Add a new cross-framework form plugin with widget authoring tools, renderer registration, fill-mode components, state hooks, and widget appearance rendering.
    • Support text fields, checkboxes, radio buttons, combo boxes, and list boxes across React, Svelte, Vue, and Preact, including programmatic updates and shared field operations.

@embedpdf/snippet@2.10.0

Minor Changes

  • #537 by @bobsingor
    • Add full form authoring and fill-mode support to the snippet viewer, including new commands, toolbar items, translations, icons, and widget editing controls.
    • Wire form mode into the viewer schema and sidebars so widgets can be created, configured, filled, and previewed in the example app.

@embedpdf/plugin-commands@2.10.0

Patch Changes

  • #537 by @bobsingor
    • Allow Tab and Shift+Tab keyboard handling to continue working inside form inputs so field navigation is not blocked.
    • Normalize spacebar shortcut parsing so commands can consistently match the space key.

@embedpdf/plugin-redaction@2.10.0

Patch Changes

  • #537 by @bobsingor
    • Update redaction tool integration to work with typed annotation tool definitions and the newer annotation capability access patterns.
    • Guard annotation capability usage during redaction flows and resolve defaults from the active tool configuration for more consistent behavior.

@embedpdf/core@2.10.0

@embedpdf/plugin-attachment@2.10.0

@embedpdf/plugin-bookmark@2.10.0

@embedpdf/plugin-capture@2.10.0

@embedpdf/plugin-document-manager@2.10.0

@embedpdf/plugin-export@2.10.0

@embedpdf/plugin-fullscreen@2.10.0

@embedpdf/plugin-history@2.10.0

@embedpdf/plugin-i18n@2.10.0

@embedpdf/plugin-interaction-manager@2.10.0

@embedpdf/plugin-pan@2.10.0

@embedpdf/plugin-print@2.10.0

@embedpdf/plugin-render@2.10.0

@embedpdf/plugin-rotate@2.10.0

@embedpdf/plugin-scroll@2.10.0

@embedpdf/plugin-search@2.10.0

@embedpdf/plugin-selection@2.10.0

@embedpdf/plugin-spread@2.10.0

@embedpdf/plugin-thumbnail@2.10.0

@embedpdf/plugin-tiling@2.10.0

@embedpdf/plugin-ui@2.10.0

@embedpdf/plugin-view-manager@2.10.0

@embedpdf/plugin-viewport@2.10.0

@embedpdf/plugin-zoom@2.10.0

@embedpdf/utils@2.10.0

@embedpdf/react-pdf-viewer@2.10.0

@embedpdf/svelte-pdf-viewer@2.10.0

@embedpdf/vue-pdf-viewer@2.10.0

25 days ago
embed-pdf-viewer

Release v2.9.1

@embedpdf/plugin-annotation@2.9.1

Patch Changes

  • #532 by @bobsingor – FreeText annotation improvements:
    • Fix FreeText editing blocked by interaction layer after the visual/interaction layer split. When isEditing is true, pointer events now correctly reach the text content in the visual layer while the interaction layer becomes passive.
    • Add editAfterCreate tool behavior: FreeText annotations automatically enter editing mode after creation, with the default text fully selected so typing immediately replaces it.
    • Prevent accidental annotation creation when exiting FreeText editing mode by clicking the page background (stopImmediatePropagation).
    • Normalize NBSP characters (\u00A0) to regular spaces when reading text from contenteditable on blur.
    • Fix Vue FreeText editing initialization timing so editAfterCreate works correctly on first mount.

@embedpdf/core@2.9.1

@embedpdf/engines@2.9.1

@embedpdf/models@2.9.1

@embedpdf/pdfium@2.9.1

@embedpdf/plugin-attachment@2.9.1

@embedpdf/plugin-bookmark@2.9.1

@embedpdf/plugin-capture@2.9.1

@embedpdf/plugin-commands@2.9.1

@embedpdf/plugin-document-manager@2.9.1

@embedpdf/plugin-export@2.9.1

@embedpdf/plugin-fullscreen@2.9.1

@embedpdf/plugin-history@2.9.1

@embedpdf/plugin-i18n@2.9.1

@embedpdf/plugin-interaction-manager@2.9.1

@embedpdf/plugin-pan@2.9.1

@embedpdf/plugin-print@2.9.1

@embedpdf/plugin-redaction@2.9.1

@embedpdf/plugin-render@2.9.1

@embedpdf/plugin-rotate@2.9.1

@embedpdf/plugin-scroll@2.9.1

@embedpdf/plugin-search@2.9.1

@embedpdf/plugin-selection@2.9.1

@embedpdf/plugin-spread@2.9.1

@embedpdf/plugin-thumbnail@2.9.1

@embedpdf/plugin-tiling@2.9.1

@embedpdf/plugin-ui@2.9.1

@embedpdf/plugin-view-manager@2.9.1

@embedpdf/plugin-viewport@2.9.1

@embedpdf/plugin-zoom@2.9.1

@embedpdf/utils@2.9.1

@embedpdf/react-pdf-viewer@2.9.1

@embedpdf/snippet@2.9.1

@embedpdf/svelte-pdf-viewer@2.9.1

@embedpdf/vue-pdf-viewer@2.9.1

26 days ago
embed-pdf-viewer

Release v2.9.0

@embedpdf/engines@2.9.0

Minor Changes

  • #529 by @bobsingor – Integrate cloudy border effect reading and writing in the PDFium engine. Annotations with /BE /S /C dictionaries now include cloudyBorderIntensity in their parsed objects, and creating/updating annotations writes the border effect dictionary via setBorderEffect.

Patch Changes

  • #514 by @bobsingor – Expose PDF annotation blend mode in base PDFium annotation properties.

    PdfiumNative now reads EPDFAnnot_GetBlendMode and includes blendMode in the shared base annotation payload, so all annotation types parsed through the PDFium engine consistently receive their blend mode metadata.

@embedpdf/models@2.9.0

Minor Changes

  • #529 by @bobsingor – Add cloudyBorderIntensity property to PdfPolygonAnnoObject for cloudy border support on polygon annotations.

@embedpdf/pdfium@2.9.0

Minor Changes

  • #529 by @bobsingor – Add cloudy border AP generation in PDFium C++. New cpdf_cloudy_border.cpp/.h generates scalloped border paths for Square, Circle, and Polygon annotations via the /BE border effect dictionary. Exposes EPDFAnnot_SetBorderEffect and EPDFAnnot_ClearBorderEffect bindings.

Patch Changes

  • #526 by @bobsingor – Fix EPDF_GetPageSizeByIndexNormalized returning incorrect dimensions for PDFs with inherited MediaBox/CropBox.

    The function read /MediaBox and /CropBox directly from the page dictionary via dict->GetRectFor(), which does not resolve PDF page tree attribute inheritance. Pages that inherit these attributes from a parent /Pages node would silently fall back to the default 612x792 (US Letter) size.

    Replaced the direct dictionary lookups with a GetInheritedRect helper that walks the /Parent chain, mirroring the inheritance logic used by CPDF_Page::GetPageAttr. The function remains lightweight (no CPDF_Page construction) while correctly resolving inherited attributes.

@embedpdf/plugin-annotation@2.9.0

Minor Changes

  • #529 by @bobsingor – Add cloudy border support for Circle, Square, and Polygon annotations across React, Vue, and Svelte renderers. Includes a framework-agnostic SVG path generator (cloudy-border.ts), conditional rendering of scalloped <path> elements with stroke-linejoin: round, cloudy-aware hit areas, rectangle differences computation in handlers and patch functions, and polygon preview support.

Patch Changes

  • #517 by @sebabal – Fix link annotation click not working in the Vue build.

    The template expression @pointerdown="hasIRT ? undefined : onClick" compiled to a function that returned the onClick reference instead of invoking it. Changed to onClick?.($event) so the handler is actually called on pointer down, restoring link selection and navigation. Thanks to @sebabal

  • #530 by @bobsingor – Hide the group selection menu while group rotation is active. Previously the menu remained visible during rotation, which could overlap with rotation guide lines and the tooltip. This aligns the group selection box behavior with the single-annotation container, which already hides its menu during rotation.

  • #512 by @bobsingor – Add smart line recognition to the ink handler with horizontal/vertical axis snapping.

    When smartLineRecognition is enabled on an ink tool, straight strokes drawn close to a horizontal or vertical axis are automatically snapped to a clean two-point line after pointerUp. The snapped line is centred on the average position of all recorded points rather than being anchored to the start point. Diagonal straight strokes (outside the snap cone) are left untouched with their original points intact.

    New InkBehavior fields on AnnotationTool:

    • snapAngleDeg — degrees from horizontal/vertical within which snapping is applied (default 15). Strokes whose angle falls outside both snap zones are not reduced to two points.

@embedpdf/snippet@2.9.0

Minor Changes

  • #529 by @bobsingor – Add cloudy border intensity options to the stroke style picker in the annotation sidebar for Circle, Square, and Polygon tools. Includes realistic semicircular arc SVG previews for intensity 1 and 2.

Patch Changes

  • #512 by @bobsingor – Add annotation:add-ink-highlighter command and toolbar button for the ink highlighter tool.

    The command toggles the inkHighlighter tool, respects the ModifyAnnotations permission, and is registered under the annotation and annotation-ink categories. The corresponding button is inserted into all relevant toolbar and mobile-menu slots next to the existing ink pen button.

@embedpdf/core@2.9.0

@embedpdf/plugin-attachment@2.9.0

@embedpdf/plugin-bookmark@2.9.0

@embedpdf/plugin-capture@2.9.0

@embedpdf/plugin-commands@2.9.0

@embedpdf/plugin-document-manager@2.9.0

@embedpdf/plugin-export@2.9.0

@embedpdf/plugin-fullscreen@2.9.0

@embedpdf/plugin-history@2.9.0

@embedpdf/plugin-i18n@2.9.0

@embedpdf/plugin-interaction-manager@2.9.0

@embedpdf/plugin-pan@2.9.0

@embedpdf/plugin-print@2.9.0

@embedpdf/plugin-redaction@2.9.0

@embedpdf/plugin-render@2.9.0

@embedpdf/plugin-rotate@2.9.0

@embedpdf/plugin-scroll@2.9.0

@embedpdf/plugin-search@2.9.0

@embedpdf/plugin-selection@2.9.0

@embedpdf/plugin-spread@2.9.0

@embedpdf/plugin-thumbnail@2.9.0

@embedpdf/plugin-tiling@2.9.0

@embedpdf/plugin-ui@2.9.0

@embedpdf/plugin-view-manager@2.9.0

@embedpdf/plugin-viewport@2.9.0

@embedpdf/plugin-zoom@2.9.0

@embedpdf/utils@2.9.0

@embedpdf/react-pdf-viewer@2.9.0

@embedpdf/svelte-pdf-viewer@2.9.0

@embedpdf/vue-pdf-viewer@2.9.0