Convertir EPUB a DOCX en C#
DOCX es un formato muy conocido para documentos de Microsoft Word. Este formato es popular porque admite una amplia gama de funciones de formato y ofrece a los usuarios una variedad de opciones para escribir cualquier tipo de documento. Los archivos DOCX se pueden abrir con Word 2007 y versiones laterales, pero no con las versiones anteriores de MS Word, que admiten extensiones de archivo DOC. A menudo se requiere la conversión de EPUB a DOCX para aprovechar el formato DOCX para tareas de usuario específicas.
En este artículo, encontrará información sobre cómo convertir EPUB a DOCX usando los métodos ConvertEPUB() de la clase Converter y cómo aplicar DocSaveOptions y ICreateStreamProvider parámetros.
Convertidor EPUB en línea
Puede convertir EPUB a otros formatos con Aspose.HTML for .NET API en tiempo real. Primero, cargue un archivo EPUB desde su disco local y luego ejecute el ejemplo. Las opciones de guardar en el ejemplo están configuradas de forma predeterminada. Recibirá inmediatamente el resultado de la conversión como un archivo separado.
Si desea convertir EPUB a DOCX mediante programación, consulte los siguientes ejemplos de código C#.
EPUB a DOCX por dos líneas de código
Los métodos estáticos de la clase Converter se utilizan principalmente como la forma más sencilla de convertir un archivo EPUB a varios formatos. Por ejemplo, puede convertir EPUB a DOCX en su aplicación C# literalmente con dos líneas de código.
1// Open an existing EPUB file for reading
2using var stream = File.OpenRead(DataDir + "input.epub");
3
4// Invoke the ConvertEPUB() method to convert EPUB to DOCX
5Converter.ConvertEPUB(stream, new DocSaveOptions(), Path.Combine(OutputDir, "convert-by-two-lines.docx"));
Convertir EPUB a DOCX
Para convertir EPUB a DOCX, debes seguir algunos pasos:
- Abra un archivo EPUB existente. En el ejemplo, utilizamos el método OpenRead() de la clase System.IO.FileStream para abrir y leer archivos EPUB del sistema de archivos en la ruta especificada.
- Cree una instancia de la clase DocSaveOptions.
- Utilice el método ConvertEPUB() de la clase Converter para guardar EPUB como un archivo DOCX. Debe pasar la secuencia del archivo EPUB, DocSaveOptions y la ruta del archivo de salida al método ConvertEPUB() para la conversión de EPUB a DOCX.
El siguiente fragmento de código C# muestra cómo convertir EPUB a DOCX usando Aspose.HTML for .NET.
1// Open an existing EPUB file for reading
2using var stream = File.OpenRead(DataDir + "input.epub");
3
4// Prepare a path to save the converted file
5string savePath = Path.Combine(OutputDir, "input-output.docx");
6
7// Create an instance of the DocSaveOptions class
8var options = new DocSaveOptions();
9
10// Call the ConvertEPUB() method to convert EPUB to DOCX
11Converter.ConvertEPUB(stream, options, savePath);
Opciones de guardado – Clase DocSaveOptions
Aspose.HTML for .NET permite convertir EPUB a DOCX usando opciones de guardado predeterminadas o personalizadas. El uso de DocSaveOptions le permite ajustar el proceso de renderizado; puede especificar el tamaño de la página, márgenes, resoluciones, CSS, etc.
Property | Description |
---|---|
FontEmbeddingRule | This property gets or sets the font embedding rule. Available values are Full and None. The default value is None. |
Css | Gets a CssOptions object which is used for configuration of CSS properties processing. |
DocumentFormat | This property gets or sets the file format of the output document. The default value is DOCX. |
PageSetup | This property gets a page setup object and uses it for configuration output page-set. |
HorizontalResolution | Sets horizontal resolution for output images in pixels per inch. The default value is 300 dpi. |
VerticalResolution | Sets vertical resolution for output images in pixels per inch. The default value is 300 dpi. |
Para obtener más información sobre DocSaveOptions, lea el artículo Convertidores de ajuste fino.
Convierta EPUB a DOCX usando DocSaveOptions
Con Aspose.HTML for .NET, puede convertir EPUB a formato DOCX mediante programación con control total sobre una amplia gama de parámetros de conversión. Para convertir EPUB a DOCX con la especificación DocSaveOptions, debe seguir algunos pasos:
- Abra un archivo EPUB existente.
- Cree un nuevo objeto DocSaveOptions y especifique las opciones de guardado requeridas.
- Utilice el método ConvertEPUB() para guardar EPUB como un archivo DOCX. Debe pasar la secuencia del archivo EPUB, DocSaveOptions y la ruta del archivo de salida al método ConvertEPUB() para la conversión de EPUB a DOCX.
El siguiente ejemplo muestra cómo utilizar DocSaveOptions y crear un archivo DOCX con opciones de guardado personalizadas:
1// Open an existing EPUB file for reading
2using var stream = File.OpenRead(DataDir + "input.epub");
3
4// Prepare a path to save the converted file
5string savePath = Path.Combine(OutputDir, "input-options.docx");
6
7// Create an instance of DocSaveOptions. Set A5 as a page-size
8var options = new DocSaveOptions();
9options.PageSetup.AnyPage = new Page(new Aspose.Html.Drawing.Size(Length.FromInches(8.3f), Length.FromInches(5.8f)));
10
11// Call the ConvertEPUB() method to convert EPUB to DOCX
12Converter.ConvertEPUB(stream, options, savePath);
En el ejemplo, utilizamos el método OpenRead() de la clase System.IO.FileStream para abrir y leer archivos fuente del sistema de archivos en la ruta especificada. El constructor
DocSaveOptions() inicializa una instancia de la clase DocSaveOptions que se pasa al método ConvertEPUB(). El método ConvertEPUB() toma la stream
, las options
, la ruta del archivo de salida savePath
y realiza la operación de conversión. La clase DocSaveOptions proporciona numerosas propiedades que le brindan control total sobre una amplia gama de parámetros y mejoran el proceso de conversión de EPUB a formato DOCX. En el ejemplo, utilizamos la propiedad PageSetup que especifica el tamaño de página del documento DOCX.
Proveedores de flujo de salida – Output Stream Providers
Si es necesario guardar archivos en el almacenamiento remoto (por ejemplo, nube, base de datos, etc.), puede implementar la interfaz ICreateStreamProvider para tener control manual sobre el proceso de creación de archivos. Esta interfaz está diseñada como un objeto de devolución de llamada para crear una secuencia al comienzo del documento/página (según el formato de salida) y liberar la secuencia creada inicialmente después de renderizar el documento/página.
Aspose.HTML for .NET proporciona varios tipos de formatos de salida para operaciones de renderizado. Algunos de estos formatos producen un único archivo de salida (por ejemplo, PDF, XPS), otros crean varios archivos (formatos de imagen JPG, PNG, etc.).
El siguiente ejemplo muestra cómo implementar y utilizar su propio MemoryStreamProvider en la aplicación:
1class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider
2{
3 // List of MemoryStream objects created during the document rendering
4 public List<MemoryStream> Streams { get; } = new List<MemoryStream>();
5
6 public Stream GetStream(string name, string extension)
7 {
8 // This method is called when only one output stream is required, for instance for XPS, PDF or TIFF formats
9 MemoryStream result = new MemoryStream();
10 Streams.Add(result);
11 return result;
12 }
13
14 public Stream GetStream(string name, string extension, int page)
15 {
16 // This method is called when the creation of multiple output streams are required. For instance, during the rendering HTML to list of image files (JPG, PNG, etc.)
17 MemoryStream result = new MemoryStream();
18 Streams.Add(result);
19 return result;
20 }
21
22 public void ReleaseStream(Stream stream)
23 {
24 // Here you can release the stream filled with data and, for instance, flush it to the hard-drive
25 }
26
27 public void Dispose()
28 {
29 // Releasing resources
30 foreach (var stream in Streams)
31 stream.Dispose();
32 }
33}
El siguiente fragmento de código demuestra cómo convertir un archivo EPUB en un archivo DOCX utilizando una secuencia de memoria.
1// Create an instance of MemoryStreamProvider
2using var streamProvider = new MemoryStreamProvider();
3
4// Open an existing EPUB file for reading
5using var stream = File.OpenRead(DataDir + "input.epub");
6
7// Prepare a path to save the converted file
8string savePath = Path.Combine(OutputDir, "stream-provider.docx");
9
10// Convert EPUB to DOCX by using the MemoryStreamProvider class
11Converter.ConvertEPUB(stream, new DocSaveOptions(), streamProvider);
12
13// Get access to the memory stream that contains the result data
14var memory = streamProvider.Streams.First();
15memory.Seek(0, SeekOrigin.Begin);
16
17// Flush the result data to the output file
18using (FileStream fs = File.Create(savePath))
19{
20 memory.CopyTo(fs);
21}
Puede descargar los ejemplos completos y los archivos de datos desde GitHub.
Aspose.HTML ofrece un Convertidor de EPUB a DOCX en línea gratuito que convierte EPUB a DOCX con alta calidad, fácil y rápido. ¡Simplemente cargue, convierta sus archivos y obtenga resultados en unos segundos!