Convertir ICS a otros formatos

Convertir ICS a EML

Para la representación de un evento de calendario o cita, Aspose.Email tiene la clase Appointment. El siguiente fragmento de código demuestra el proceso de conversión de ICS a EML:

  1. Cargar el archivo ICS a convertir usando el método Calendar.Appointment.Load.
  2. Crear un nuevo objeto MailMessage para contener los datos del calendario.
  3. Agregar la cita del archivo ICS al EML como una vista alternativa usando el método RequestApointment().
  4. Guardar el archivo EML con los datos convertidos utilizando el método Save con las opciones EmlSaveOptions especificando el tipo de guardado como EmlFormat.
// cargar el archivo ICS a convertir
var ics = Calendar.Appointment.Load("Mi Archivo.ics");
// crear un EML
var eml = new MailMessage();
// agregar cita al EML
eml.AlternateViews.Add(ics.RequestApointment());
// guardar el EML
eml.Save("Archivo Guardado.eml", new EmlSaveOptions(MailMessageSaveType.EmlFormat));

Convertir ICS a EMLX

Para convertir un archivo ICS a formato EMLx, siga las instrucciones del artículo Convertir ICS a EML y guarde el archivo .emlx como se muestra en la siguiente línea de código:

// guardar como un EMLX
eml.Save("Archivo Guardado.emlx", new EmlSaveOptions(MailMessageSaveType.EmlxFormat));

Convertir ICS a HTML

El siguiente fragmento de código demuestra el proceso de conversión:

  1. Cargar el archivo ICS a convertir usando el método Calendar.Appointment.Load.
  2. Crear un nuevo objeto MailMessage para contener los datos del calendario.
  3. Agregar la cita del archivo ICS al EML como una vista alternativa usando el método RequestApointment().
  4. Guardar el archivo EML con los datos convertidos utilizando el método Save con las opciones HtmlSaveOptions para proporcionar opciones de formato para el archivo HTML guardado. En este caso específico, se utiliza HtmlFormatOptions.WriteHeader para incluir el encabezado HTML en el archivo de salida, mientras que HtmlFormatOptions.RenderCalendarEvent se utiliza para renderizar cualquier evento de calendario contenido en el mensaje EML en un formato adecuado para su visualización.
// cargar el archivo ICS a convertir
var ics = Aspose.Email.Calendar.Appointment.Load("Mi Archivo.ics");
// crear un EML
var eml = new MailMessage();
// agregar cita al EML
eml.AlternateViews.Add(ics.RequestApointment());
// guardar EML como un HTML
eml.Save("Archivo Guardado.html", new HtmlSaveOptions { HtmlFormatOptions = HtmlFormatOptions.WriteHeader | HtmlFormatOptions.RenderCalendarEvent });

Utilice otros valores y propiedades de la enumeración HtmlFormatOptions y la clase HtmlSaveOptions para establecer opciones de formato según sea necesario.

Convertir ICS a MBOX

El siguiente fragmento de código demuestra el proceso de conversión de ICS a MBOX. Carga un archivo ICS, crea un mensaje EML, agrega los detalles de la cita desde el archivo ICS al mensaje EML y luego escribe el mensaje EML en un archivo de almacenamiento MBOX.

  1. Cargar el archivo ICS a convertir usando el método Calendar.Appointment.Load.
  2. Crear un nuevo objeto MailMessage para contener los datos del calendario.
  3. Agregar la cita del archivo ICS al EML como una vista alternativa usando el método RequestApointment().
  4. Crear un nuevo objeto MboxrdStorageWriter.
  5. Agregar el mensaje EML al almacenamiento escribiendo el contenido del mensaje en formato MBOX en el archivo MBOX especificado.
// cargar el archivo ICS a convertir
var ics = Aspose.Email.Calendar.Appointment.Load("Mi Archivo.ics");
// crear un EML
var eml = new MailMessage();
// agregar cita al EML
eml.AlternateViews.Add(ics.RequestApointment());
// crear un almacenamiento MBOX
using var mboxStorage = new MboxrdStorageWriter("Archivo Guardado.mbox", false);
// agregar EML al almacenamiento MBOX
mboxStorage.WriteMessage(eml);

Convertir ICS a MHTML

El siguiente fragmento de código demuestra la representación de todos estos pasos en el proceso de conversión utilizando la biblioteca Aspose.Email para .NET:

  1. Cargar el archivo ICS a convertir usando el método Calendar.Appointment.Load.
  2. Crear un nuevo objeto MailMessage para contener los datos convertidos.
  3. Agregar la cita del archivo ICS al EML como una vista alternativa usando el método RequestApointment().
  4. Guardar el archivo EML con los datos convertidos utilizando el método Save con MhtSaveOptions para proporcionar opciones de guardado para el archivo MHTML. En este caso específico, se utiliza MhtFormatOptions.WriteHeader para incluir el encabezado del mensaje de correo electrónico en el archivo de salida, mientras que MhtFormatOptions.RenderCalendarEvent se utiliza para renderizar cualquier evento de calendario contenido en el mensaje EML en un formato adecuado para su visualización.
// cargar el archivo ICS a convertir
var ics = Aspose.Email.Calendar.Appointment.Load("Mi Archivo.ics");
// crear un EML
var eml = new MailMessage();
// agregar cita al EML
eml.AlternateViews.Add(ics.RequestApointment());
// guardar EML como un MHTML
eml.Save("Archivo Guardado.mht", new MhtSaveOptions { MhtFormatOptions = MhtFormatOptions.WriteHeader | MhtFormatOptions.RenderCalendarEvent });

