خط مخصص لبوربوينت في JavaScript
يتيح لك Aspose Slides تحميل هذه الخطوط باستخدام طريقة loadExternalFonts.
تحميل الخطوط المخصصة
يتيح لك Aspose.Slides تحميل الخطوط التي تُظهر في العروض التقديمية دون الحاجة إلى تثبيت تلك الخطوط. يتم تحميل الخطوط من دليل مخصص.
- إنشاء كائن من الفئة FontsLoader واستدعاء طريقة loadExternalFonts.
- تحميل العرض التقديمي الذي سيتم عرضه.
- مسح الذاكرة المؤقتة في الفئة FontsLoader.
يظهر هذا الكود JavaScript عملية تحميل الخط:
// مجلدات للبحث عن الخطوط
var folders = java.newArray("java.lang.String", [externalFontsDir]);
// تحميل خطوط دليل الخطوط المخصص
aspose.slides.FontsLoader.loadExternalFonts(folders);
// أداء بعض العمل وإجراء عرض الشرائح/التقديم
var pres = new aspose.slides.Presentation("DefaultFonts.pptx");
try {
pres.save("NewFonts_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
// يمسح ذاكرة التخزين المؤقت للخطوط
aspose.slides.FontsLoader.clearCache();
}
الحصول على مجلد الخطوط المخصصة
توفر Aspose.Slides طريقة getFontFolders لتتيح لك العثور على مجلدات الخطوط. تُعيد هذه الطريقة المجلدات التي أضيفت عبر طريقة LoadExternalFonts ومجلدات الخطوط النظامية.
يعرض هذا الكود JavaScript كيفية استخدام getFontFolders:
// يقوم هذا السطر بإخراج المجلدات التي يتم البحث فيها عن ملفات الخطوط.
// هذه هي المجلدات التي تمت إضافتها عبر طريقة LoadExternalFonts ومجلدات الخطوط النظامية.
var fontFolders = aspose.slides.FontsLoader.getFontFolders();
تحديد الخطوط المخصصة المستخدمة مع العرض التقديمي
توفر Aspose.Slides الخاصية setDocumentLevelFontSources لتتيح لك تحديد الخطوط الخارجية التي ستُستخدم مع العرض التقديمي.
يعرض هذا الكود JavaScript كيفية استخدام الخاصية setDocumentLevelFontSources:
var memoryFont1 = java.newInstanceSync("java.io.FileInputStream", java.newInstanceSync("java.io.File", "customfonts/CustomFont1.ttf"));
var memoryFont2 = java.newInstanceSync("java.io.FileInputStream", java.newInstanceSync("java.io.File", "customfonts/CustomFont2.ttf"));
var loadOptions = new aspose.slides.LoadOptions();
loadOptions.getDocumentLevelFontSources().setFontFolders(java.newArray("java.lang.String", ["assets/fonts", "global/fonts"]));
loadOptions.getDocumentLevelFontSources().setMemoryFonts(java.newArray("[B", [java.newArray("byte", ["item1", "item2", "item3"])]));
var pres = new aspose.slides.Presentation("MyPresentation.pptx", loadOptions);
try {
// العمل مع العرض التقديمي
// CustomFont1 و CustomFont2 والخطوط من مجلدي assets\fonts و global\fonts ومجلداتهما الفرعية متاحة للعرض التقديمي
} finally {
if (pres != null) {
pres.dispose();
}
}
إدارة الخطوط خارجيًا
توفر Aspose.Slides الطريقة loadExternalFont(byte[] data) لتتيح لك تحميل الخطوط الخارجية من بيانات ثنائية.
يظهر هذا الكود JavaScript عملية تحميل الخط من مصفوفة بايت:
java.callStaticMethodSync("com.aspose.slides.FontsLoader", "loadExternalFonts", java.newInstanceSync("java.io.FileInputStream", java.newInstanceSync("java.io.File", "ARIALN.TTF")));
java.callStaticMethodSync("com.aspose.slides.FontsLoader", "loadExternalFonts", java.newInstanceSync("java.io.FileInputStream", java.newInstanceSync("java.io.File", "ARIALNBI.TTF")));
java.callStaticMethodSync("com.aspose.slides.FontsLoader", "loadExternalFonts", java.newInstanceSync("java.io.FileInputStream", java.newInstanceSync("java.io.File", "ARIALNI.TTF")));
try {
var pres = new aspose.slides.Presentation("");
try {
// تم تحميل الخط الخارجي خلال مدة تشغيل العرض التقديمي
} finally {
}
} finally {
java.callStaticMethodSync("com.aspose.slides.FontsLoader", "clearCache");
}
الأسئلة المتكررة
هل تؤثر الخطوط المخصصة على التصدير إلى جميع الصيغ (PDF, PNG, SVG, HTML)؟
نعم. تُستخدم الخطوط المتصلة من قبل المُصِغِّ في جميع صيغ التصدير.
هل يتم تضمين الخطوط المخصصة تلقائيًا في ملف PPTX الناتج؟
لا. تسجيل الخط للعرض ليس هو نفسه تضمينه في ملف PPTX. إذا كنت بحاجة إلى احتواء الخط داخل ملف العرض التقديمي، يجب عليك استخدام ميزات التضمين.
هل يمكنني التحكم في سلوك الاحتياطي عندما يفتقر الخط المخصص إلى بعض الحروف؟
نعم. يمكنك تكوين استبدال الخطوط، قواعد الاستبدال، ومجموعات الاحتياطي لتحديد الخط المحدد الذي يُستخدم عندما يكون الحرف المطلوب غير موجود.
هل يمكنني استخدام الخطوط في حاويات Linux/Docker دون تثبيتها على مستوى النظام؟
نعم. يمكن الإشارة إلى مجلدات الخطوط الخاصة بك أو تحميل الخطوط من مصفوفات البايت. هذا يزيل أي اعتماد على دلائل الخطوط النظامية في صورة الحاوية.
ماذا عن الترخيص — هل يمكنني تضمين أي خط مخصص دون قيود؟
أنت المسؤول عن الامتثال لتراخيص الخطوط. تختلف الشروط؛ بعض التراخيص تحظر التضمين أو الاستخدام التجاري. دائمًا راجع اتفاقية ترخيص المستخدم النهائي للخط قبل توزيع المخرجات.