Látex para imagem | .NET

Aspose.TeX para .NET nos permite converter arquivos de LaTeX em vários formatos de imagem raster.

Como converter LaTeX para png

Vamos dar uma olhada detalhada no código em C#, fornecendo a maneira mais simples de converter o LATEX em formato PNG.

1// Create conversion options for Object LaTeX format upon Object TeX engine extension.
2TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectLaTeX);
3// Specify a file system working directory for the output.
4options.OutputWorkingDirectory = new OutputFileSystemDirectory(RunExamples.OutputDirectory);
5// Initialize the options for saving in PNG format.
6options.SaveOptions = new PngSaveOptions();
7// Run LaTeX to PNG conversion.
8new TeXJob(Path.Combine(RunExamples.InputDirectory, "hello-world.ltx"), new ImageDevice(), options).Run();

Portanto, a primeira coisa que precisamos fazer (bem, às vezes não é a primeira) é criar uma instância da classe Texoptions. O único método estático que faz isso é ConsoleAppOptions(), então não seremos intrigados com o significado de seu nome. O método pega a ObjectLateX Instância da classe TexConfig, que é exatamente adequada para converter um arquivo LATEX. Esta configuração informa ao mecanismo Tex do objeto para carregar o formato de LaTeX do objeto e estar pronto para aceitar o arquivo LATEX. O formato LATEX do Object é na verdade apenas o formato LATEX, exceto que ele usa as primitivas específicas Object tex para configurar as métricas da página.

A primeira das opções necessárias é OutputWorkingDirectory que define o espaço ou área, onde a saída TEX será gravada. Aqui são os detalhes sobre o conceito de diretório de saída em aspose.tex para .NET. Neste exemplo, usamos a classe outputFilesystemDirectory, que nos permite escrever a saída no diretório ou pasta especificada.

A segunda opção é uma instância de classe saveOptions que controlará a transformação do modelo de objeto no formato de destino. Como estamos convertendo o LATEX em PNG, é a instância da classe pngSaveOptions, que nos permite especificar a resolução das imagens de saída.

De seguida, necessitamos de criar uma instância da classe TeXJob. Para converter um ficheiro LaTeX armazenado no sistema de ficheiros, utilizamos esta versão do construtor. Precisamos de especificar o caminho completo para o ficheiro. Caso contrário, o motor irá procurá-lo no directório actual (que é CurrentDirectory) e provavelmente não o encontrará. No entanto, a extensão . tex pode ser omitida. O mecanismo irá anexá-la automaticamente. O segundo argumento do construtor é uma instância da classe Device. Como estamos a converter LaTeX para PNG, trata-se de uma instância da classe ImageDevice, comum a todos os formatos de imagem suportados. Como último argumento, passámos as opções de conversão preparadas recentemente.

Tudo o que resta a fazer agora é correr o trabalho.

Independentemente de a execução ter sido bem -sucedida ou não, o primeiro resultado que veremos será a saída do terminal. Se a corrida tiver sido bem -sucedida, será algo assim:

 1This is ObjectTeX, Version 3.1415926-1.0 (Aspose.TeX 21.8)
 2entering extended mode
 3
 4(<input_directory>\hello-world.ltx
 5LaTeX2e <2011/06/27>
 6(article.cls
 7Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
 8(size10.clo))
 9No file hello-world.aux.
10[1]
11(<output_directory>\hello-world.aux) )
12Output written on hello-world.png (1 page).
13Transcript written on hello-world.log.

Encontraremos outras “frutas” do trabalho do motor na pasta que especificamos como diretório de saída. Esse será o arquivo de transcrição e, ** aqui está!

Uma maneira alternativa de escrever o (s) arquivo (s) principal (s) de saída da saída

Há outra maneira de obter dados da imagem como uma matriz de matrizes de bytes, cada matriz na segunda dimensão representa dados de imagem para uma página separada.

 1// Create conversion options instance.
 2...
 3// Initialize the options for saving in PNG format.
 4PngSaveOptions pngSaveOptions = new PngSaveOptions();
 5pngSaveOptions.DeviceWritesImages = false;
 6options.SaveOptions = pngSaveOptions;
 7// Create the image device.
 8ImageDevice device = new ImageDevice();
 9// Run LaTeX to PNG conversion.
10new TeXJob(Path.Combine(RunExamples.InputDirectory, "hello-world.ltx"), device, options).Run();
11
12// Save pages file by file.
13for (int i = 0; i < device.Result.Length; i++)
14{
15    using (Stream fs = File.Open(Path.Combine(RunExamples.OutputDirectory, $"page-{i + 1}.png"), FileMode.Create))
16        fs.Write(device.Result[i], 0, device.Result[i].Length);
17}

