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 . Ú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());
        }
    }



Preguntas más frecuentes

1. ¿Cómo veo la salida TeX?

Para abrir un archivo TeX y poder ver el resultado de la composición tipográfica, utilice el multiplataforma TeX Viewer . También le permite guardar el archivo como imágenes.

2. ¿Puedo escribir la salida TeX en un archivo ZIP?

Sí, esta solución API proporciona dicha funcionalidad. Necesitará la clase OutputZipDirectory, que implementa un método para obtener una secuencia de archivos en la que escribir cuando el directorio de trabajo es un archivo ZIP.

3. ¿Cómo escribir salida TeX en un archivo ZIP?

Cree una instancia de la clase TeXOptions. Luego especifique un directorio de trabajo de archivo ZIP para la salida. Especifique las opciones de guardado y ejecute la conversión. Finalmente, finalice la escritura del resultado en un archivo ZIP llamando al método Finish().

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.