MOBI 转 EPUB

在线将 MOBI 转换为 EPUB

MOBI 文件是用于存储数字图书的 Mobipocket 电子书文件,专为低带宽的移动设备设计。另一方面,EPUB 在所有平台上都得到广泛支持,而 MOBI 主要是 Kindle 格式。此外,最显著的优势是,此类电子书的格式会根据您阅读的设备而改变形状。在本文中,我们将讨论如何使用 .NET REST API 将 MOBI 转换为 EPUB 的步骤。

MOBI 文件转换 API

Aspose.Words Cloud 旨在简化在云端创建、编辑、合并、拆分、比较和转换 Word 文档等操作。它还支持处理电子书格式(包括 MOBI 和 EPUB)的功能。.NET SDK 可在 NuGetGitHub 下载。因此,为了使用 SDK,我们需要执行以下命令通过 NuGet 安装它。

nuget install Aspose.Words-Cloud

如果您需要从 NuGet 包管理器安装,请执行以下命令:

PM> Install-Package Aspose.Words-Cloud

下一个重要步骤是访问 Aspose.Cloud 仪表板 创建一个免费订阅帐户。使用您现有的 GitHub 或 Google 帐户,或者在 创建新帐户 时直接注册。登录仪表板并获取客户端凭据。

使用 C# 将 MOBI 转换为 EPUB

请访问以下详细信息,使用 C# .NET 代码片段将 MOBI 格式转换为 EPUB。

  • 创建配置对象并提供客户端 ID 和客户端机密详细信息。
  • 其次,创建一个 WordsApi 类的实例,该实例以 Configuration 对象作为参数。
  • 第三,初始化 UploadFileRequest 类的对象,该对象以输入的 MOBI 文件流实例作为参数。
  • 现在使用WordsApi的UploadFile(..)方法将输入文件上传到云存储。
  • 下一步是创建一个 GetDocumentWithFormatRequest 对象,同时提供一个输入文件、结果格式和结果文件名作为参数。
  • 最后调用GetDocumentWithFormat(..)方法执行转换操作,输出文件保存在云存储中。
// 从 https://dashboard.aspose.cloud/ 获取 ClientID
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// 在提供客户端凭证的同时创建配置实例
var config = new Configuration{ ClientId = clientID, ClientSecret = clientSecret };

// 使用配置参数初始化 WordsApi 实例
var wordsApi = new WordsApi(config);

String inputFile = "famouspaintings.mobi";
String resultant = "conveted.epub";
String format = "EPUB";

try
{
    using (var inputStream = new FileStream("/Users/nshahbaz/Downloads/" + inputFile, FileMode.Open))
    {
        // 创建文件上传请求实例
        var uploadFileRequest = new UploadFileRequest(inputStream, inputFile);
        // 将 MOBI 文件上传到云存储
        wordsApi.UploadFile(uploadFileRequest);

        // 使用输入文件、输出格式创建 DocumentWithFormatRequest 实例
        // 并将生成的 EPUB 文件名作为参数
        var response = new GetDocumentWithFormatRequest(inputFile, format, null, null, null, null, resultant);
        
        // 启动文档转换操作
        Stream result = wordsApi.GetDocumentWithFormat(response);
        if (result != null && result.Equals("OK"))
        {
            Console.WriteLine("Successfully converted MOBI to EPUB !");
        }
    }
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
} 
Mobi 转 EPUB 预览

图 1:- MOBI 到 EPUB 转换预览。

上述示例中使用的示例文件可以从 famouspaintings.mobiconverted.epub 下载。

使用 cURL 命令将 MOBI 转换为 EPUB

我们还可以使用 cURL 命令访问 Aspose.Words Cloud API。现在作为先决条件,我们需要首先根据从 Aspose.Cloud 仪表板 检索到的 ClientID 和 ClientSecret 详细信息生成 JSON Web Token (JWT)。请在终端中执行以下命令以生成 JWT 令牌。

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

现在我们已经获得了 JWT 访问令牌,我们需要使用以下命令将输入的 MOBI 文件上传到云存储。如果内容是多部分的,并且我们没有提供文件名,它会尝试从 Content-Disposition 标头的 filename 参数中获取它们。

curl -X PUT "https://api.aspose.cloud/v4.0/words/storage/file/famouspaintings.mobi" \
-H  "accept: application/json" \
-H  "Authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-d {"fileContent":{}}

最后,执行以下命令将 MOBI 转换为 EPUB 并将生成的文件保存在云存储中。

curl -X GET "https://api.aspose.cloud/v4.0/words/famouspaintings.mobi?format=EPUB&outPath=conveted.epub" \
-H  "accept: application/octet-stream" \
-H  "Authorization: Bearer <JWT Token>"

结论

在本博客中,我们探索了使用 C# .NET 将 MOBI kindle 文件转换为 EPUB 格式的功能。我们还学习了使用 cURL 命令开发 MOBI 文件阅读器的步骤。还可以使用 swagger 接口 测试 API。

请注意,我们所有的 Cloud SDK 均在 MIT 许可下分发,因此 Aspose.Words Cloud SDK for .NET 的完整代码片段可从 GitHub 下载。如果您在使用 API 时遇到任何问题或有任何疑问,请随时通过 免费产品支持论坛 与我们联系。

相关文章

我们还建议您访问以下链接以了解更多信息: