Zum Hauptinhalt springen
tsecurity.de LIVE
Echtzeit-Radar & Feeds
Alle RSS Feeds
👥 Community & Social
IT Security NachrichtenShinyHunters claims to have breached the FBI.(23.09.2026 um 18:00 Uhr)
IT Security NachrichtenSo bringen Sie Produktivität, Kosten und Governance für KI in Einklang(23.09.2026 um 18:07 Uhr)
IT Security NachrichtenNASA X-Plane: Geheimflugzeug erinnert an legendäre SR-71 Blackbird(23.09.2026 um 18:20 Uhr)
IT Security NachrichtenCould AI really destroy us all, or are humans still the bigger threat?(23.09.2026 um 17:50 Uhr)
IT Security NachrichtenShinyHunters claims to have breached the FBI.(23.09.2026 um 18:00 Uhr)
IT Security NachrichtenSo bringen Sie Produktivität, Kosten und Governance für KI in Einklang(23.09.2026 um 18:07 Uhr)
IT Security NachrichtenNASA X-Plane: Geheimflugzeug erinnert an legendäre SR-71 Blackbird(23.09.2026 um 18:20 Uhr)
IT Security NachrichtenCould AI really destroy us all, or are humans still the bigger threat?(23.09.2026 um 17:50 Uhr)
Intelligence View
⚡ tsecurity.de Intelligence

PdfKmp 1.0 — A Kotlin Multiplatform PDF Library for Android and iOS

Built specifically for Kotlin Multiplatform PdfKmp is a KMP-first library. The DSL, the layout engine, and the document model all live in commonMain. Rendering dispatches to each OS's native PDF stack — android.graphics.pdf.PdfDocument o…

0
↗ Quelle (dev.to)
Reagiere als Erste:r — dein Feedback zählt!






Built specifically for Kotlin Multiplatform



PdfKmp is a KMP-first library. The DSL, the layout engine, and the document model all live in commonMain. Rendering dispatches to each OS's native PDF stack — android.graphics.pdf.PdfDocument on Android, UIGraphicsBeginPDFContextToData + Core Graphics on iOS. You write the document once and ship it to both stores.



If you only target Android, you can still use it as a plain Android library (pdfkmp-android artifact).









What's in the box






Document structure




  • A Compose-style DSL: pdf { … }, page { … }, column, row, box, card

  • Spacing, padding, weighted children, alignment

  • Multi-page documents with automatic pagination






Text rendering




  • Vector glyph paths — every character is a real PDF text operator, not a bitmap

  • Single-style text(...) blocks and multi-style richText { span(...) } runs

  • Font weights, italics, underline, strikethrough, letter spacing, line height, alignment






Tables




  • Column weights and per-cell styling

  • Header rows that repeat on every page

  • Automatic page-break across long tables — no orphan rows






Decorations




  • Backgrounds, rounded corners, borders, gradients

  • Dividers, lines, circles, ellipses

  • Bullet and numbered lists






Page-level features




  • Headers and footers with access to current page number and total page count

  • Watermarks

  • Page numbers in any format you write






Hyperlinks





  • link(url) { … } emits real PDF link annotations — clickable in Adobe Reader, Preview, Chrome, and any spec-compliant viewer






Internationalisation




  • Bundled Inter font, exposed as PdfFont.Default, identical bytes on both platforms

  • Opt-in system fallbacks for non-Latin scripts: PdfFont.SystemCJK, PdfFont.SystemArabic, PdfFont.SystemPersian

  • Custom fonts via registerFont(PdfFont.Custom(name, bytes)) for brand or licence-bound typefaces






Images and vector graphics




  • Raster images (JPEG / PNG) embedded as-is for real photos

  • Vector and SVG images stay vector — sharp at any zoom






Storage





  • StorageLocation.Documents / Downloads / Cache / AppFiles / Temp / Custom

  • MediaStore on Android Q+ (no runtime permission needed)

  • Sandboxed paths on iOS






Opt-in companion modules





  • pdfkmp-viewer — a Compose Multiplatform PDF viewer composable with topbar, share sheet, zoom, search, and text selection. Works as a standalone viewer for any PDF, not just PdfKmp-generated ones.


  • pdfkmp-compose-resources — bridges Compose Multiplatform DrawableResource references into the PdfKmp DSL.



The core pdfkmp artifact stays Compose-free. If you don't use Compose, you don't pay for it.









Why vector matters



Most "save to PDF" flows on mobile rasterise — they snapshot a View and embed that bitmap. PdfKmp is vector-only for everything except real photos. That gives you three things:





  • Small file size. A typical text-heavy invoice lands in the tens of kilobytes, not megabytes.


  • Crisp output at any zoom. Path operators are resolution-independent.


  • Searchable, accessible documents. Real text means Preview's ⌘F finds the order number, and screen readers can read the page.









Cross-platform parity is the contract



PdfKmp pins the bundled Inter font on both platforms so glyph metrics match exactly. Same DSL → same line breaks → same page splits → same final file. For non-Latin scripts that rely on system fonts, the fallback is named explicitly so any divergence is visible instead of silent.



If the output ever differs between Android and iOS on a document you care about, that's a bug — open an issue with the DSL snippet.









Stability signals





  • 1.0 stable, follows SemVer — no breaking changes within the 1.x line


  • explicitApi() enforced — every public declaration is intentional


  • Apache 2.0 — drop-in for enterprise, no AGPL friction


  • R8-clean — no keep rules required


  • No third-party engines — output goes through the OS's native PDF stack









Links



https://github.com/ConaMobileDev/PdfKmp

Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten PdfKmp 1.0 — A Kotlin Multiplatform PDF Library for Android and iOS

Thematisch verwandte Begriffe: PdfKmp, Kotlin, Multiplatform, Library · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-92164 | Streamlink is a CLI utility which pipes video streams from various servi…
Advisory →
TTS Reader • tsecurity.de Voice
tsecurity.de Icon
tsecurity.de App
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag
Themen-Radar & Intelligence Matrix
Echtzeit-Taxonomie nach Angriffsvektoren & Plattformen

tsecurity.de Live Threat Radar

🔴 LIVE RADAR
MONITORING
AKTIV
CVE-DATENBANK
LIVE
🔍
Community Radar & Live Chat
Sentinel Bot online • Live-Stream
Dein Cluster: Security Explorer
Match:
lädt…
Verbindung zum Community-Stream wird aufgebaut...
Bearbeitungsmodus — Senden überschreibt deine Nachricht
Community-Puls — was gerade passiert
lädt…
Aktivitäten deiner Analysten
lädt…
Neues Thema oder Eilmeldung einreichen

Reiche interessante Links, Zero-Days oder Debatten ein. Die Community entscheidet per Upvote über die Veröffentlichung.

Heiß diskutierte Einreichungen
🔖 Gespeicherte Artikel
📂 Keine gespeicherten Artikel vorhanden.
Zurück Ziehen Vor
Links: vorheriger Artikel Rechts: nächster Artikel unten: schließen
News NIS-2 Frühwarnung Tier-1 Intel ⏱️ 3 Min vor 10 Min
Artikeldaten werden geladen...

Zurück: vorheriger Vor: nächster
↗ Original-Quelle
Social Reaktionen Deine Reaktion zählt
Einstufung & Relevanz-Poll 0 Stimmen
In sozialen Netzwerken teilen 1-Klick