Escribir salida en 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, también conocido como sistema de publicación. Si bien a menudo se lo denomina formato de archivo, en realidad es un lenguaje de programación y un motor de interpretación 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.

Aspose.TeX API Solution 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 el resultado 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 de Aspose.TeX para C++, una herramienta de manipulación y conversión de documentos rica en funciones y fácil de usar para la plataforma C++. Puede instalar la API de Aspose.TeX buscándola en el administrador de paquetes NuGet o usando 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í es convertir un archivo TeX y guardarlo como PDF en un archivo ZIP. Realice los siguientes pasos para procesar dicha conversión:

  1. Cree una instancia de la clase [TeXOptions]( https://reference.aspose.com/tex/cpp/aspose.tex/texoptions/ . Úselo para especificar un directorio de trabajo de archivo ZIP para la salida usando la propiedad OutputWorkingDirectory.
  2. Especifique la consola como terminal de salida mediante la clase OutputConsoleTerminal .
  3. Defina las opciones para guardar la salida usando la clase PdfSaveOptions .
  4. Ejecute la conversión de TeX a PDF utilizando el método TeXJob para PdfDevice.
  5. Refinar la salida.
  6. Finalice el archivo ZIP de salida usando la clase OutputZipDirectory . El código usa 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 Qué es TeX Formato de archivo

TeX no es en realidad un formato. Es a la vez un lenguaje de programación y también un motor de interpretación que entiende este lenguaje. Un archivo TeX es un documento creado en LaTeX. Este documento puede incluir gráficos, tablas, símbolos, listas, fórmulas y ecuaciones.