komicinfo
1.0.2indexedRead and write CBZ archives with embedded ComicInfo.xml metadata; create CBZ from ordered image lists; customize per‑page info (types, bookmarks).
0
Stars
—
Used by
dependents
—
Health
/ 100
Read and write CBZ archives with embedded ComicInfo.xml metadata; create CBZ from ordered image lists; customize per‑page info (types, bookmarks).
A Kotlin library for reading and writing ComicBook archives (CBZ) with ComicInfo.xml metadata.
This project is Kotlin Multiplatform (KMP) and publishes artifacts for JVM and Android.
dependencies {
implementation("io.github.broot5:komicinfo:<version>")
}
val result = ComicBookReader.read(File("comic.cbz"))
result
.onSuccess { comicInfo ->
println("Title: ${comicInfo.title}")
println("Series: ${comicInfo.series}")
println("Pages: ${comicInfo.pageCount}")
}
.onFailure { exception -> println("Failed to read: ${exception.message}") }
// Create metadata
info = ComicInfo(
title = ,
series = ,
number = ,
writer = listOf(, ),
publisher = ,
languageISO = ,
)
imageFiles = listOf(
File(),
File(),
File(),
)
comicBook = ComicBook.create(info, imageFiles)
result = ComicBookWriter.write(comicBook, File())
result
.onSuccess { file -> println() }
.onFailure { exception -> println() }
val comicBook = ComicBook.create(info, imageFiles) { page, file ->
when {
file.name.contains("cover") -> page.copy(type = ComicPageType.FRONT_COVER)
file.name.contains("credits") -> page.copy(bookmark = "Credits")
else -> page
}
}
# Clone the repository
git clone https://github.com/broot5/komicinfo.git
cd komicinfo
# Build
./gradlew build
# Generate JVM JAR
./gradlew jvmJar
Surfaced from shared tags and platforms — no rankings paid for.