java - 在java中压缩为.epub格式

标签 java compression zip rename epub

我有 2 个文件夹(meta-inf、oebpf)和 1 个文件(mimetype),我想将其转换为 epub 格式。 我正在使用 java.util.zip.ZipEntry、java.util.zip.ZipOutputStream 压缩到 .epub,但我无法读取这些文件。但是当我使用 7zip 压缩它并重命名它时,我可以使用它。

我的 mimetype 文件只包含“application/epub+zip”。但在 wiki 中它说要添加更多文本 http://en.wikipedia.org/wiki/EPub#Open_Container_Format_2.0.1

有没有压缩成epub的jar文件?或者有什么我应该做的。

最佳答案

你可以试试这个库:https://github.com/psiegman/epublib

它是专门为操作 epub 文件而设计的。

epublib screenshot

示例代码:

// Create new Book
Book book = new Book();

// In metadata, set the title and author
Metadata metadata = book.getMetadata();
metadata.addTitle("Epublib test book 1");
metadata.addAuthor(new Author("Joe", "Tester"));

// Add chapter 1
book.addSection(
     "Chapter 1", //
     getResource("/book1/chapter1.html", "chapter1.html") //
);

// Add chapter N
// ...

// Write the Book as Epub
EpubWriter epubWriter = new EpubWriter();
epubWriter.write(book, new FileOutputStream("my_first_book1.epub"));

来源:Creating an ebook programmatically

关于java - 在java中压缩为.epub格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21018980/

相关文章:

python - 使用 zlib 以 C 语言读取 Python 压缩数据

javascript - 如何在 zip 文件存档器中创建文件夹 - node.js

java - Android 压缩文件

java - JButton 数组返回 void

java - 不是的 Spring AOP 代理

amazon-web-services - GZIP 在 Amazon Cloudfront 中不起作用

C# 从流中压缩和压缩 csv

java - 在 Java 中用 parseInt 分割字符串

java - 使用 Java 处理单词缩略的有效方法是什么?

java - 启用压缩的 Tomcat 在 OS X High Sierra 上导致错误