Εισαγωγή

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

Δείτε επίσης

Ξεκινώντας

Σχετικοί Πόροι