สร้างรูปแบบ TeX และ Typeset แบบกำหนดเองเป็น PDF และ XPS โดยใช้ C++

TeX คือระบบการเรียงพิมพ์ที่ได้รับการกล่าวขานว่าเป็นระบบการพิมพ์ดิจิทัลที่ซับซ้อนที่สุดระบบหนึ่ง TeX ใช้สำหรับเรียงพิมพ์เอกสารและสร้างเอาต์พุต เช่น PDF, XPS และรูปแบบภาพต่างๆ อาจมีบางสถานการณ์ที่คุณต้องออกแบบเอกสารหลายชุดให้เหมือนกัน ด้วยเหตุนี้ การสร้างรูปแบบ TeX แบบกำหนดเองจะเป็นประโยชน์ ด้วยเหตุนี้ บทความนี้จะสอนวิธีสร้างรูปแบบ TeX แบบกำหนดเองและเรียงเป็นรูปแบบ PDF และ XPS โดยใช้ C++

C++ API สำหรับสร้างรูปแบบ TeX แบบกำหนดเองและเรียงพิมพ์เป็น PDF และ XPS

Aspose.TeX for C++ เป็นไลบรารี C++ สำหรับทำงานกับไฟล์ TeX โดยไม่ต้องติดตั้งซอฟต์แวร์เพิ่มเติม API ช่วยให้คุณสามารถเรียงไฟล์ TeX สร้างรูปแบบ TeX แบบกำหนดเอง และสร้างเอาต์พุตในรูปแบบต่างๆ เช่น XPS, PDF, PNG, JPEG, TIFF, BMP คุณสามารถติดตั้ง API ผ่าน NuGet หรือดาวน์โหลดโดยตรงจากส่วน ดาวน์โหลด

PM> Install-Package Aspose.TeX.Cpp

สร้างรูปแบบ TeX แบบกำหนดเองโดยใช้ C++

ต่อไปนี้เป็นขั้นตอนในการสร้างรูปแบบ TeX แบบกำหนดเอง

โค้ดตัวอย่างต่อไปนี้สาธิตวิธีสร้างรูปแบบ TeX แบบกำหนดเองโดยใช้ C++

// สร้างตัวเลือกการเรียงพิมพ์ในส่วนขยายเอ็นจิ้น ObjectTeX
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::get_ObjectIniTeX());

// ระบุไดเร็กทอรีการทำงานของระบบไฟล์สำหรับอินพุต
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory"));

// ระบุไดเร็กทอรีการทำงานของระบบไฟล์สำหรับเอาต์พุต
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

// เรียกใช้การสร้างรูปแบบ
Aspose::TeX::TeX::CreateFormat(u"customtex", options);

เรียงพิมพ์รูปแบบ TeX ที่กำหนดเองเป็นรูปแบบ XPS

