Gravar saída em ZIP

Salve o resultado da conversão do arquivo TeX como ZIP via C++

 

TeX é uma linguagem de marcação de dados e o núcleo do sistema de composição de computador, também conhecido como sistema de conjunto de publicações. Embora seja frequentemente referido como um formato de arquivo, na verdade é uma linguagem de programação e um mecanismo de interpretação usado para criar documentos matemáticos, técnicos e outros documentos complexos. No entanto, uma vez criado um arquivo, pode ser necessário convertê-lo para um formato mais popular para poder usar o resultado em qualquer dispositivo e plataforma.

Aspose.TeX API Solution oferece um recurso para converter arquivos TeX e salvar o resultado como um arquivo ZIP. O trecho de código fornecido aqui mostra como converter um arquivo TeX em PDF e salvar a saída como um arquivo zip. O conversor de API pode transformar arquivos TeX em linguagem C++ e pode ser usado para criar um aplicativo multiplataforma ou ser integrado ao seu projeto C++.

Para executar os exemplos, você precisará do Aspose.TeX para C++ API, uma ferramenta de manipulação e conversão de documentos rica em recursos e fácil de usar para a plataforma C++. Você pode instalar a API Aspose.TeX procurando por ela no gerenciador de pacotes NuGet ou usando o comando Install-Package Aspose.TeX no console do gerenciador de pacotes.

Package Manager Console Command


    PM> Install-Package Aspose.TeX

O código aqui está convertendo um arquivo TeX e salvando-o como PDF em um arquivo ZIP. Siga as próximas etapas para processar essa conversão:

  1. Crie uma instância da classe [TeXOptions]( https://reference.aspose.com/tex/cpp/aspose.tex/texoptions/ . Use-o para especificar um diretório de trabalho de arquivo ZIP para a saída usando a propriedade OutputWorkingDirectory.
  2. Especifique o console como o terminal de saída usando a classe OutputConsoleTerminal .
  3. Defina as opções para salvar a saída usando a classe PdfSaveOptions .
  4. Execute a conversão de TeX para PDF usando o método TeXJob para PdfDevice.
  5. Refine a saída.
  6. Finalize o arquivo ZIP de saída usando a classe OutputZipDirectory . O código usa um bloco try-catch para lidar com quaisquer exceções que possam ocorrer durante o processo.

Código C++ para usar diretórios ZIP para saída

    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 O que é TeX Formato de Arquivo

TeX não é realmente um formato. É ao mesmo tempo uma linguagem de programação e também um mecanismo de interpretação que entende essa linguagem. Um arquivo TeX é um documento criado em LaTeX. Este documento pode incluir gráficos, tabelas, símbolos, listas, fórmulas e equações.