قم بتحويل TeX إلى ملف PDF أو XPS برمجيًا باستخدام C ++

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

واجهة برمجة تطبيقات C ++ لتحويل TeX إلى تنسيق PDF و XPS

Aspose.TeX for C ++ هي مكتبة C ++ للعمل مع ملفات TeX دون الحاجة إلى تثبيت أي برامج إضافية. تسمح لك واجهة برمجة التطبيقات بتنضيد ملفات TeX وإنشاء مخرجات بتنسيقات مثل XPS ، PDF ، PNG ، JPEG ، TIFF ، BMP. يمكنك إما تثبيت API من خلال NuGet أو تنزيلها مباشرة من قسم التنزيلات.

PM> Install-Package Aspose.TeX.Cpp

قم بتحويل TeX إلى تنسيق XPS باستخدام C ++

يمكنك تحويل ملفات TeX إلى تنسيق XPS في بضعة أسطر من التعليمات البرمجية. لتحقيق ذلك ، يرجى اتباع الخطوات الواردة أدناه.

يوضح نموذج التعليمات البرمجية التالي كيفية تحويل ملف TeX إلى تنسيق XPS باستخدام C ++.

// قم بإنشاء خيارات التنضيد لتنسيق ObjectTeX الافتراضي على امتداد محرك ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());

// حدد دليل عمل نظام الملفات للإدخال.
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory"));

// حدد دليل عمل نظام الملفات للإخراج.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

// حدد وحدة التحكم كمحطة إخراج.
options->set_TerminalOut(System::MakeObject<Aspose::TeX::IO::OutputConsoleTerminal>());
// تقصير. لا حاجة للتحديد.
// حدد تدفق الذاكرة كمحطة إخراج ، إذا كنت لا تريد كتابة الإخراج الطرفي على وحدة التحكم.
//options.TerminalOut = new OutputMemoryTerminal() ،

// تشغيل التنضيد.
Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<XpsDevice>(), options);

// لمزيد من الإخراج للنظر الكتابة.
options->get_TerminalOut()->get_Writer()->WriteLine();

تحويل TeX إلى تنسيق PDF باستخدام C ++

فيما يلي خطوات تحويل ملفات TeX إلى تنسيق PDF.

يوضح نموذج التعليمات البرمجية التالي كيفية تحويل ملف TeX إلى تنسيق PDF باستخدام C ++.

// قم بإنشاء خيارات التنضيد لتنسيق ObjectTeX الافتراضي على امتداد محرك ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());

// حدد دليل عمل نظام الملفات للإدخال.
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory"));

// حدد دليل عمل نظام الملفات للإخراج.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

// حدد وحدة التحكم كمحطة إخراج.
options->set_TerminalOut(System::MakeObject<Aspose::TeX::IO::OutputConsoleTerminal>());
// تقصير. لا حاجة للتحديد.
// حدد تدفق الذاكرة كمحطة إخراج ، إذا كنت لا تريد كتابة الإخراج الطرفي على وحدة التحكم.
//options.TerminalOut = new OutputMemoryTerminal() ،

// قم بتعيين خيارات PdfSaveOptions
options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());

// تشغيل التنضيد.
Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<PdfDevice>(), options);

// لمزيد من الإخراج للنظر الكتابة.
options->get_TerminalOut()->get_Writer()->WriteLine();

قم بتحويل دليل TeX ZIP إلى دليل PDF ZIP باستخدام C ++

لتحويل ملفات TeX المتعددة إلى تنسيق PDF دفعة واحدة ، يمكنك إضافة ملفات TeX إلى أرشيف ZIP وتحويلها إلى ملفات PDF مضغوطة. فيما يلي الخطوات لتحقيق ذلك.

يوضح نموذج التعليمات البرمجية التالي كيفية تحويل أرشيف TeX ZIP إلى أرشيف PDF ZIP باستخدام C ++.

// افتح الملف المضغوط المصدر في التدفق
System::SharedPtr<System::IO::Stream> inZipStream = System::IO::File::Open(System::IO::Path::Combine(u"SourceDirectory", u"zip-in.zip"), System::IO::FileMode::Open);
// مسح الموارد تحت بيان "استخدام"
System::Details::DisposeGuard<1> __dispose_guard_1({ inZipStream });
// ------------------------------------------

try {
    // افتح الملف المضغوط الناتج في التدفق
    System::SharedPtr<System::IO::Stream> outZipStream = System::IO::File::Open(System::IO::Path::Combine(u"OutputDirectory", u"zip-pdf-out.zip"), System::IO::FileMode::Create);
    // مسح الموارد تحت بيان "استخدام"
    System::Details::DisposeGuard<1> __dispose_guard_0({ outZipStream });
    // ------------------------------------------

    try
    {
        // قم بإنشاء خيارات التنضيد لتنسيق ObjectTeX الافتراضي على امتداد محرك ObjectTeX.
        System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());

        // حدد دليل عمل أرشيف ZIP للإدخال.
        options->set_InputWorkingDirectory(System::MakeObject<InputZipDirectory>(inZipStream, u"in"));

        // حدد دليل عمل أرشيف ZIP للإخراج.
        options->set_OutputWorkingDirectory(System::MakeObject<OutputZipDirectory>(outZipStream));

        // حدد وحدة التحكم كمحطة إخراج.
        options->set_TerminalOut(System::MakeObject<OutputConsoleTerminal>());
        // تقصير. ليس من الضروري التحديد.

        // إنشاء وتحديد خيارات الحفظ.
        options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());

        // تشغيل التنضيد.
        Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<PdfDevice>(), options);

        // للحصول على الناتج الناتج للنظر الكتابة. 
        options->get_TerminalOut()->get_Writer()->WriteLine();

        // إنهاء أرشيف ZIP الناتج.
        (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 إلى تنسيق XPS و PDF باستخدام C ++. علاوة على ذلك ، تعلمت كيفية تحويل ملفات TeX في أرشيف ZIP إلى ملفات PDF مضغوطة. يوفر Aspose.TeX for C ++ العديد من الميزات الإضافية للعمل مع ملفات TeX. يمكنك استكشاف API بالتفصيل من خلال زيارة الوثائق الرسمية. في حالة وجود أي أسئلة ، لا تتردد في الاتصال بنا على منتدى الدعم المجاني.

أنظر أيضا