MOBI в EPUB

Конвертировать MOBI в EPUB онлайн

Файл MOBI — это файл электронной книги Mobipocket, используемый для хранения цифровых книг и разработанный специально для мобильных устройств с низкой пропускной способностью. С другой стороны, EPUB широко поддерживается на всех платформах, в то время как MOBI — это преимущественно формат Kindle. Кроме того, наиболее существенным преимуществом является то, что такие электронные книги создаются в формате, который меняет форму в зависимости от устройства, на котором вы их читаете. В этой статье мы рассмотрим шаги по конвертации MOBI в EPUB с использованием .NET REST API.

API преобразования файлов MOBI

Aspose.Words Cloud разработан для упрощения таких операций, как создание, редактирование, слияние, разделение, сравнение и преобразование документа Word в облаке. Он также поддерживает функцию обработки форматов электронных книг, включая MOBI и EPUB. .NET SDK доступен для загрузки на NuGet и GitHub. Поэтому для использования SDK нам нужно выполнить следующую команду, чтобы установить его через NuGet.

nuget install Aspose.Words-Cloud

Если вам необходимо выполнить установку из диспетчера пакетов NuGet, выполните следующую команду:

PM> Install-Package Aspose.Words-Cloud

Следующий важный шаг — создать бесплатную учетную запись подписки, посетив панель управления Aspose.Cloud. Используйте существующую учетную запись GitHub или Google или просто зарегистрируйтесь во время создания новой учетной записи. Войдите в панель управления и получите учетные данные клиента.

Конвертировать MOBI в EPUB на C#

Чтобы выполнить преобразование формата MOBI в EPUB с помощью фрагмента кода C# .NET, посетите следующую страницу.

  • Создайте объект конфигурации, указав данные идентификатора клиента и секретного ключа клиента.
  • Во-вторых, создайте экземпляр класса WordsApi, который принимает объект Configuration в качестве аргумента.
  • В-третьих, инициализируйте объект класса UploadFileRequest, который принимает в качестве аргумента экземпляр входного потока файла MOBI.
  • Теперь загрузите входной файл в облачное хранилище с помощью метода UploadFile(..) WordsApi.
  • Следующим шагом является создание объекта GetDocumentWithFormatRequest с указанием входного файла, результирующий формат и результирующие имена файлов являются аргументами.
  • Наконец, вызовите метод GetDocumentWithFormat(..) для выполнения операции преобразования. Выходной файл сохраняется в облачном хранилище.
// Получите ClientID с https://dashboard.aspose.cloud/
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.mobi и converted.epub.

Конвертация MOBI в EPUB с помощью команды cURL

Мы также можем использовать команды cURL для доступа к API Aspose.Words Cloud. Теперь в качестве предварительного условия нам нужно сначала сгенерировать JSON Web Token (JWT) на основе сведений ClientID и ClientSecret, полученных из панели управления Aspose.Cloud. Пожалуйста, выполните следующую команду в терминале, чтобы сгенерировать токен 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.

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>"

Заключение

В этом блоге мы изучили возможности конвертации файлов MOBI kindle в формат EPUB с использованием C# .NET. Мы также изучили шаги по разработке ридера файлов MOBI с использованием команд cURL. API также можно протестировать с помощью интерфейса swagger.

Обратите внимание, что все наши Cloud SDK распространяются по лицензии MIT, поэтому полный фрагмент кода для Aspose.Words Cloud SDK для .NET можно загрузить с GitHub. Если у вас возникнут какие-либо проблемы или вопросы при использовании API, свяжитесь с нами через Бесплатный форум поддержки продукта.

Похожие статьи

Мы также рекомендуем посетить следующие ссылки, чтобы узнать больше о: