เรียงพิมพ์ 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 เพื่อจัดเก็บไฟล์เอาต์พุต ปฏิบัติตามแนวทาง:

  1. เปิดสตรีมในไฟล์ ZIP ซึ่งจะทำหน้าที่เป็นไดเร็กทอรีการทำงานของอินพุต
  2. สร้างตัวเลือกการเรียงพิมพ์สำหรับรูปแบบ ObjectTeX เริ่มต้นบนส่วนขยายเอ็นจิ้น ObjectTeX
  3. ระบุไดเร็กทอรีการทำงานของไฟล์ ZIP สำหรับอินพุตและเอาต์พุตโดยใช้ InputZipDirectory และ OutputZipDirectory คลาส
  4. ระบุคอนโซลเป็นเทอร์มินัลเอาต์พุต
  5. การใช้ PdfSaveOptions สร้างและระบุตัวเลือกการบันทึก
  6. เรียกใช้การแปลง
  7. ปรับแต่งเอาต์พุต
  8. จบการเก็บถาวร 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 เอกสารนี้สามารถรวมถึงกราฟิก ตาราง สัญลักษณ์ รายการ สูตร และสมการ