Látex a XPS | Aspose.TeX para .NET
Otro formato de destino es XPS. Un archivo XPS es físicamente un paquete ZIP que contiene el contenido paginado de un documento, junto con los metadatos necesarios para que visores específicos (como Windows XPS Viewer) lo muestren correctamente y lo impriman. Todos los datos de un paquete están representados por archivos. Algunos de ellos son binarios y contienen recursos como imágenes, fuentes y perfiles ICC. Otros son archivos XML en varios esquemas específicos. Estos últimos incluyen archivos que contienen los datos del documento en sí. Los datos del documento constan de un conjunto de archivos: cada archivo contiene datos para una página individual del documento. Dichos archivos constan de un único elemento de página y un árbol de elementos secundarios: Canvas, Path y Glyphs. Canvas es un elemento de agrupación que puede contener otros Canvases, Paths y Glyphs. Sirve para controlar la apariencia de todos los elementos secundarios como grupo. Los elementos Path se utilizan para definir rutas de gráficos vectoriales. Y los elementos Glifos se utilizan para definir el contenido textual. Los tres elementos tienen propiedades para definir varios aspectos de la apariencia.
Existe la biblioteca Aspose.Page que proporciona una API para manipular documentos XPS, así como convertirlos a formatos PDF y de imágenes rasterizadas.
Cómo convertir LaTeX a XPS
La conversión de LaTeX a XPS es tan simple como la conversión a formatos de imagen rasterizada, excepto que SaveOptions DEBE establecerse en una instancia de clase XpsSaveOptions (de forma predeterminada o explícitamente) y el dispositivo DEBE cambiarse a una instancia de la clase XpsDevice.
1// Create conversion options instance.
2...
3// Initialize the options for saving in XPS format.
4options.SaveOptions = new XpsSaveOptions(); // Default value. Arbitrary assignment.
5// Run LaTeX to XPS conversion.
6new TeXJob(Path.Combine(RunExamples.InputDirectory, "sample.ltx"), new XpsDevice(), options).Run();
Una forma alternativa de escribir el archivo XPS de salida principal
Hay otro constructor de la clase XpsDevice, que nos permite obtener el archivo XPS resultante de una forma alternativa.
1// Create the stream to write the XPS file to.
2using (Stream xpsStream = File.Open(Path.Combine(RunExamples.OutputDirectory, "any-name.xps"), FileMode.Create))
3{
4 // Create conversion options for Object LaTeX format upon Object TeX engine extension.
5 ...
6 // Initialize the options for saving in XPS format.
7 options.SaveOptions = new XpsSaveOptions(); // Default value. Arbitrary assignment.
8 // Run LaTeX to XPS conversion.
9 new TeXJob(Path.Combine(RunExamples.InputDirectory, "hello-world.ltx"), new XpsDevice(xpsStream), options).Run();
10}
El efecto es el mismo que obtenemos aquí.
También puede consultar la aplicación web gratuita de conversión de LaTeX a XPS creada en base a Aspose.TeX para .NET API.