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。

請注意,我們所有的雲端 SDK 都是在 MIT 授權下分發的,因此可以從 GitHub 下載 Aspose.Words Cloud SDK for .NET 的完整程式碼片段。如果您在使用 API 時遇到任何問題或有任何疑問,請隨時透過 免費產品支援論壇 與我們聯絡。

相關文章

我們還建議您訪問以下連結以了解更多資訊: