Εισαγωγή
Aspose.TeX FOSS for Python exposes a concise engine API built around three concepts: Η ενιαία πηγή εισόδου (TeXJob• Ηλεκτρονικές συσκευές (PdfDevice, DviDevice, SvgDevice2) και δύο τύπους πηγής εισόδου (FileInputSource, StringInputSource). Αυτό το άρθρο καλύπτει κάθε συστατικό και δείχνει πώς συνδυάζονται για να παράγουν PDF, DVI, και SVG εξαγωγή από το TeX μάρκα.
TeXJob - Το σημείο εισόδου
TeXJob είναι η κύρια τάξη για την οδήγηση του κινητήρα TeX. Αποδέχεται μια πηγή εισόδου, ένα Ηλεκτρονικό εξοπλισμό και προαιρετικό TeXOptions, τότε τρέχει το τσιπ τύπου όταν run() Η τιμή επιστροφής είναι το μπαίτο εξόδου για τους τύπους συσκευών που παράγουν μια ενιαία έκδοση (PDF, DVI)· για την έκβαση SVG, οι σελίδες ανακτώνται από το αντικείμενο της συσκευής Μετά από run() Συμπληρώσεις .
TeXOptions Η συσκευή είναι κατασκευασμένη με προεπιλεγμένες ρυθμίσεις (TeXOptions()) χρησιμοποιεί τις προεπιλεγμένες ρυθμίσεις TeX που ταιριάζουν στις περισσότερες από τις αρχές.
εξαγωγικές συσκευές
PdfDevice
PdfDevice γράφει το έγγραφο τύπου σε ένα ρεύμα byte PDF. είναι η τυποποιημένη συσκευή εξόδου για την παραγωγή φορητού, εκτυπωτή εξαγωγής:
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)
Μετά από run(), τα επιστρεφόμενα bytes περιέχουν το πλήρες PDF έγγραφο.
DviDevice
DviDevice παράγει την παραγωγή του Device Independent (DVI) μορφή - το γηραιό μεσολαβητή Η παραγωγή DVI μπορεί να καταναλωθεί από τα εργαλεία downstream για την παράδοση ή Περισσότερη επεξεργασία:
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 κάθε σελίδα τύπου ως γραφικό vector SVG. Μετά την εργασία τρέχει, get_all_pages() επιστρέφει τη λίστα των σιδηροδρόμων SVG ανά σελίδα:
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)
Πηγές εισόδου
FileInputSource
FileInputSource Διαβάστε το TeX Markup από την A .tex Στον δίσκο, αυτό είναι το Πρότυπο εισόδου κατά την τυποποίηση υφιστάμενων εγγράφων:
from aspose_tex import TeXJob, TeXOptions, PdfDevice, FileInputSource
pdf_bytes = TeXJob(FileInputSource("document.tex"), PdfDevice(), options=TeXOptions()).run()
StringInputSource
StringInputSource αποδέχεται το TeX ως σήμα Python. Αυτή η λειτουργία εισόδου είναι χρησιμοποιείται για τη δυναμική γενιά μάρκωσης — κατασκευάζοντας το TeX προγραμματικά και Να το γράψουμε χωρίς να το κάνουμε στο δίσκο:
from aspose_tex import TeXJob, TeXOptions, PdfDevice, StringInputSource
tex = "Hello, world!"
pdf_bytes = TeXJob(StringInputSource(tex), PdfDevice(), options=TeXOptions()).run()
Συνδυάζοντας τα συστατικά
Οι τρεις συνιστώσες συνεργάζονται για να σχηματίσουν ένα πλήρες σωλήνα τυποποίησης. Επιλέξτε την πηγή εισόδου που ταιριάζει με τη ροή δεδομένων σας και τη συσκευή που αντιστοιχεί στη μορφή εξόδου σας:
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")
Συμβουλές και βέλτιστες πρακτικές
- Χρησιμοποιήστε
StringInputSourceγια μικρά ή δυναμικά δημιουργημένα κομμάτια TeX, χρησιμοποιώντας ταFileInputSourceΌταν συνεργάζεσαι με την υπάρχουσα.texΤα αρχεία. PdfDeviceείναι η πιο φορητή μορφή εξόδου, χρησιμοποιώνταςSvgDeviceΌταν ενσωματώνεται Η παραγωγή του TeX σε ιστοσελίδες ή γραφήματα vector.- Επαναχρησιμοποίηση
TeXOptionsΕάν η επεξεργασία γίνεται με πολλαπλά έγγραφα, τις ίδιες ρυθμίσεις. - Η
run()Η επιστροφή αξίας είναιbytesγια το PDF και το DVI, για SVG τα byte είναι Αποσύρεται απόSvgDevice.get_all_pages()Μετά την ολοκλήρωση της εργασίας.
Συνοπτική αναφορά API
| Κλάση | Ρόλος |
|---|---|
TeXJob | Πόντο εισόδου: οδηγεί τον σωλήνα τυποποίησης TeX |
TeXOptions | Επαναστατική μηχανή: λειτουργεί η προεπιλογή για τα περισσότερα έγγραφα |
PdfDevice | Η συσκευή εξόδου που παράγει PDF bytes |
DviDevice | Η συσκευή εξόδου που παράγει DVI bytes |
SvgDevice | Η συσκευή εξόδου που παράγει SVG ανά σελίδα μέσω get_all_pages() |
FileInputSource | εισαγωγή από το A .tex Πληροφορίες στο δίσκο |
StringInputSource | Εισαγωγή από ένα Python string |