Open 2Loong6 opened 9 months ago
1.确实
2.乱排版的epub我没什么思路,除了这个单个p标签的,还有没有p标签的。还没想出来一个统一处理的思路。
1.确实
2.乱排版的epub我没什么思路,除了这个单个p标签的,还有没有p标签的。还没想出来一个统一处理的思路。
乱排版的问题,body
内容提取出文本后,只需要考虑换行就可以,我自己对kotlin
不太熟,可以做个参考
val path = Path("")
val doc = Jsoup.parse(path.readBytes().decodeToString(), Parser.xmlParser())
doc.select("rt").remove()
val body = doc.body().toString().lines()
val lines = StringBuilder()
body.forEach { line ->
//替换html标签
val appendLine = line.replace("<[^>]+>".toRegex(), "")
if (appendLine.isNotBlank()) {
lines.append(appendLine)
if (line.contains("<br") || line.contains("</p>")) {
lines.append("\n")
}
}
}
println(lines)
1.确实 2.乱排版的epub我没什么思路,除了这个单个p标签的,还有没有p标签的。还没想出来一个统一处理的思路。
乱排版的问题,
body
内容提取出文本后,只需要考虑换行就可以,我自己对kotlin
不太熟,可以做个参考val path = Path("") val doc = Jsoup.parse(path.readBytes().decodeToString(), Parser.xmlParser()) doc.select("rt").remove() val body = doc.body().toString().lines() val lines = StringBuilder() body.forEach { line -> //替换html标签 val appendLine = line.replace("<[^>]+>".toRegex(), "") if (appendLine.isNotBlank()) { lines.append(appendLine) if (line.contains("<br") || line.contains("</p>")) { lines.append("\n") } } } println(lines)
难点不在于提取文本,而在于提取的文本之后还要注入回去生成中日对比版,同时不损害图片等奇怪样式。 文库小说的epub解析器升级优先级很高,但是得排在支持sakura版本覆盖后面,而且最近很忙,可能得等到春节了。
当然,如果有人有兴趣自己试试开发,但又不熟悉kotlin的话,可以先从文件翻译里的前端epub解析开始,按照epubParserV1做一个V2就行了。
第一个问题修了。
1.特殊字符文库小说上传下载问题 https://books.fishhawk.top/wenku/6450c25684972153850fa45b 重装武器第15卷 2.竖排小说无 P 标签导致的翻译退化问题。 https://books.fishhawk.top/wenku/6450c4c084972153850fa92f 如GJ部中等部amazon排版特殊的epub小说,不以P标签为分割