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
StringInputSourcepour les fragments de TeX courts ou dynamiquement générés ; utilisationFileInputSourceLorsque vous travaillez avec un existant.texLes fichiers. PdfDevicele format de sortie le plus portable ; utilisationSvgDeviceQuand l’infiltration Les résultats de la texte dans les pages Web ou les flux de travail graphiques vecteurs.- Réutiliser
TeXOptionsdes cas de travail si le traitement de plusieurs documents avec les mêmes réglages. - Le
run()Le retour de valeur estbytespour PDF et DVI ; pour SVG, les bytes sont Récupéré deSvgDevice.get_all_pages()Après que le travail soit terminé.
Le résumé de référence API
| Classes | Rôle |
|---|---|
TeXJob | Point d’entrée; conduit le pipeline de typification TeX |
TeXOptions | Configuration du moteur; les défauts fonctionnent pour la plupart des documents |
PdfDevice | Un appareil de sortie qui produit des bytes PDF |
DviDevice | Un appareil de sortie qui produit des bytes DVI |
SvgDevice | Un dispositif de sortie qui produit par page SVG via get_all_pages() |
FileInputSource | Entrée de A .tex Fiche sur disque |
StringInputSource | Introduction à partir d’une string Python |