Repository navigation
0.2.0-rc01
π PdfKmp 0.2.0-rc01 β pdfkmp-viewer ships
The headline of this release: a brand-new Compose Multiplatform PDF viewer screen. Drop one composable into your nav graph (or fire one imperative call from any scope) and you
get a complete reader with topbar, search, share, save-to-Downloads, hyperlinks, gestures, and a page indicator β Android and iOS, same code.
RC status β public API for :pdfkmp-viewer is settled. We're cutting an RC instead of a final to give the community one round of feedback before 0.2.0. Please file issues if
anything feels off.
β¨ Highlights
One-call viewer screen
KmpPdfViewer(
uri = "https://example.com/invoice.pdf",
title = "Invoice 2026 Q1",
onBack = { navController.popBackStack() },
)
Four input shapes (PdfSource / PdfDocument / ByteArray / URI string) and 17 parameters covering visibility toggles, behaviour flags, and theming. Lower-level building blocks
(PdfViewer, PdfViewerTopBar, PdfSearchBar, β¦) stay public for advanced layouts.
Imperative launcher
For when you can't reach a @composable scope β click handlers, LaunchedEffect, suspend functions, notification taps:
KmpPdfLauncher.open(
document = pdfAsync { /* β¦ */ },
title = "Invoice",
)
Hosts the same KmpPdfViewer inside a library-shipped Activity (Android) / ComposeUIViewController (iOS). Document payload survives the hop with text-selection / hyperlink
metadata intact.
Topbar that follows the platform
- Android β Minimal Mono variant: 38Γ38 chips, primary black download chip, white background, hairline divider.