Introduction

Aspose.TeX FOSS for Python exposes a concise engine API built around three concepts: Un point d’entrée (TeXJobLes appareils de détachement (PdfDevice, DviDevice, SvgDevice2 types de sources d’entrée (FileInputSource, StringInputSource). Cet article couvre chaque composant et montre comment ils se combinent pour produire PDF, DVI, etc., et SVG de la marque TeX.


Le point d’entrée – The Entry Point

TeXJob est la classe principale pour conduire le moteur TeX. Il accepte une source d’entrée, un La production, et optionnelle TeXOptions,Il est ensuite utilisé pour le pipeline de type lorsque run() La valeur de retour est le byte de sortie pour les types d’appareils qui produisent une seule sortie (PDF, DVI); pour la sorti SVG, les pages sont retirées de l’objet du dispositif Après run() complètes .

TeXOptions La configuration du comportement de l’électricité.Construire avec des défauts (TeXOptions()) Utilisez les paramètres standard de TeX adaptées à la plupart des documents.


Les outils

PdfDevice

PdfDevice écrire le document type à un fil PDF byte. c’est la norme Définition de la production portable, imprimable :

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)

Après run(),Les bits retournés contiennent le document PDF complet.

DviDevice

DviDevice produit le format Device Independent (DVI) - l’intermédiaire natif le format de TeX. la sortie DVI peut être consommée par des outils en bas pour rendre ou Traitement ultérieur :

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 rend chaque page type en tant que graphique vecteur SVG. Après le travail, get_all_pages() Retourne la liste des lignes par page SVG byte :

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)

Source de l’entrée

FileInputSource

FileInputSource Lire la marque de TX à partir d’un .tex sur le disque, c’est la mode d’entrée standard lors de la typographie des documents existants :

from aspose_tex import TeXJob, TeXOptions, PdfDevice, FileInputSource

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

StringInputSource

StringInputSource accepte la marqueur TeX comme une ligne Python.Cette mode d’entrée est utilisé pour la génération dynamique de marques — construisant TeX programmablement et Il est écrit sans le disque :

from aspose_tex import TeXJob, TeXOptions, PdfDevice, StringInputSource

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

Combiner les composants

Les trois composants travaillent ensemble pour former un pipeline de typage complet. Sélectionnez la source d’entrée qui correspond à votre flux de données et le dispositif qui répond au format de sortie :

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")

Conseils et meilleures pratiques

  • Utiliser StringInputSource pour les fragments de TeX courts ou dynamiquement générés ; utilisation FileInputSource Lorsque vous travaillez avec un existant .tex Les fichiers.
  • PdfDevice le format de sortie le plus portable ; utilisation SvgDevice Quand l’infiltration Les résultats de la texte dans les pages Web ou les flux de travail graphiques vecteurs.
  • Réutiliser TeXOptions des cas de travail si le traitement de plusieurs documents avec les mêmes réglages.
  • Le run() Le retour de valeur est bytes pour PDF et DVI ; pour SVG, les bytes sont Récupéré de SvgDevice.get_all_pages() Après que le travail soit terminé.

Le résumé de référence API

ClassesRôle
TeXJobPoint d’entrée; conduit le pipeline de typification TeX
TeXOptionsConfiguration du moteur; les défauts fonctionnent pour la plupart des documents
PdfDeviceUn appareil de sortie qui produit des bytes PDF
DviDeviceUn appareil de sortie qui produit des bytes DVI
SvgDeviceUn dispositif de sortie qui produit par page SVG via get_all_pages()
FileInputSourceEntrée de A .tex Fiche sur disque
StringInputSourceIntroduction à partir d’une string Python

Voir aussi

Pour commencer

Ressources associées