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



Perguntas frequentes

1. Como posso ver a saída do TeX?

Para abrir um arquivo TeX para que o resultado da composição possa ser visualizado, use o TeX Viewer multiplataforma. Também permite salvar o arquivo como imagens.

2. Posso gravar a saída do TeX em um arquivo ZIP?

Sim, esta solução API fornece essa funcionalidade. Você precisará da classe OutputZipDirectory, que implementa um método para obter um fluxo de arquivo para gravação quando o diretório de trabalho for um arquivo ZIP.

3. Como gravar a saída do TeX em um arquivo ZIP?

Crie uma instância da classe TeXOptions. Em seguida, especifique um diretório de trabalho do arquivo ZIP para a saída. Especifique as opções de salvamento e execute a conversão. Por fim, finalize a gravação da saída em um arquivo ZIP chamando o método Finish().

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.