ต่อไปนี้เป็นขั้นตอนสำหรับการเรียงรูปแบบ TeX แบบกำหนดเองเป็นรูปแบบ XPS

  • สร้างอินสแตนซ์ของคลาส IWorkingDirectory เพื่อแสดงไดเร็กทอรีการทำงานอินพุต
  • โหลดไฟล์ TeX โดยใช้คลาส FormatProvider
  • สร้างอินสแตนซ์ของคลาส TeXOptions โดยใช้อ็อบเจ็กต์ FormatProvider ที่สร้างไว้ก่อนหน้านี้
  • ตั้งค่า JobName, InputWorkingDirectory และ OutputWorkingDirectory
  • ใช้ [Typeset(System::SharedPtrSystem::IO::Stream สตรีม, ระบบ::SharedPtrPresentation::Device อุปกรณ์, ระบบ::SharedPtr ตัวเลือก) 17 วิธีการและส่งวัตถุ XpsDevice เป็นอาร์กิวเมนต์เพื่อสร้างเอาต์พุต XPS

ต่อไปนี้คือโค้ดตัวอย่างสำหรับเรียงรูปแบบ TeX แบบกำหนดเองเป็นรูปแบบ XPS

// สร้างไดเร็กทอรีการทำงานของอินพุตระบบไฟล์
System::SharedPtr<IWorkingDirectory> wd = System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory");
{
    // สร้างผู้ให้บริการรูปแบบ
    System::SharedPtr<FormatProvider> formatProvider = System::MakeObject<FormatProvider>(wd, u"customtex");

    // การล้างทรัพยากรภายใต้คำสั่ง 'ใช้'
    System::Details::DisposeGuard<1> __dispose_guard_0({ formatProvider });
    // ------------------------------------------

    try
    {
        // สร้างตัวเลือกการเรียงพิมพ์สำหรับรูปแบบที่กำหนดเองในส่วนขยายเอ็นจิ้น ObjectTeX
        System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX(formatProvider));
        options->set_JobName(u"typeset-with-custom-format");

        // ระบุไดเร็กทอรีการทำงานอินพุต
        options->set_InputWorkingDirectory(wd);

        // ระบุไดเร็กทอรีการทำงานของระบบไฟล์สำหรับเอาต์พุต
        options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

        // เรียกใช้การเรียงพิมพ์
        Aspose::TeX::TeX::Typeset(System::MakeObject<System::IO::MemoryStream>(System::Text::Encoding::get_ASCII()->GetBytes(u"Congratulations! You have successfully typeset this text with your own TeX format!\\end")), System::MakeObject<XpsDevice>(), options);
    }
    catch (...)
    {
        __dispose_guard_0.SetCurrentException(std::current_exception());
    }
}

เรียงพิมพ์รูปแบบ TeX ที่กำหนดเองเป็นรูปแบบ PDF

ต่อไปนี้เป็นขั้นตอนสำหรับการเรียงรูปแบบ TeX แบบกำหนดเองเป็นรูปแบบ PDF

โค้ดตัวอย่างต่อไปนี้แสดงวิธีเรียงรูปแบบ TeX แบบกำหนดเองเป็นรูปแบบ PDF

// สร้างไดเร็กทอรีการทำงานของอินพุตระบบไฟล์
System::SharedPtr<IWorkingDirectory> wd = System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory");
{
    // สร้างผู้ให้บริการรูปแบบ
    System::SharedPtr<FormatProvider> formatProvider = System::MakeObject<FormatProvider>(wd, u"customtex");

    // การล้างทรัพยากรภายใต้คำสั่ง 'ใช้'
    System::Details::DisposeGuard<1> __dispose_guard_0({ formatProvider });
    // ------------------------------------------

    try
    {
        // สร้างตัวเลือกการเรียงพิมพ์สำหรับรูปแบบที่กำหนดเองในส่วนขยายเอ็นจิ้น ObjectTeX
        System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX(formatProvider));
        options->set_JobName(u"typeset-with-custom-format");

        // ระบุไดเร็กทอรีการทำงานอินพุต
        options->set_InputWorkingDirectory(wd);

        // ระบุไดเร็กทอรีการทำงานของระบบไฟล์สำหรับเอาต์พุต
        options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

        // ระบุตัวเลือก PdfSave
        options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());

        // เรียกใช้การเรียงพิมพ์
        Aspose::TeX::TeX::Typeset(System::MakeObject<System::IO::MemoryStream>(System::Text::Encoding::get_ASCII()->GetBytes(u"Congratulations! You have successfully typeset this text with your own TeX format!\\end")), System::MakeObject<PdfDevice>(), options);
    }
    catch (...)
    {
        __dispose_guard_0.SetCurrentException(std::current_exception());
    }
}

รับใบอนุญาตฟรี

คุณสามารถลองใช้ API ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีสร้างรูปแบบ TeX แบบกำหนดเองโดยใช้ C++ นอกจากนี้ คุณได้เรียนรู้วิธีเรียงรูปแบบ TeX แบบกำหนดเองเป็นรูปแบบ PDF และ XPS โดยใช้ Aspose.TeX for C++ API คุณสามารถสำรวจ API โดยละเอียดได้โดยไปที่ เอกสารอย่างเป็นทางการ ในกรณีที่มีคำถามใดๆ โปรดติดต่อเราได้ที่ ฟอรัมสนับสนุนฟรี

ดูสิ่งนี้ด้วย