OpenPDF Kotlin is a Kotlin extension module for OpenPDF. It provides Kotlin APIs, utilities, and builder-style functionality for working with PDF documents.
This submodule makes OpenPDF more convenient and expressive for Kotlin developers by offering:
- Extension functions for common PDF tasks
- A lightweight Kotlin-style
PdfBuilderfor creating PDF files in Kotlin. HtmlPdfBuilderfor creating PDF files from HTML.- DSL-inspired document generation syntax
Kotlin pull requests are welcome!
import java.io.FileOutputStream
import com.github.librepdf.html.HtmlPdfBuilder
import org.openpdf.text.pdf.PdfWriter
val outputStream = FileOutputStream("output.pdf")
HtmlPdfBuilder(outputStream).apply {
html(
"""
<html>
<head><title>Example</title></head>
<body>
<h1>Hello from HTML</h1>
<p>This PDF was generated using openpdf-html and Kotlin.</p>
</body>
</html>
""".trimIndent()
)
scaleToFit(true)
pdfVersion(org.openpdf.text.pdf.PdfWriter.VERSION_1_7)
build()
}
import com.github.librepdf.kotlin.PdfBuilder
import java.io.FileOutputStream
fun main() {
FileOutputStream("example.pdf").use { output ->
PdfBuilder(output).build {
title("Hello from Kotlin")
subtitle("Using OpenPDF Kotlin")
paragraph("This is a paragraph in a PDF file.")
image("logo.png", scalePercent = 50f)
}
}
}- Allow using Openpdf-html and Openpdf-renderer in Kotlin, create Kotlin utility classes and Kotlin examples of using OpenPDF to create PDF files from HTML (Openpdf-html), and to render PDF files as images (Openpdf-renderer).
- Add unit tests for all Kotlin utilities
- Add
PdfFormUtilfor working with AcroForms (fill/read fields) - Create
PdfMetadataUtilfor reading document properties - Write more Kotlin usage examples and tutorials
- Explore multiplatform or Android compatibility
- Set up
markdownlintand Kotlin style linter