تخصيص خطوط PowerPoint في .NET
يتيح Aspose Slides تحميل هذه الخطوط باستخدام الطريقة FontsLoader.LoadExternalFonts:
تحميل الخطوط المخصصة
يتيح Aspose.Slides تحميل الخطوط التي يتم عرضها في العروض التقديمية دون الحاجة إلى تثبيتها. يتم تحميل الخطوط من دليل مخصص.
- أنشئ مثالًا من الفئة FontsLoader واستدعِ الطريقة LoadExternalFonts.
- حمّل العرض التقديمي الذي سيتم عرضه.
- امسح الذاكرة المؤقتة في فئة FontsLoader.
يعرض هذا الكود C# عملية تحميل الخطوط:
// مسار مجلد المستندات
string dataDir = "C:\\";
// مجلدات للبحث عن الخطوط
String[] folders = new String[] { dataDir };
// تحميل خطوط مجلد الخطوط المخصص
FontsLoader.LoadExternalFonts(folders);
// القيام ببعض العمل وتنفيذ عرض تقديمي/شريحة
using (Presentation presentation = new Presentation(dataDir + "DefaultFonts.pptx"))
presentation.Save(dataDir + "NewFonts_out.pptx", SaveFormat.Pptx);
// مسح ذاكرة التخزين المؤقت للخطوط
FontsLoader.ClearCache();
الحصول على مجلدات الخطوط المخصصة
توفر Aspose.Slides الطريقة GetFontFolders لتسمح لك بالعثور على مجلدات الخطوط. تُرجع هذه الطريقة المجلدات التي أضيفت عبر طريقة LoadExternalFonts ومجلدات الخطوط النظامية.
يعرض هذا الكود C# كيفية استخدام GetFontFolders:
// يطبع هذا السطر المجلدات التي يتم فحصها لملفات الخطوط.
// هذه هي المجلدات التي أضيفت عبر طريقة LoadExternalFonts ومجلدات الخطوط النظامية.
string[] fontFolders = FontsLoader.GetFontFolders();
تحديد الخطوط المخصصة المستخدمة مع العرض التقديمي
توفر Aspose.Slides الخاصية DocumentLevelFontSources لتسمح لك بتحديد الخطوط الخارجية التي ستُستخدم مع العرض التقديمي.
يعرض هذا الكود C# كيفية استخدام الخاصية DocumentLevelFontSources:
byte[] memoryFont1 = File.ReadAllBytes("customfonts\\CustomFont1.ttf");
byte[] memoryFont2 = File.ReadAllBytes("customfonts\\CustomFont2.ttf");
LoadOptions loadOptions = new LoadOptions();
loadOptions.DocumentLevelFontSources.FontFolders = new string[] { "assets\\fonts", "global\\fonts" };
loadOptions.DocumentLevelFontSources.MemoryFonts = new byte[][] { memoryFont1, memoryFont2 };
using (IPresentation presentation = new Presentation("MyPresentation.pptx", loadOptions))
{
// العمل مع العرض التقديمي
// خطوط CustomFont1 و CustomFont2 والخطوط من مجلدات assets\fonts و global\fonts ومجلداتها الفرعية متاحة للعرض التقديمي
}
إدارة الخطوط خارجيًا
توفر Aspose.Slides الطريقة LoadExternalFont(byte[] data) لتسمح لك بتحميل الخطوط الخارجية من بيانات ثنائية.
يعرض هذا الكود C# عملية تحميل الخط من مصفوفة بايت:
FontsLoader.LoadExternalFont(File.ReadAllBytes("ARIALN.TTF"));
FontsLoader.LoadExternalFont(File.ReadAllBytes("ARIALNBI.TTF"));
FontsLoader.LoadExternalFont(File.ReadAllBytes("ARIALNI.TTF"));
try
{
using (Presentation pres = new Presentation(""))
{
// خط خارجي تم تحميله خلال مدة عرض العرض التقديمي
}
}
finally
{
FontsLoader.ClearCache();
}
الأسئلة المتكررة
هل تؤثر الخطوط المخصصة على التصدير إلى جميع الصيغ (PDF, PNG, SVG, HTML)؟
نعم. تُستخدم الخطوط المتصلة بواسطة المحرك عبر جميع صيغ التصدير.
هل يتم تضمين الخطوط المخصصة تلقائيًا في ملف PPTX الناتج؟
لا. تسجيل الخط للعرض لا يعني تضمينه في ملف PPTX. إذا كنت بحاجة إلى تضمين الخط داخل ملف العرض، يجب عليك استخدام ميزات embedding features.
هل يمكنني التحكم في سلوك العودة عندما يفتقر الخط المخصص إلى بعض الرموز؟
نعم. قم بتكوين font substitution، replacement rules، وfallback sets لتحديد الخط الذي سيُستخدم عندما تكون الرموز المطلوبة غير موجودة.
هل يمكنني استخدام الخطوط في حاويات Linux/Docker دون تثبيتها على مستوى النظام؟
نعم. يمكنك الإشارة إلى مجلدات الخطوط الخاصة بك أو تحميل الخطوط من مصفوفات بايت. هذا يزيل أي اعتماد على مجلدات الخطوط النظامية داخل صورة الحاوية.
ماذا عن الترخيص—هل يمكنني تضمين أي خط مخصص دون قيود؟
أنت المسؤول عن الالتزام بتراخيص الخطوط. تختلف الشروط؛ بعض الترخيصات تحظر التضمين أو الاستخدام التجاري. تأكد دائمًا من مراجعة اتفاقية ترخيص المستخدم النهائي (EULA) للخط قبل توزيع المخرجات.