Introduction
Aspose.TeX FOSS for Python exposes a concise engine API built around three concepts: จุดเข้าแบบรวม (TeXJob), เครื่องออกแบบที่สามารถติดต่อได้ (PdfDevice, DviDevice, SvgDevice), และสองชนิดของแหล่งเข้า (FileInputSource, StringInputSource). บทความนี้จะอธิบายส่วนประกอบแต่ละชิ้น และแสดงให้เห็นว่ามันรวมกันอย่างไร เพื่อผลิต PDF, DVI, และการออก SVG จาก TeX markup.
TeXJob จุดเข้าสู่การทํางาน
TeXJob เป็นชั้นหลักสําหรับการขับเคลื่อนเครื่อง TeX. มันรับแหล่งเข้า, และ อุปกรณ์ออก และไม่รับเลือก TeXOptions, แล้วทํางานไพเพลินการกําหนดตัวที่เมื่อ run() ได้เรียกค่ากลับคือไบต์การออกสําหรับประเภทอุปกรณ์ที่ผลิต การออกแบบเดียว (PDF, DVI) สําหรับการออก SVG หน้าถูกเรียกคืนจากวัตถุอุปกรณ์ หลังจากนั้น run() ครบแล้ว.
TeXOptions การสร้างมันด้วยแบบตั้งค่า (TeXOptions()) ใช้การตั้งค่า TeX แบบมาตรฐานที่เหมาะสําหรับเอกสารส่วนใหญ่.
อุปกรณ์การออก
PdfDevice เครื่องมือ
PdfDevice เขียนเอกสารแบบ TypeSet เป็น PDF ไบท์สตรีม. มันเป็นมาตรฐาน อุปกรณ์ออกเสียงสําหรับการผลิต output ที่สามารถพิมพ์ได้แบบโอนพาไป:
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)
After run(), ไบต์ที่กลับมีเอกสาร PDF ครบครัน.
เครื่องมือ DviDevice
DviDevice ผลิตการออกแบบ Device Independent (DVI) ตัวกลางพื้นบ้าน การออก DVI สามารถใช้โดยเครื่องมือด้านล่างเพื่อการแสดงหรือ การประมวลผลต่อ:
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 ทําให้ทุกหน้าที่ติดตัวเป็น SVG ภาพเวกเตอร์ หลังจากการทํางาน, get_all_pages() กลับรายการของ 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)
แหล่งเข้า
FileInputSource
FileInputSource อ่านการระบุ TeX จาก a .tex แฟลล์บนดิสก์ นี่คือ การเข้าแบบมาตรฐานในการกําหนดตัวเอกสารที่มีอยู่:
from aspose_tex import TeXJob, TeXOptions, PdfDevice, FileInputSource
pdf_bytes = TeXJob(FileInputSource("document.tex"), PdfDevice(), options=TeXOptions()).run()
StringInputSource
StringInputSource รับการตรา TeX เป็นสตรีง Python. รูปแบบการเข้านี้คือ ใช้สําหรับการสร้าง markup ดินามิก การก่อตั้ง 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 ในหน้าเว็บหรือการทํางานของวัคเตอร์กราฟิก.- Reuse
TeXOptionsการทํางานที่แตกต่างกัน หากการประมวลผลเอกสารหลายแบบกับ การตั้งค่าเดียวกัน. - การ
run()ค่าคืนคือbytesสําหรับ PDF และ DVI; สําหรับ SVG ไบต์คือ ได้รับจากSvgDevice.get_all_pages()หลังจากที่งานเสร็จสิ้นไป.
สรุปอ้างอิง API
| Class | Role |
|---|---|
TeXJob | จุดเข้า; ดับไพปไลน์การกําหนดแบบ TeX |
TeXOptions | การตั้งค่าเครื่อง; ปกติทํางานสําหรับเอกสารส่วนใหญ่ |
PdfDevice | อุปกรณ์ออกผลิต PDF byte |
DviDevice | อุปกรณ์ออกผลิตไบท์ DVI |
SvgDevice | อุปกรณ์การออกผลิต SVG ต่อหน้าผ่าน get_all_pages() |
FileInputSource | การเข้าจาก a .tex ไฟล์บนดิสก์ |
StringInputSource | การเข้าจาก Python string |