TeX היא מערכת קביעת כתיבה שצוינה כאחת המערכות הטיפוגרפיות הדיגיטליות המתוחכמות ביותר. TeX משמש לקביעת הקלדה של מסמכים ויצירת פלטים כמו PDF, XPS ופורמטים שונים של תמונה. ייתכנו מצבים שבהם אתה צריך לעצב חבורה של מסמכים בצורה אחידה. לשם כך, יצירת פורמט TeX מותאם אישית יוכיח את עצמו כמועיל. לשם כך, מאמר זה ילמד אותך כיצד ליצור פורמט TeX מותאם אישית ולהגדיר אותו לפורמטים PDF ו-XPS באמצעות C++.
- C++ API ליצירת פורמט TeX מותאם אישית והגדרתו ל-PDF ו-XPS
- צור פורמט TeX מותאם אישית באמצעות C++
- הגדר פורמט 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 או להוריד אותו ישירות מהקטע הורדות.
PM> Install-Package Aspose.TeX.Cpp
צור פורמט TeX מותאם אישית באמצעות C++
להלן השלבים ליצירת פורמט TeX מותאם אישית.
- צור מופע של המחלקה TeXOptions באמצעות ערך המאפיין TeXConfig::getObjectIniTeX().
- ציין את ספריות העבודה של הקלט והפלט.
- צור את הפורמט באמצעות [TeX::CreateFormat(System::String path, System::SharedPtr אפשרויות)]שיטה 9.
הקוד לדוגמה הבא מדגים כיצד ליצור פורמט 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 מכשיר, System::SharedPtr options) והעברת אובייקט 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::SharedPtrAspose::TeX::Presentation::SaveOptions ערך)]שיטה 27.
- השתמש ב-Typeset(System::SharedPtrSystem::IO::Stream זרם, System::SharedPtrPresentation::Device מכשיר, System::SharedPtr options) והעברת אובייקט 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());
}
}
קבל רישיון חינם
אתה יכול לנסות את ה-API ללא מגבלות הערכה על ידי בקשת [רישיון זמני בחינם].30
סיכום
במאמר זה, למדת כיצד ליצור פורמט TeX מותאם אישית באמצעות C++. יתר על כן, למדת כיצד להגדיר פורמט TeX מותאם אישית לפורמטים של PDF ו-XPS באמצעות Aspose.TeX עבור C++ API. אתה יכול לחקור את ה-API בפירוט על ידי ביקור בתיעוד הרשמי. בכל שאלה, אנא אל תהסס לפנות אלינו בפורום התמיכה החינמי שלנו.