Este enfoque asegura que el archivo MHTML convertido retenga los detalles y el formato del evento del calendario, permitiendo un intercambio y visualización eficientes a través de diversas plataformas y clientes de correo electrónico.

Siéntase libre de usar otros valores y propiedades de la enumeración MhtFormatOptions y de la clase MhtSaveOptions para establecer opciones de formato según sea necesario.

Convertir ICS a MSG

Convertir archivos ICS (iCalendar) a formato MSG es razonable para una mejor compatibilidad con Microsoft Outlook, ya que los archivos MSG se utilizan comúnmente para almacenar mensajes de correo electrónico, citas y otros datos relacionados con Outlook. El siguiente fragmento de código demuestra cómo cargar un archivo ICS, manipular su contenido y guardarlo como un archivo MSG sin perder ningún dato o formato:

  1. Cargar el archivo ICS usando Calendar.Appointment.Load() y crear un objeto Appointment a partir de los datos del calendario almacenados en el archivo.
  2. Llamar al método Save en el objeto Appointment para convertir y guardar los datos de la cita cargada del archivo ICS en un archivo MSG en la ubicación especificada.
// cargar el archivo ICS a convertir
// guardar ICS como un MSG
Aspose.Email.Calendar.Appointment.Load("Mi Archivo.ics").Save("Archivo Guardado.msg", AppointmentSaveFormat.Msg);

Convertir ICS a OFT

El proceso implica cargar archivos ICS y guardarlos como archivos MSG con una posterior conversión a formato OFT:

  1. Crear un nuevo objeto de flujo para almacenar los datos de la cita en memoria.
  2. Cargar los datos de la cita desde el archivo ICS. Guardar los datos de la cita en el objeto de flujo en formato MSG usando el método Save().
  3. Cargar los datos de la cita desde el flujo creando un nuevo objeto MapiMessage usando el método MapiMessage.Load().
  4. Guardar los datos del MapiMessage cargado como un archivo de plantilla de Outlook utilizando el método Save() con las opciones de formato proporcionadas SaveOptions.DefaultOft.
// cargar el archivo ICS a convertir
// guardar ICS como un MSG
using var msgStream = new MemoryStream();
Aspose.Email.Calendar.Appointment.Load("Mi Archivo.ics").Save(msgStream, AppointmentSaveFormat.Msg);
// guardar MSG como un OFT
MapiMessage.Load(ms).Save("Archivo Guardado.oft", SaveOptions.DefaultOft);

Convertir ICS a OST

Aspose.Email proporciona funcionalidad para cargar un archivo ICS, guardarlo como un archivo MSG, luego abrir un archivo OST, acceder a las carpetas del calendario dentro del archivo y agregar fácilmente archivos MSG a la carpeta del calendario:

  1. Crear un flujo para almacenar los datos de la cita.
  2. Cargar los datos de la cita desde un archivo ICS usando el método Appointment.Load() y guardarlo en el flujo en formato MSG con el método Appointment.Save.
  3. Cargar el archivo de almacenamiento personal usando el método FromFile de la clase PersonalStorage.
  4. Recuperar la carpeta del calendario del archivo de Almacenamiento Personal usando el método PersoanlStorage.GetPredefinedFolder .
  5. Usar el método FolderInfo.AddMessage para agregar el mensaje de cita a la carpeta de calendario en el archivo OST.
// cargar el archivo ICS a convertir
// guardar ICS como un MSG
using var msgStream = new MemoryStream();
Aspose.Email.Calendar.Appointment.Load("Mi Archivo.ics").Save(msgStream, AppointmentSaveFormat.Msg);
// abrir un archivo OST
using var pst = PersonalStorage.FromFile("Archivo Guardado.ost");
// obtener una carpeta de calendario
var calendarFolder = pst.GetPredefinedFolder(StandardIpmFolder.Appointments);
// agregar MSG a la carpeta de calendario
calendarFolder.AddMessage(MapiMessage.Load(msgStream));

Convertir ICS a PST

El siguiente fragmento de código demuestra el proceso de conversión:

  1. Crear un flujo para contener los datos de la cita.
  2. Cargar los datos de la cita desde un archivo ICS usando el método Appointment.Load() y guardarlo en el flujo en formato MSG con el método Appointment.Save.
  3. Crear un nuevo archivo PST con el nombre del archivo usando el método PersonalStorage.Create.
  4. Crear una carpeta de calendario dentro del archivo PST para almacenar citas usando el método CreatePredefinedFolder.
  5. Agregar el mensaje de cita a la carpeta de calendario dentro del archivo PST usando el método FolderInfo.AddMessage .
// cargar el archivo ICS a convertir
// guardar ICS como un MSG
using var msgStream = new MemoryStream();
Aspose.Email.Calendar.Appointment.Load("Mi Archivo.ics").Save(msgStream, AppointmentSaveFormat.Msg);
// crear un archivo PST
using var pst = PersonalStorage.Create("Archivo Guardado.pst", FileFormatVersion.Unicode);
// crear una carpeta de calendario
var calendarFolder = pst.CreatePredefinedFolder("Calendario", StandardIpmFolder.Appointments);
// agregar MSG a la carpeta de calendario
calendarFolder.AddMessage(MapiMessage.Load(msgStream));