Canvas2dCanvas
PdfCanvas backed by a browser-side CanvasRenderingContext2D. Pure Kotlin/JS + DOM — no Compose for Web, no Skia/WASM bundle.
The right choice for in-browser PDF viewers that want minimal bundle size and to inherit whatever rendering acceleration the browser already provides for <canvas>.
Honest scope:
Path operations, gradients, blend modes (all 16), clipping, transparency groups, soft masks: ✅ rendered via the standard Canvas2D API.
Embedded image XObjects: ⚠️ JPEG / JP2 are decoded asynchronously by the browser (
HTMLImageElement.src = …), which doesn't fit the renderer's synchronous draw pass. v1 paints placeholders for image XObjects; an async render path is roadmapped.
Functions
Link copied to clipboard
open fun applySoftMask(kind: <Error class: unknown class>, maskBBox: <Error class: unknown class>, maskCtm: <Error class: unknown class>, render: () -> Unit, renderMask: (<Error class: unknown class>) -> Unit)
Link copied to clipboard
open fun beginTransparencyGroup(bbox: <Error class: unknown class>, ctm: <Error class: unknown class>, isolated: Boolean, knockout: Boolean, alpha: Double, blendMode: <Error class: unknown class>)
Link copied to clipboard
Link copied to clipboard
open fun fillShading(shading: <Error class: unknown class>, ctm: <Error class: unknown class>, clipPath: <Error class: unknown class>?, alpha: Double, blendMode: <Error class: unknown class>)
Link copied to clipboard