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 é um sistema de composição tipográfica e uma linguagem de programação que permite criar documentos de alta qualidade, especialmente com fórmulas matemáticas. Arquivos .tex são texto simples processados por motores TeX (pdfTeX, XeTeX, LuaTeX) para gerar PDF ou DVI.