Escribir la salida a ZIP
Guarde el resultado de la conversión de archivos TeX como ZIP a través de C++
TeX es un lenguaje de marcado de datos y el núcleo del sistema de composición tipográfica por computadora también conocido como sistema de publicación. Aunque a menudo se le denomina formato de archivo, en realidad es un lenguaje de programación y un motor intérprete que se utiliza para crear documentos matemáticos, técnicos y otros documentos complejos. Sin embargo, una vez que se crea un archivo, puede ser necesario convertirlo a un formato más popular para poder usar el resultado en cualquier dispositivo y plataforma.
La solución API Aspose.TeX ofrece una función para convertir archivos TeX y guardar el resultado como un archivo ZIP. El fragmento de código proporcionado aquí muestra cómo convertir un archivo TeX a PDF y guardar la salida como un archivo zip. El convertidor API puede transformar archivos TeX en lenguaje C++ y puede usarse para crear una aplicación multiplataforma o integrarse en su proyecto C++.
Para ejecutar los ejemplos, necesitará la API Aspose.TeX para C++, una herramienta de conversión y manipulación de documentos rica en funciones y fácil de usar para la plataforma C++. Puede instalar la API Aspose.TeX buscándola en el administrador de paquetes NuGet o utilizando el comando Install-Package Aspose.TeX en la Consola del Administrador de Paquetes.
Package Manager Console Command
PM> Install-Package Aspose.TeX
El código aquí está convirtiendo un archivo TeX y guardándolo como un PDF en un archivo ZIP. Siga los siguientes pasos para procesar dicha conversión:
- Cree una instancia de la clase TeXOptions . Úsela para especificar un directorio de trabajo de archivo ZIP para la salida utilizando la propiedad OutputWorkingDirectory.
- Especifique la consola como terminal de salida utilizando la clase OutputConsoleTerminal .
- Defina las opciones para guardar la salida utilizando la clase PdfSaveOptions .
- Ejecute la conversión de TeX a PDF utilizando el método TeXJob para PdfDevice.
- Refine la salida.
- Finalice el archivo ZIP de salida utilizando la clase OutputZipDirectory . El código utiliza un bloque try-catch para manejar cualquier excepción que pueda ocurrir durante el proceso.
Código C++ para usar directorios ZIP para la salida
using Aspose::TeX::IO;
using Aspose::TeX::Presentation::Pdf;
using System::IO; // Open a stream on a ZIP archive that will serve as the input working directory.
{
System::SharedPtr<System::IO::Stream> inZipStream = System::IO::File::Open(System::IO::Path::Combine(RunExamples::InputDirectory, u"zip-in.zip"), System::IO::FileMode::Open);
// Clearing resources under 'using' statement
System::Details::DisposeGuard<1> __dispose_guard_1({ inZipStream});
// ------------------------------------------
try{
System::SharedPtr<System::IO::Stream> outZipStream = System::IO::File::Open(System::IO::Path::Combine(RunExamples::OutputDirectory, u"zip-pdf-out.zip"), System::IO::FileMode::Create);
// Clearing resources under 'using' statement
System::Details::DisposeGuard<1> __dispose_guard_0({ outZipStream});
// ------------------------------------------
try
{
// Create typesetting options for default ObjectTeX format on ObjectTeX engine extension.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());
// Specify a ZIP archive working directory for the input.
options->set_InputWorkingDirectory(System::MakeObject<InputZipDirectory>(inZipStream, u"in"));
// Specify a ZIP archive working directory for the output.
options->set_OutputWorkingDirectory(System::MakeObject<OutputZipDirectory>(outZipStream));
// Specify the console as an output terminal.
options->set_TerminalOut(System::MakeObject<OutputConsoleTerminal>());
// Default. Not necessary to specify.
// Create and specify saving options.
options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());
// Run typesetting.
Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<PdfDevice>(), options);
// For the consequent output to look right.
options->get_TerminalOut()->get_Writer()->WriteLine();
// Finalize the output ZIP archive.
(System::DynamicCast<Aspose::TeX::IO::OutputZipDirectory>(options->get_OutputWorkingDirectory()))->Finish();
}
catch(...)
{
__dispose_guard_0.SetCurrentException(std::current_exception());
}
}
catch(...)
{
__dispose_guard_1.SetCurrentException(std::current_exception());
}
}TeX What is TeX File Format
TeX es un sistema de composición tipográfica y un lenguaje de programación que permite crear documentos de alta calidad, especialmente con fórmulas matemáticas. Los archivos .tex son texto plano que procesan motores como pdfTeX, XeTeX o LuaTeX para generar salidas como PDF o DVI.