TeX یک سیستم حروفچینی است که به عنوان یکی از پیچیدهترین سیستمهای تایپوگرافی دیجیتال مورد توجه قرار گرفته است. TeX برای حروفچینی اسناد و تولید خروجی هایی مانند PDF، XPS و فرمت های مختلف تصویر استفاده می شود. ممکن است شرایطی وجود داشته باشد که شما نیاز به طراحی یکسری اسناد داشته باشید. برای آن، ایجاد یک قالب TeX سفارشی مفید خواهد بود. برای این منظور، این مقاله به شما یاد می دهد که چگونه یک فرمت TeX سفارشی ایجاد کنید و آن را با استفاده از C++ به فرمت های PDF و XPS تایپ کنید.
- C++ API برای ایجاد فرمت TeX سفارشی و تایپ کردن آن به PDF و XPS
- با استفاده از C++ یک قالب TeX سفارشی ایجاد کنید
- قالب سفارشی TeX را به فرمت XPS تایپ کنید
- قالب سفارشی TeX را به فرمت PDF تایپ کنید
C++ API برای ایجاد فرمت TeX سفارشی و تایپ کردن آن به PDF و XPS
Aspose.TeX for C++ یک کتابخانه C++ برای کار با فایل های TeX بدون نیاز به نصب نرم افزار اضافی است. API به شما اجازه میدهد تا فایلهای TeX را تایپ کنید، فرمت TeX سفارشی ایجاد کنید و خروجی را در فرمتهایی مانند XPS، PDF، PNG، JPEG، TIFF، BMP تولید کنید. میتوانید API را از طریق NuGet نصب کنید یا آن را مستقیماً از بخش Downloads دانلود کنید.
PM> Install-Package Aspose.TeX.Cpp
با استفاده از C++ یک قالب TeX سفارشی ایجاد کنید
مراحل زیر برای ایجاد یک قالب TeX سفارشی است.
- با استفاده از مقدار ویژگی TeXConfig::getObjectIniTeX() یک نمونه از کلاس TeXOptions ایجاد کنید.
- دایرکتوری های کاری ورودی و خروجی را مشخص کنید.
- قالب را با استفاده از TeX::CreateFormat(System:: مسیر رشته، System::SharedPtr ایجاد کنید گزینه ها) روش.
کد نمونه زیر نحوه ایجاد یک قالب 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 جریان، System::SharedPtrPresentation::Device دستگاه، سیستم::SharedPtr گزینه ها) را متد کنید و شیء 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 آمده است.
- یک نمونه از کلاس IWorkingDirectory برای نمایش دایرکتوری کاری ورودی ایجاد کنید.
- فایل TeX را با استفاده از کلاس FormatProvider بارگیری کنید.
- یک نمونه از کلاس TeXOptions را با استفاده از شیء FormatProvider ایجاد کنید که قبلاً ایجاد شده است.
- JobName، InputWorkingDirectory و OutputWorkingDirectory را تنظیم کنید.
- یک نمونه از کلاس PdfSaveOptions ایجاد کنید و آن را به TeXOptions->setSaveOptions(System::SharedPtr ارسال کنید.Aspose::TeX::Presentation::SaveOptions مقدار) روش.
- از Typeset(System::SharedPtrSystem::IO::Stream جریان، System::SharedPtrPresentation::Device دستگاه، سیستم::SharedPtr گزینه ها) را متد کنید و شیء PdfDevice را به عنوان آرگومان برای ایجاد خروجی 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());
}
}
مجوز رایگان دریافت کنید
با درخواست [مجوز موقت رایگان30 میتوانید API را بدون محدودیت ارزیابی امتحان کنید.
نتیجه
در این مقاله، نحوه ایجاد یک فرمت TeX سفارشی با استفاده از C++ را یاد گرفتید. علاوه بر این، یاد گرفتهاید که چگونه یک قالب TeX سفارشی را با استفاده از Aspose.TeX برای C++ API به فرمتهای PDF و XPS تایپ کنید. میتوانید با مراجعه به مستندات رسمی API را با جزئیات بررسی کنید. در صورت وجود هرگونه سوال، لطفاً در [تالار گفتمان پشتیبانی رایگان32 ما با ما تماس بگیرید.