เขียนเอาต์พุตลงใน ZIP
บันทึกผลลัพธ์ของการแปลงไฟล์ TeX เป็น ZIP ผ่าน C++
TeX เป็นภาษามาร์กอัปข้อมูลและเป็นหัวใจของระบบจัดพิมพ์ด้วยคอมพิวเตอร์ หรือที่เรียกกันว่าระบบจัดชุดสิ่งพิมพ์ แม้ว่ามักจะเรียกกันว่าเป็นรูปแบบไฟล์ แต่จริงๆ แล้วมันเป็นภาษาโปรแกรมและเครื่องมือแปลคำสั่งที่ใช้สร้างเอกสารทางคณิตศาสตร์ ทางเทคนิค และเอกสารที่ซับซ้อนอื่นๆ อย่างไรก็ตาม เมื่อสร้างไฟล์แล้ว อาจจำเป็นต้องแปลงเป็นรูปแบบที่ได้รับความนิยมมากขึ้นเพื่อให้สามารถใช้ผลลัพธ์บนอุปกรณ์และแพลตฟอร์มใดก็ได้
โซลูชัน Aspose.TeX API มีฟีเจอร์สำหรับการแปลงไฟล์ TeX และบันทึกผลลัพธ์เป็นไฟล์เก็บถาวร ZIP ข้อมูลโค้ดที่ให้ไว้ที่นี่แสดงวิธีแปลงไฟล์ TeX เป็น PDF และบันทึกเอาต์พุตเป็นไฟล์ zip ตัวแปลง API สามารถแปลงไฟล์ TeX ในภาษา C++ และสามารถใช้เพื่อสร้างแอปพลิเคชันข้ามแพลตฟอร์มหรือรวมเข้ากับโปรเจกต์ C++ ของคุณ
ในการรันตัวอย่าง คุณจะต้องมี Aspose.TeX สำหรับ C++ API ซึ่งเป็นเครื่องมือจัดการและแปลงเอกสารที่อัดแน่นไปด้วยฟีเจอร์และใช้งานง่ายสำหรับแพลตฟอร์ม C++ คุณสามารถติดตั้ง Aspose.TeX API ได้โดยค้นหาใน NuGet package manager หรือใช้คำสั่ง Install-Package Aspose.TeX ใน Package Manager Console
Package Manager Console Command
PM> Install-Package Aspose.TeX
โค้ดที่นี่คือการแปลงไฟล์ TeX และบันทึกเป็น PDF ในไฟล์เก็บถาวร ZIP ทำตามขั้นตอนต่อไปนี้เพื่อดำเนินการแปลงดังกล่าว:
- สร้างอินสแตนซ์ของคลาส TeXOptions ใช้เพื่อระบุไดเรกทอรีการทำงานของไฟล์เก็บถาวร ZIP สำหรับเอาต์พุตโดยใช้คุณสมบัติ OutputWorkingDirectory
- ระบุคอนโซลเป็นเทอร์มินัลเอาต์พุตโดยใช้คลาส OutputConsoleTerminal
- กำหนดตัวเลือกสำหรับการบันทึกเอาต์พุตโดยใช้คลาส PdfSaveOptions
- รันการแปลง TeX เป็น PDF โดยใช้วิธี TeXJob สำหรับ PdfDevice
- ปรับปรุงเอาต์พุต
- ปิดท้ายไฟล์เก็บถาวร ZIP เอาต์พุตโดยใช้คลาส OutputZipDirectory โค้ดนี้ใช้บล็อก try-catch เพื่อจัดการข้อยกเว้นที่อาจเกิดขึ้นระหว่างกระบวนการ
โค้ด C++ สำหรับการใช้ไดเรกทอรี ZIP สำหรับเอาต์พุต
using Aspose::TeX::IO;
using Aspose::TeX::Presentation::Pdf;
using System::IO; // 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 '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 'using' statement
System::Details::DisposeGuard<1> __dispose_guard_0({ outZipStream});
// ------------------------------------------
try
{
// Create typesetting options for default ObjectTeX format on ObjectTeX 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 the console as an output terminal.
options->set_TerminalOut(System::MakeObject<OutputConsoleTerminal>());
// Default. Not necessary to specify.
// Create and specify saving options.
options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());
// Run typesetting.
Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<PdfDevice>(), options);
// For the consequent output to look right.
options->get_TerminalOut()->get_Writer()->WriteLine();
// 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());
}
}TeX What is TeX File Format
TeX เป็นระบบจัดหน้าและภาษาการเขียนโปรแกรมที่ช่วยสร้างเอกสารคุณภาพสูง โดยเฉพาะสูตรคณิตศาสตร์ ไฟล์ .tex เป็นข้อความธรรมดาที่ประมวลผลโดยเครื่องยนต์ TeX (เช่น pdfTeX, XeTeX, LuaTeX) เพื่อผลิต PDF หรือ DVI.