قم بإنشاء تنسيق TeX المخصص وأنواعها إلى 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.

ما يلي هو نموذج التعليمات البرمجية لتنضيد تنسيق 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"));

        // حدد PdfSaveOptions
        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());
    }
}

احصل على رخصة مجانية

يمكنك تجربة واجهة برمجة التطبيقات بدون قيود التقييم من خلال طلب ترخيص مؤقت مجاني.

استنتاج

في هذه المقالة ، تعلمت كيفية إنشاء تنسيق TeX مخصص باستخدام C ++. علاوة على ذلك ، تعلمت كيفية تنضيد تنسيق TeX مخصص إلى تنسيقات PDF و XPS باستخدام Aspose.TeX لـ C ++ API. يمكنك استكشاف API بالتفصيل من خلال زيارة الوثائق الرسمية. في حالة وجود أي أسئلة ، لا تتردد في الاتصال بنا على منتدى الدعم المجاني.

أنظر أيضا