TeX formatado com ZIP I/O
Converta TeX em PDF usando arquivos ZIP como entrada e saída. API para C++
A linguagem TeX é uma ferramenta de composição para criar documentos profissionais sem se preocupar com a formatação. Aspose.TeX oferece a você uma solução de API para C++ que é uma biblioteca flexível e fácil de usar para compor arquivos TeX e LaTeX.
O TeX é um sistema poderoso e avançado, mas seu formato nativo não é amplamente utilizado fora dos círculos acadêmicos e científicos. O PDF, por outro lado, é um formato portátil que pode ser facilmente visualizado na maioria dos dispositivos e é mais amplamente aceito. A capacidade de ler PDF está presente em todos os dispositivos, na maioria dos navegadores modernos. A conversão de TeX para PDF permite que os documentos sejam compartilhados com um público maior e fornece um formato mais acessível para aqueles sem software especializado. Além disso, o PDF oferece várias vantagens sobre o TeX, como melhor renderização de fonte, suporte para interatividade e gerenciamento mais fácil do tamanho e layout da página.
A API possibilita a separação dos diretórios de entrada e saída, oferecendo a interface IOutputWorkingDirectory para customização da saída pelo usuário. Tem suas próprias implementações. Essa interface estende IInputWorkingDirectory, pois o mecanismo pode exigir a gravação em um arquivo antes de lê-lo. O método GetOutputFile() da interface retorna o fluxo para gravação, em vez do fluxo de leitura fornecido por GetFile().
Package Manager Console Command
PM> Install-Package Aspose.TeX.Cpp
No código abaixo, colocaremos os arquivos de entrada em um arquivo ZIP e o consideraremos um diretório de entrada e criaremos um arquivo (ou stream) e deixaremos o mecanismo TeX usá-lo como um arquivo ZIP para armazenar os arquivos de saída. Siga a orientação:
- Abra um fluxo em um arquivo ZIP que servirá como diretório de trabalho de entrada.
- Crie opções de composição para o formato ObjectTeX padrão na extensão do mecanismo ObjectTeX.
- Especifique um diretório de trabalho de arquivo ZIP para entrada e saída usando InputZipDirectory e OutputZipDirectory Classes.
- Especifique o console como um terminal de saída.
- Usando a classe PdfSaveOptions crie e especifique as opções de salvamento.
- Execute a conversão.
- Refine a saída.
- Finalize o arquivo ZIP de saída.
Código C++ para converter TeX em PDF com entrada e saída ZIP
using Aspose::TeX::IO;
using Aspose::TeX::Presentation::Pdf;
// 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 the '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 the 'using' statement
System::Details::DisposeGuard<1> __dispose_guard_0({ outZipStream });
try
{
// Create typesetting options for the default Object TeX format on the Object TeX 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 console as output terminal.
options->set_TerminalOut(System::MakeObject<OutputConsoleTerminal>());
// Create and specify saving options.
options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());
// Run the typesetting job.
System::MakeObject<Aspose::TeX::TeXJob>(u"hello-world", System::MakeObject<PdfDevice>(), options)->Run();
// 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. Posso digitar documentos TeX usando um arquivo ZIP como entrada?
Aspose.TeX suporta a leitura de arquivos de origem TeX de arquivos compactados como arquivos ZIP. Você pode incluir todos os arquivos necessários, incluindo arquivos de origem TeX, imagens e recursos adicionais, em um arquivo ZIP e, em seguida, especificar o arquivo ZIP como entrada para o compilador LaTeX. Isso permite a organização e distribuição conveniente de projetos LaTeX, especialmente ao lidar com documentos grandes ou complexos com múltiplas dependências.
2. Há alguma vantagem em usar arquivos ZIP para composição de documentos TeX?
Sim, usar arquivos ZIP para composição de documentos TeX oferece várias vantagens. Em primeiro lugar, os arquivos ZIP fornecem uma maneira conveniente de empacotar e organizar vários arquivos associados a um projeto LaTeX, incluindo arquivos fonte TeX, bibliografias, imagens e arquivos de estilo, em um único arquivo compactado. Isso simplifica a distribuição e o compartilhamento de documentos LaTeX, especialmente ao colaborar com outras pessoas ou compartilhar projetos on-line.
3. Como compor arquivos TeX?
Para compor arquivos TeX usando a solução API Aspose.TeX, você precisa criar opções de conversão para o formato Object TeX ou Object LaTeX com base na extensão do mecanismo Object TeX. Em seguida, especifique um diretório de trabalho do sistema de arquivos para a saída. Por fim, crie uma instância da classe TeXJob e execute o processo de composição usando o método TeXJob.Run().
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.