קבצי TeX משמשים לקביעת הקלדה של מסמכים וספרים שונים המכילים טקסט, סמלים וביטויים אריתמטיים. בנוסף, קבצים אלה יכולים ליצור פלטים כמו PDF, XPS, ופורמטים שונים של תמונה. במאמר זה, תלמד כיצד להמיר קבצי TeX לפורמט XPS ו-PDF באמצעות C++.
- C++ API להמרת TeX לפורמט PDF ו-XPS
- המרת TeX לפורמט XPS באמצעות C++
- המרת TeX לפורמט PDF באמצעות C++
- המרת ספריית TeX ZIP ל-PDF ZIP Directory באמצעות C++
C++ API להמרת TeX לפורמט PDF ו-XPS
Aspose.TeX for C++ היא ספריית C++ לעבודה עם קבצי TeX ללא צורך בהתקנה של תוכנה נוספת. ה-API מאפשר לך להגדיר קבצי 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 מכשיר, System::SharedPtr שיטת options) עם מופע של המחלקה 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 value) שיטה.
- שמור את קובץ ה-PDF הפלט באמצעות TeX::Typeset(System::String path, System::SharedPtrPresentation::Device מכשיר, System::SharedPtr שיטת options) עם מופע של המחלקה 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 Directory באמצעות 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 ערך)]שיטה 26.
- שמור את קובץ ה-PDF המכווץ של הפלט באמצעות TeX::Typeset(System::String path, System::SharedPtrPresentation::Device מכשיר, System::SharedPtr שיטת options) עם מופע של המחלקה PdfDevice.
הקוד לדוגמה הבא מראה כיצד להמיר ארכיון TeX ZIP לארכיון PDF ZIP באמצעות C++.
// פתח את קובץ ה-zip המקור בזרם
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 {
// פתח את קובץ ה-zip הפלט בזרם
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());
}
קבל רישיון חינם
אתה יכול לנסות את ה-API ללא מגבלות הערכה על ידי בקשת [רישיון זמני בחינם].29
סיכום
במאמר זה, למדת כיצד להמיר קבצי TeX לפורמט XPS ו-PDF באמצעות C++. יתר על כן, למדת כיצד להמיר קבצי TeX בארכיון ZIP לקובצי PDF דחוסים. Aspose.TeX for C++ מספק תכונות נוספות רבות לעבודה עם קבצי TeX. אתה יכול לחקור את ה-API בפירוט על ידי ביקור בתיעוד הרשמי. בכל שאלה, אנא אל תהסס לפנות אלינו בפורום התמיכה החינמי שלנו.