← All projects

KitePDF

by @yuroyami

Active 30

🪁 Read, view, render, edit and create PDFs (and read EPUBs) from Kotlin Multiplatform: Android, iOS, Web, and JVM Desktop. One engine, 100% Pure Kotlin, no JNI, no native PDF library, no expect/actual. Compose Multiplatform ready.

About this project

KitePDF A document engine for Kotlin Multiplatform: read, create, edit and render PDFs, and read reflowable EPUB 2/3, from commonMain. What you get A PDF engine written from scratch in Kotlin — lexer, xref parser, content-stream interpreter, font engine, filters, encryption, writer and editor — plus a reflowable EPUB 2/3 reader built on the same substrate. There is no platform PDF engine underneath, no JNI and no native binary, so the same code path runs on Android, iOS, JVM, Kotlin/Native, JS and Wasm. Almost all of it is common code. The engine modules contain three expect declarations in total (a mutex, a thread id, and the deflate/inflate hook, all in kitepdf-core); everything else — parsing, layout, rasterisation geometry, crypto, fonts — is one implementation shared by every target. Drawing the resulting primitives to a screen is a separate, opt-in artifact. KitePDF is pre-1.0. The API moves between minor versions. KitePDF.open(bytes) is a one-argument alias for PdfDocument.open(bytes). The docs use PdfDocument throughout, since it also carries the password overload, openOrNull and edit(). Install Seven artifacts are published, all at 0.2.0. You need one document artifact,

From the project README on GitHub

Stars
30
Forks
1
License
Apache-2.0
Last push
25 Jul 2026

Add this badge to your README

Show that your project is listed on Made in Algeria.

Made in Algeria
[![Made in Algeria](https://www.madeinalgeria.dev/badge/kitepdf.svg)](https://www.madeinalgeria.dev/projects/kitepdf)

Related projects