Os arquivos * “página-n.png” * serão gravados em qualquer caminho que especifique. Ao contrário de saída em PDF, eles duplicarão os arquivos PNG de saída gravados no diretório de saída.

Sobre opções de entrada

Caso nosso arquivo de entrada principal exija dependências, por exemplo, pacotes, que não estão incluídos no sistema de LaTeX básico e pacotes suportados, devemos definir a opção requerirInputDirectory da maneira semelhante a definir a opção OutputWorkingDirectory e colocar as dependências nesse diretório. As dependências podem ser organizadas arbitrariamente em subdiretos. Caso tenhamos nossos próprios arquivos a serem incluídos ao longo do processo de composição, digamos arquivos gráficos externos, também devemos definir o InputWorkingDirectory usando o caminho para o local onde esses arquivos são coletados. Também podemos colocar o arquivo de entrada principal em algum lugar dentro do diretório de entrada e especificar o caminho relativo no método run() (ou especificar nenhum caminho se o arquivo de entrada principal estiver na raiz). Aqui são os detalhes sobre o conceito de diretório de entrada em Aspose.TeX para .NET e fornecem implementações.

Outras opções de trabalho Tex são discutidas aqui.

Você também pode conferir a conversão de LaTeX-para-png gratuita aplicativo da web construído com base em Aspose.TeX para .NET API.

Abaixo, discutimos a conversão de LaTeX para outros formatos de imagem raster suportados sem afundar profundamente em detalhes, pois na verdade não há detalhes. A única diferença está no tipo de propriedade saveOptions nas opções de conversão.

Como converter LaTeX em jpg

1// Create conversion options instance.
2...
3// Initialize the options for saving in JPEG format.
4options.SaveOptions = new JpegSaveOptions();

Você também pode conferir a conversão de LaTex-para-JPG gratuita aplicativo da web construído com base em Aspose.TeX para .NET API.

Como converter LaTeX para TIFF

1// Create conversion options instance.
2...
3// Initialize the options for saving in TIFF format.
4options.SaveOptions = new TiffSaveOptions();

Você também pode conferir a conversão LATEX-TIFF GRATUITA Web App construída com base em Aspose.TeX para .NET API.

Como converter LaTeX para BMP

1// Create conversion options instance.
2...
3// Initialize the options for saving in BMP format.
4options.SaveOptions = new BmpSaveOptions();

Você também pode conferir a conversão LATEX-para-BMP gratuita aplicativo da web construído com base em Aspose.TeX para .NET API.

Como converter LaTeX para SVG

E ainda outro formato de destino suportado é svg. Gráficos vetoriais escaláveis ​​(SVG) é um formato de imagem vetorial baseado em XML para definir gráficos bidimensionais, tendo suporte para interatividade e animação.

As imagens SVG são definidas em um formato de gráfico vetorial e armazenadas em arquivos de texto XML. As imagens SVG podem, portanto, ser dimensionadas em tamanho sem perda de qualidade e os arquivos SVG podem ser pesquisados, indexados, script e compactados. Os arquivos de texto XML podem ser criados e editados com editores de texto ou editores de gráficos vetoriais e são renderizados pelos navegadores da web mais usados.

Existe a biblioteca Aspose.svg que fornece vários recursos relacionados a svg. Isso inclui a criação, carregamento, edição e conversão de documentos svg.

A conversão LATEX para SVG também é tão simples quanto a conversão em formatos de imagem raster, exceto que as SaveOptions devem ser definidas como uma instância da classe svgSaveOptions e o dispositivo deve ser alterado para uma instância da classe SVGDevice.

1// Create conversion options for Object LaTeX format upon Object TeX engine extension.
2TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectLaTeX);
3// Specify a file system working directory for the output.
4options.OutputWorkingDirectory = new OutputFileSystemDirectory(RunExamples.OutputDirectory);
5// Initialize the options for saving in SVG format.
6options.SaveOptions = new SvgSaveOptions();
7// Run LaTeX to SVG conversion.
8new TeXJob(Path.Combine(RunExamples.InputDirectory, "hello-world.ltx"), new PdfDevice(), options).Run();

Você também pode conferir a conversão LATEX-SVG GRATUITA aplicativo da web construído com base em Aspose.TeX para .NET API.

Have any questions about Aspose.TeX?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.