Introdução

Aspose.TeX FOSS for Python exposes a concise engine API built around three concepts: um ponto de entrada unificado (TeXJob), dispositivos de saída ligáveis (PdfDevice, DviDevice, SvgDevice), e dois tipos de fontes de entrada (FileInputSource, StringInputSource). Este artigo abrange cada componente e mostra como eles se combinam para produzir PDF, DVI, e saída SVG de marcação TeX.


TeXJob O ponto de entrada

TeXJob É a principal classe para conduzir o motor TeX. Aceita uma fonte de entrada, um sistema de comando e um dispositivo de controlo do tempo. dispositivo de saída e opcional TeXOptions, então executa o pipeline de configuração quando run() é chamado. O valor de retorno é o bytes de saída para os tipos de dispositivo que produzem uma única saída (PDF, DVI); para a saída SVG, as páginas são recuperadas do objeto de dispositivo. após o run() completa.

TeXOptions Configura o comportamento do motor. Construindo-o com padrões (TeXOptions()) utiliza as configurações TeX padrão adequadas para a maioria dos documentos.


Dispositivos de saída

PdfDevice

PdfDevice escreve o documento tipo para um fluxo de bytes PDF. É o padrão Dispositivo de saída para produção de entrada portátil e imprimível:

from aspose_tex import TeXJob, TeXOptions, PdfDevice, StringInputSource

pdf_bytes = TeXJob(StringInputSource("Hello, world!"), PdfDevice(), options=TeXOptions()).run()
with open("output.pdf", "wb") as f:
    f.write(pdf_bytes)

Depois de… run(), os bytes devolvidos contêm o documento PDF completo.

DviDevice

DviDevice produz saída de formato Device Independent (DVI) o intermediário nativo O formato de TeX. A saída DVI pode ser consumida por ferramentas a jusante para renderização ou Processamento adicional:

from aspose_tex import TeXJob, TeXOptions, DviDevice, StringInputSource

dvi_bytes = TeXJob(StringInputSource("Hello!"), DviDevice(), options=TeXOptions()).run()
with open("output.dvi", "wb") as f:
    f.write(dvi_bytes)

SvgDevice

SvgDevice Rende cada página tipo como um gráfico vetorial SVG. Depois do trabalho executado, get_all_pages() Retorna a lista de cadeias de bytes SVG por página:

from aspose_tex import TeXJob, TeXOptions, SvgDevice, StringInputSource

device = SvgDevice()
TeXJob(StringInputSource("Hello!"), device, options=TeXOptions()).run()
for i, svg in enumerate(device.get_all_pages()):
    with open(f"page_{i}.svg", "wb") as f:
        f.write(svg)

Fontes de entrada

FileInputSource

FileInputSource Leia marcas de TeX a partir de um .tex Este é o arquivo no disco. modo de entrada padrão ao definir documentos existentes:

from aspose_tex import TeXJob, TeXOptions, PdfDevice, FileInputSource

pdf_bytes = TeXJob(FileInputSource("document.tex"), PdfDevice(), options=TeXOptions()).run()

StringInputSource

StringInputSource Aceita marcação TeX como uma cadeia Python. Este modo de entrada é utilizado para a geração de marcações dinâmicas construindo TeX programaticamente e Digitar sem escrever no disco:

from aspose_tex import TeXJob, TeXOptions, PdfDevice, StringInputSource

tex = "Hello, world!"
pdf_bytes = TeXJob(StringInputSource(tex), PdfDevice(), options=TeXOptions()).run()

Combinação de componentes

Os três componentes trabalham juntos para formar um conjunto completo de configuração. Selecione a fonte de entrada que corresponde ao seu fluxo de dados e o dispositivo que coincide com o formato de saída:

from aspose_tex import TeXJob, TeXOptions, SvgDevice, FileInputSource

device = SvgDevice()
TeXJob(FileInputSource("report.tex"), device, options=TeXOptions()).run()
pages = device.get_all_pages()
print(f"{len(pages)} SVG pages produced")

Dicas e melhores práticas

  • Utilização: StringInputSource para fragmentos de TeX curtos ou gerados dinamicamente; utilização FileInputSource A Comissão Europeia tem em conta o facto de a Comunidade não ter .tex Arquivos.
  • PdfDevice é o formato de saída mais portátil; utilizar SvgDevice quando incorporado Saúde e segurança dos dados de origem.
  • Reutilização TeXOptions O processo de análise é mais fácil, mas a informação deve ser fornecida com precisão. As mesmas configurações.
  • A Comissão run() valor de retorno é: bytes para PDF e DVI; para SVG, os bytes são: extraído de: SvgDevice.get_all_pages() Depois de o trabalho terminar.

Resumo de referência da API

Classe:Função
TeXJobPonto de entrada; impulsiona o pipeline de configuração do TeX
TeXOptionsConfiguração do motor; padrões funcionam para a maioria dos documentos
PdfDeviceDispositivo de saída que produz bytes PDF
DviDeviceDispositivo de saída que produz bytes DVI
SvgDeviceDispositivo de saída que produz SVG por página via get_all_pages()
FileInputSourceInput de um .tex Arquivo em disco
StringInputSourceEntrada de uma cadeia Python

Ver também:

Começar a Fazer

Recursos relacionados