เรียงพิมพ์ TeX ด้วย ZIP I/O
แปลง TeX เป็น PDF โดยใช้ไฟล์ ZIP เป็นอินพุตและเอาต์พุต API สำหรับ C++
ภาษา TeX เป็นเครื่องมือเรียงพิมพ์สำหรับสร้างเอกสารระดับมืออาชีพโดยไม่ต้องกังวลเรื่องการจัดรูปแบบ Aspose.TeX นำเสนอโซลูชัน API สำหรับ C++ ซึ่งเป็นไลบรารีที่ยืดหยุ่นและใช้งานง่ายในการเรียงไฟล์ TeX และ LaTeX
TeX เป็นระบบขั้นสูงที่ทรงพลัง แต่รูปแบบดั้งเดิมนั้นไม่ได้ถูกใช้อย่างกว้างขวางนอกวงการวิชาการและวิทยาศาสตร์ ในทางกลับกัน PDF เป็นรูปแบบพกพาที่สามารถดูได้ง่ายบนอุปกรณ์ส่วนใหญ่และเป็นที่ยอมรับอย่างกว้างขวาง ความสามารถในการอ่าน PDF มีอยู่ในทุกอุปกรณ์ในเบราว์เซอร์ที่ทันสมัยที่สุด การแปลง TeX เป็น PDF ทำให้สามารถแบ่งปันเอกสารกับผู้ชมจำนวนมากขึ้น และให้รูปแบบที่เข้าถึงได้มากขึ้นสำหรับผู้ที่ไม่มีซอฟต์แวร์พิเศษ นอกจากนี้ PDF ยังมีข้อดีหลายประการเหนือ TeX เช่น การแสดงแบบอักษรที่ดีขึ้น การรองรับการโต้ตอบ และการจัดการขนาดและเค้าโครงหน้ากระดาษที่ง่ายขึ้น
API เปิดใช้งานการแยกไดเร็กทอรีอินพุตและเอาต์พุต โดยเสนออินเทอร์เฟซ IOutputWorkingDirectory สำหรับการปรับแต่งเอาต์พุตของผู้ใช้ มีการใช้งานของตัวเอง อินเทอร์เฟซนี้ขยาย IInputWorkingDirectory เนื่องจากกลไกอาจต้องเขียนไฟล์ก่อนที่จะอ่าน เมธอด GetOutputFile() ของอินเทอร์เฟซจะส่งคืนสตรีมสำหรับการเขียน แทนที่จะเป็นสตรีมการอ่านที่จัดทำโดย GetFile()
Package Manager Console Command
PM> Install-Package Aspose.TeX.Cpp
ในโค้ดด้านล่าง เราจะใส่ไฟล์อินพุตในไฟล์เก็บถาวร ZIP และพิจารณาว่าเป็นไดเร็กทอรีอินพุต และสร้างไฟล์ (หรือสตรีม) และให้เอ็นจิ้น TeX ใช้เป็นไฟล์เก็บถาวร ZIP เพื่อจัดเก็บไฟล์เอาต์พุต ปฏิบัติตามแนวทาง:
- เปิดสตรีมในไฟล์ ZIP ซึ่งจะทำหน้าที่เป็นไดเร็กทอรีการทำงานของอินพุต
- สร้างตัวเลือกการเรียงพิมพ์สำหรับรูปแบบ ObjectTeX เริ่มต้นบนส่วนขยายเอ็นจิ้น ObjectTeX
- ระบุไดเร็กทอรีการทำงานของไฟล์ ZIP สำหรับอินพุตและเอาต์พุตโดยใช้ InputZipDirectory และ OutputZipDirectory คลาส
- ระบุคอนโซลเป็นเทอร์มินัลเอาต์พุต
- การใช้ PdfSaveOptions สร้างและระบุตัวเลือกการบันทึก
- เรียกใช้การแปลง
- ปรับแต่งเอาต์พุต
- จบการเก็บถาวร ZIP เอาต์พุต
รหัส C++ เพื่อแปลง TeX เป็น PDF ด้วยอินพุตและเอาต์พุต ZIP
using Aspose::TeX::IO;
using Aspose::TeX::Presentation::Pdf;
// Open a stream on a ZIP archive that will serve as the input working directory.
System::SharedPtr<System::IO::Stream> inZipStream =
System::IO::File::Open(System::IO::Path::Combine(RunExamples::InputDirectory, u"zip-in.zip"), System::IO::FileMode::Open);
// Clearing resources under the 'using' statement
System::Details::DisposeGuard<1> __dispose_guard_1({ inZipStream });
try
{
System::SharedPtr<System::IO::Stream> outZipStream =
System::IO::File::Open(System::IO::Path::Combine(RunExamples::OutputDirectory, u"zip-pdf-out.zip"), System::IO::FileMode::Create);
// Clearing resources under the 'using' statement
System::Details::DisposeGuard<1> __dispose_guard_0({ outZipStream });
try
{
// Create typesetting options for the default Object TeX format on the Object TeX engine extension.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());
// Specify a ZIP archive working directory for the input.
options->set_InputWorkingDirectory(System::MakeObject<InputZipDirectory>(inZipStream, u"in"));
// Specify a ZIP archive working directory for the output.
options->set_OutputWorkingDirectory(System::MakeObject<OutputZipDirectory>(outZipStream));
// Specify console as output terminal.
options->set_TerminalOut(System::MakeObject<OutputConsoleTerminal>());
// Create and specify saving options.
options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());
// Run the typesetting job.
System::MakeObject<Aspose::TeX::TeXJob>(u"hello-world", System::MakeObject<PdfDevice>(), options)->Run();
// Finalize the output ZIP archive.
(System::DynamicCast<Aspose::TeX::IO::OutputZipDirectory>(options->get_OutputWorkingDirectory()))->Finish();
}
catch(...)
{
__dispose_guard_0.SetCurrentException(std::current_exception());
}
}
catch(...)
{
__dispose_guard_1.SetCurrentException(std::current_exception());
}
คำถามที่พบบ่อย
1. ฉันสามารถจัดระเบียบเอกสาร TeX โดยใช้ไฟล์ ZIP เป็นข้อมูลนำเข้าได้หรือไม่?
Aspose.TeX รองรับการอ่านไฟล์ต้นฉบับ TeX จากแฟ้มเอกสารที่ถูกบีบอัดเช่นไฟล์ ZIP คุณสามารถรวมไฟล์ที่จำเป็นทั้งหมด เช่น ไฟล์ต้นฉบับ TeX ภาพถ่าย และทรัพยากรเพิ่มเติม ในแฟ้ม ZIP แล้วระบุแฟ้ม ZIP เป็นข้อมูลนำเข้าให้กับคอมไพล์เลเท็กซ์ ซึ่งทำให้สามารถจัดระเบียบและแจกจ่ายโปรเจค LaTeX ได้อย่างสะดวกสบาย โดยเฉพาะเมื่อเกี่ยวข้องกับเอกสารขนาดใหญ่หรือซับซ้อนที่มีความขึ้นอยู่กับการขึ้นอย่างหลายรายการ
2. มีข้อดีใดในการใช้ไฟล์ ZIP ในการจัดระเบียบเอกสาร TeX หรือไม่?
ใช่ การใช้ไฟล์ ZIP ในการจัดระเบียบเอกสาร TeX มีข้อดีหลายประการ ตัวอย่างเช่น ไฟล์ ZIP จะให้วิธีการสะดวกสบายในการบรรจุและจัดระเบียบไฟล์หลายไฟล์ที่เกี่ยวข้องกับโปรเจค LaTeX เช่น ไฟล์ต้นฉบับ TeX ไฟล์เอกสารอ้างอิง ภาพถ่าย และไฟล์สไตล์ ในแฟ้มเดียว ซึ่งทำให้การแจกจ่ายและแบ่งปันเอกสาร LaTeX เป็นเรื่องง่าย โดยเฉพาะเมื่อทำงานร่วมกับผู้อื่นหรือแบ่งปันโปรเจคออนไลน์
3. วิธีการจัดระเบียบไฟล์ TeX?
ในการจัดระเบียบไฟล์ TeX โดยใช้ Aspose.TeX API Solution คุณจำเป็นต้องสร้างตัวเลือกการแปลงสำหรับรูปแบบ Object TeX หรือ Object LaTeX ขึ้นอยู่กับส่วนขยายของเครื่องมือ Object TeX จากนั้นระบุไดเร็กทอรีการทำงานของระบบไฟล์สำหรับผลลัพธ์ ในท้ายที่สุด สร้างตัวอย่างของคลาส TeXJob และเรียกใช้กระบวนการจัดระเบียบโดยใช้วิธี TeXJob.Run()
TeX TeX รูปแบบไฟล์คืออะไร
TeX ไม่ใช่รูปแบบจริงๆ ในขณะเดียวกันก็เป็นภาษาการเขียนโปรแกรมและเครื่องมือล่ามที่เข้าใจภาษานี้ ไฟล์ TeX เป็นเอกสารที่สร้างขึ้นใน LaTeX เอกสารนี้สามารถรวมถึงกราฟิก ตาราง สัญลักษณ์ รายการ สูตร และสมการ