تُستخدم ملفات TeX لتنضيد المستندات والكتب المختلفة التي تحتوي على نصوص ورموز وتعبيرات حسابية. بالإضافة إلى ذلك ، يمكن لهذه الملفات إنشاء مخرجات مثل PDF و XPS وتنسيقات صور متنوعة. في هذه المقالة ، ستتعلم كيفية تحويل ملفات TeX إلى تنسيق XPS و PDF باستخدام C ++.
- واجهة برمجة تطبيقات C ++ لتحويل TeX إلى تنسيق PDF و XPS
- قم بتحويل TeX إلى تنسيق XPS باستخدام C ++
- تحويل TeX إلى تنسيق PDF باستخدام C ++
- قم بتحويل دليل TeX ZIP إلى دليل PDF ZIP باستخدام 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 في بضعة أسطر من التعليمات البرمجية. لتحقيق ذلك ، يرجى اتباع الخطوات الواردة أدناه.
- قم بإنشاء مثيل لفئة TeXOptions باستخدام TeXConfig :: ObjectTeX (System :: SharedPtrAspose::TeX::ResourceProviders::FormatProvider formatProvider = nullptr) وظيفة العضو.
- حدد أدلة عمل الإدخال والإخراج.
- حدد وحدة التحكم أو دفق الذاكرة كمحطة إخراج.
- احفظ ملف XPS الناتج باستخدام TeX :: Typeset (System :: String path ، System :: SharedPtrPresentation::Device الجهاز ، النظام :: SharedPtr خيارات) طريقة مع مثيل لفئة XpsDevice.
يوضح نموذج التعليمات البرمجية التالي كيفية تحويل ملف 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.
- قم بإنشاء مثيل لفئة TeXOptions باستخدام TeXConfig :: ObjectTeX (System :: SharedPtrAspose::TeX::ResourceProviders::FormatProvider formatProvider = nullptr) وظيفة العضو.
- حدد أدلة عمل الإدخال والإخراج.
- حدد وحدة التحكم أو دفق الذاكرة كمحطة إخراج.
- قم بتمرير مثيل من فئة PdfSaveOptions إلى TeXOptions-> setSaveOptions (System :: SharedPtrAspose::TeX::Presentation::SaveOptions القيمة) طريقة.
- احفظ ملف PDF الناتج باستخدام TeX :: Typeset (System :: String path، System :: SharedPtrPresentation::Device الجهاز ، النظام :: SharedPtr خيارات) طريقة مع مثيل لفئة PdfDevice.
يوضح نموذج التعليمات البرمجية التالي كيفية تحويل ملف 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 مضغوطة. فيما يلي الخطوات لتحقيق ذلك.
- قم بتحميل أرشيفات الإدخال والإخراج بتنسيق ZIP في التدفقات.
- قم بإنشاء مثيل لفئة TeXOptions باستخدام TeXConfig :: ObjectTeX (System :: SharedPtrAspose::TeX::ResourceProviders::FormatProvider formatProvider = nullptr) وظيفة العضو.
- تعيين الدلائل العمل الإدخال والإخراج.
- حدد وحدة التحكم أو دفق الذاكرة كمحطة إخراج.
- قم بتمرير مثيل من فئة PdfSaveOptions إلى TeXOptions-> setSaveOptions (System :: SharedPtrAspose::TeX::Presentation::SaveOptions القيمة) الطريقة.
- احفظ ملف PDF الناتج المضغوط باستخدام TeX :: Typeset (System :: String path، System :: SharedPtrPresentation::Device الجهاز ، النظام :: SharedPtr خيارات) طريقة مع مثيل لفئة PdfDevice.
يوضح نموذج التعليمات البرمجية التالي كيفية تحويل أرشيف 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 بالتفصيل من خلال زيارة الوثائق الرسمية. في حالة وجود أي أسئلة ، لا تتردد في الاتصال بنا على منتدى الدعم المجاني.