Um arquivo TeX pode conter texto, símbolos ou expressões aritméticas. Eles são usados para compor os documentos e você pode compor a entrada TeX para PDF, XPS e vários outros formatos suportados. Neste artigo, você aprenderá como converter arquivos TeX para PDF ou XPS programaticamente usando C#. As seções a seguir explicam o tópico em detalhes:
- Conversor TeX para PDF ou XPS – Instalação da API C#
- Converter TeX (LaTeX) para PDF programaticamente usando C#
- Diretório TeX ZIP para PDF Conversão de diretório ZIP usando C#
- Converter LaTeX (TeX) para arquivo XPS programaticamente usando C#
- Obtenha licença de API gratuita
Conversor TeX para PDF ou XPS – Instalação da API C#
A API Aspose.TeX for .NET foi projetada para compor arquivos TeX para diferentes formatos de arquivo como PDF, XPS ou imagens. Você pode configurar rapidamente a API baixando o arquivo DLL da seção Downloads, ou pode instalá-lo em NuGet com o seguinte comando de instalação:
PM> Install-Package Aspose.TeX
Converter TeX (LaTeX) para PDF programaticamente usando C#
Você pode converter o arquivo TeX para PDF com as etapas abaixo:
- Crie opções de composição para o formato padrão ObjectTeX.
- Especifique o console ou o fluxo de memória como um terminal de saída.
- Defina opções para renderização em formato PDF.
- Chame o construtor de classe TexJob e salve o PDF de saída com o objeto de classe PdfDevice.
O trecho de código a seguir explica como converter TeX para arquivo PDF programaticamente usando C#:
String dataDir = @"D:\test\";
// Crie opções de composição para o formato padrão do ObjectTeX.
TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectTeX());
// Especifique um diretório de trabalho do sistema de arquivos para entrada.
options.InputWorkingDirectory = new InputFileSystemDirectory(dataDir);
// Especifique um diretório de trabalho do sistema de arquivos para saída.
options.OutputWorkingDirectory = new OutputFileSystemDirectory(dataDir);
// Especifique o fluxo de memória como terminal de saída.
options.TerminalOut = new OutputMemoryTerminal();
// Defina opções para renderização em formato PDF.
options.SaveOptions = new PdfSaveOptions();
// Execute a tipografia.
new TeXJob("hello-world", new PdfDevice(), options);
Os argumentos passados para o construtor da classe TexJob são dignos de nota aqui. O primeiro refere-se ao caminho para o arquivo TeX de entrada, o segundo é do tipo Device enquanto o terceiro refere-se a TexOptions.
Converta o diretório ZIP do TeX para o diretório ZIP do PDF usando C#
Você pode precisar converter vários arquivos TeX para PDF de uma vez. Nesses casos, você pode converter o arquivo TeX em um arquivo ZIP para um documento PDF em formato compactado. Você precisa seguir os passos abaixo:
- Abra fluxos em arquivos ZIP como o diretório de trabalho de entrada e saída.
- Crie opções de composição usando o objeto de classe TeXOptions.
- Crie e especifique opções de salvamento com PdfSaveOptions.
- Execute a composição com o construtor da classe TexJob.
O código abaixo explica como converter o arquivo ZIP TeX em arquivo ZIP PDF programaticamente usando C#:
String dataDir = @"D:\test\";
// Abra um fluxo em um arquivo ZIP que servirá como diretório de trabalho de entrada.
using (Stream inZipStream = File.Open(Path.Combine(dataDir, "zip-in.zip"), FileMode.Open))
// Abra um fluxo em um arquivo ZIP que servirá como diretório de trabalho de saída.
using (Stream outZipStream = File.Open(Path.Combine(dataDir, "terminal-out-to-zip.zip"), FileMode.Create))
{
// Crie opções de composição para o formato padrão do ObjectTeX na extensão do mecanismo ObjectTeX.
TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectTeX());
// Especifique o nome do trabalho.
options.JobName = "terminal-output-to-zip";
// Especifique um diretório de trabalho do arquivo ZIP para entrada.
options.InputWorkingDirectory = new InputZipDirectory(inZipStream, "in");
// Especifique um diretório de trabalho do arquivo ZIP para saída.
options.OutputWorkingDirectory = new OutputZipDirectory(outZipStream);
// Especifique que a saída do terminal deve ser gravada em um arquivo no diretório de trabalho de saída.
options.TerminalOut = new OutputFileTerminal(options.OutputWorkingDirectory);
// Crie e especifique opções de salvamento.
options.SaveOptions = new PdfSaveOptions();
// Execute a tipografia.
new TeXJob("hello-world", new PdfDevice(), options);
// Finalize o arquivo ZIP de saída.
((OutputZipDirectory)options.OutputWorkingDirectory).Finish();
}
Converter TeX (LaTeX) para arquivo XPS programaticamente usando C#
Você pode converter o arquivo TeX para XPS com as seguintes etapas:
- Crie opções de composição na extensão do mecanismo ObjectTeX.
- Especifique um diretório de trabalho do sistema de arquivos para entrada e saída.
- Converta TeX para XPS executando Typesetting com XpsDevice.
O código a seguir mostra como converter o arquivo TeX para XPS programaticamente usando C#:
String dataDir = @"D:\test\";
// Crie opções de composição para o formato padrão do ObjectTeX na extensão do mecanismo ObjectTeX.
TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectTeX());
// Especifique um diretório de trabalho do sistema de arquivos para entrada.
options.InputWorkingDirectory = new InputFileSystemDirectory(dataDir);
// Especifique um diretório de trabalho do sistema de arquivos para saída.
options.OutputWorkingDirectory = new OutputFileSystemDirectory(dataDir);
// Especifique o console como terminal de saída.
options.TerminalOut = new OutputConsoleTerminal();
// Executar composição
new TeXJob("hello-world", new XpsDevice(), options);
Obtenha licença de API gratuita
Você pode avaliar a API com acesso total solicitando uma Licença Temporária Gratuita.
Conclusão
Neste artigo, você explorou como converter arquivos TeX em arquivos PDF ou XPS programaticamente usando C#. Além disso, você também aprendeu como converter um arquivo TeX em um arquivo ZIP e criar um diretório ZIP de saída. Você pode dar uma olhada em vários outros recursos visitando a API Documentação. Sinta-se à vontade para entrar em contato conosco no Fórum de suporte gratuito em caso de dúvidas.