De MOBI a EPUB

Convertir MOBI a EPUB en línea

El archivo MOBI es un archivo de libro electrónico Mobipocket que se utiliza para almacenar libros digitales y está diseñado específicamente para dispositivos móviles con poco ancho de banda. Por otro lado, EPUB es ampliamente compatible con todas las plataformas, mientras que MOBI es predominantemente un formato Kindle. Además, la ventaja más significativa es que estos libros electrónicos se crean en un formato que cambia de forma según el dispositivo en el que los lea. En este artículo, vamos a analizar los pasos para convertir MOBI a EPUB utilizando la API REST de .NET.

API de conversión de archivos MOBI

Aspose.Words Cloud se desarrolló para facilitar operaciones como crear, editar, fusionar, dividir, comparar y convertir un documento de Word en la nube. También admite la función de manejar formatos de libros electrónicos, incluidos MOBI y EPUB. El SDK de .NET está disponible para descargar en NuGet y GitHub. Por lo tanto, para usar el SDK, debemos ejecutar el siguiente comando para instalarlo a través de NuGet.

nuget install Aspose.Words-Cloud

En caso de que necesite instalar desde el Administrador de paquetes NuGet, ejecute el siguiente comando:

PM> Install-Package Aspose.Words-Cloud

El siguiente paso importante es crear una cuenta de suscripción gratuita visitando el panel de control de Aspose.Cloud. Utilice su cuenta de GitHub o Google existente o simplemente regístrese mientras crea una nueva cuenta. Inicie sesión en el panel de control y obtenga las credenciales de cliente.

Convertir MOBI a EPUB en C#

Visite los siguientes detalles para realizar la conversión del formato MOBI a EPUB utilizando el fragmento de código C# .NET.

  • Cree un objeto de configuración mientras proporciona los detalles del ID y el secreto del cliente.
  • En segundo lugar, cree una instancia de la clase WordsApi que tome un objeto de configuración como argumento.
  • En tercer lugar, inicialice un objeto de la clase UploadFileRequest que tome la instancia del flujo de archivo MOBI de entrada como argumento.
  • Ahora cargue el archivo de entrada al almacenamiento en la nube utilizando el método UploadFile(..) de WordsApi.
  • El siguiente paso es crear un objeto de GetDocumentWithFormatRequest mientras se proporciona un archivo de entrada, el formato resultante y los nombres de los archivos resultantes son argumentos.
  • Por último, llama al método GetDocumentWithFormat(..) para realizar la operación de conversión. El archivo de salida se guarda en el almacenamiento en la nube.
// Obtenga ClientID desde https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// Cree una instancia de Configuración mientras proporciona sus credenciales de Cliente
var config = new Configuration{ ClientId = clientID, ClientSecret = clientSecret };

// Inicializar la instancia WordsApi usando el argumento de configuración
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))
    {
        // Crear una instancia de solicitud de carga de archivos
        var uploadFileRequest = new UploadFileRequest(inputStream, inputFile);
        // Subir archivo MOBI al almacenamiento en la nube
        wordsApi.UploadFile(uploadFileRequest);

        // Crear una instancia de DocumentWithFormatRequest usando un archivo de entrada y un formato de salida
        // y el nombre del archivo EPUB resultante como argumentos
        var response = new GetDocumentWithFormatRequest(inputFile, format, null, null, null, null, resultant);
        
        // Iniciar la operación de conversión de documentos
        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);
} 
Vista previa de Mobi a EPUB

Imagen 1:- Vista previa de conversión de MOBI a EPUB.

Los archivos de muestra utilizados en el ejemplo anterior se pueden descargar de famouspaintings.mobi y converted.epub.

Conversión de MOBI a EPUB mediante el comando cURL

También podemos usar los comandos cURL para acceder a la API de Aspose.Words Cloud. Ahora, como requisito previo, primero debemos generar un token web JSON (JWT) basado en los detalles de ClientID y ClientSecret recuperados del panel de Aspose.Cloud. Ejecute el siguiente comando en la terminal para generar el token 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"

Ahora que tenemos el token de acceso JWT, necesitamos cargar el archivo MOBI de entrada al almacenamiento en la nube mediante el siguiente comando. Si el contenido es multiparte y no proporcionamos el nombre del archivo, intenta obtenerlo a partir del parámetro de nombre de archivo del encabezado 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":{}}

Por último, ejecute el siguiente comando para convertir MOBI a EPUB y guardar el archivo resultante en el almacenamiento en la nube.

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

Conclusión

En este blog, hemos explorado las posibilidades de convertir archivos MOBI de Kindle al formato EPUB mediante C# .NET. También hemos aprendido los pasos para desarrollar un lector de archivos MOBI mediante comandos cURL. La API también se puede probar mediante la interfaz swagger.

Tenga en cuenta que todos nuestros SDK de la nube se distribuyen bajo una licencia MIT, por lo tanto, el fragmento de código completo para Aspose.Words Cloud SDK para .NET se puede descargar desde GitHub. En caso de que tenga problemas o consultas mientras usa la API, no dude en comunicarse con nosotros a través del Foro de soporte técnico gratuito del producto.

Artículos relacionados

También recomendamos visitar los siguientes enlaces para conocer más sobre: