تخصيص خطوط PowerPoint في Java

تحميل الخطوط المخصصة

Aspose.Slides يسمح لك بتحميل الخطوط التي يتم عرضها في العروض التقديمية دون الحاجة لتثبيت هذه الخطوط. يتم تحميل الخطوط من دليل مخصص.

  1. إنشاء مثيل من الفئة FontsLoader واستدعاء طريقة loadExternalFonts.
  2. تحميل العرض التقديمي الذي سيتم عرضه.
  3. مسح الذاكرة المؤقتة في الفئة FontsLoader.

هذا الكود Java يوضح عملية تحميل الخطوط:

// المجلدات للبحث عن الخطوط
String[] folders = new String[] { externalFontsDir };

// تحميل خطوط دليل الخطوط المخصص
FontsLoader.loadExternalFonts(folders);

// تنفيذ بعض الأعمال وإجراء عرض الشرائح/العرض التقديمي
Presentation pres = new Presentation("DefaultFonts.pptx");
try {
    pres.save("NewFonts_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();

    // مسح ذاكرة الخط المؤقت
    FontsLoader.clearCache();
}

الحصول على مجلدات الخطوط المخصصة

Aspose.Slides يوفر طريقة getFontFolders للسماح لك بالعثور على مجلدات الخطوط. تُرجع هذه الطريقة المجلدات التي تمت إضافتها عبر طريقة LoadExternalFonts ومجلدات الخطوط النظامية.

هذا الكود Java يوضح كيفية استخدام getFontFolders:

// تقوم هذه السطر بإخراج المجلدات التي يتم فيها البحث عن ملفات الخطوط.
// هذه هي المجلدات التي تم إضافتها عبر طريقة LoadExternalFonts ومجلدات الخطوط النظامية.
String[] fontFolders = FontsLoader.getFontFolders();

تحديد الخطوط المخصصة المستخدمة مع عرض تقديمي

Aspose.Slides يوفر الخاصية setDocumentLevelFontSources للسماح لك بتحديد الخطوط الخارجية التي ستُستخدم مع العرض التقديمي.

هذا الكود Java يوضح كيفية استخدام الخاصية setDocumentLevelFontSources:

byte[] memoryFont1 = Files.readAllBytes("customfonts/CustomFont1.ttf");
byte[] memoryFont2 = Files.readAllBytes("customfonts/CustomFont2.ttf");

LoadOptions loadOptions = new LoadOptions();
loadOptions.getDocumentLevelFontSources().setFontFolders(new String[] { "assets/fonts", "global/fonts" });
loadOptions.getDocumentLevelFontSources().setMemoryFonts(new byte[][] { memoryFont1, memoryFont2 });

Presentation pres = new Presentation("MyPresentation.pptx", loadOptions);
try {
    // العمل مع العرض التقديمي
    // CustomFont1, CustomFont2، والخطوط من مجلدات assets\fonts و global\fonts ومجلداتها الفرعية متاحة للعرض التقديمي
} finally {
    if (pres != null) pres.dispose();
}

إدارة الخطوط خارجيًا

Aspose.Slides يوفر طريقة loadExternalFont(byte[] data) للسماح لك بتحميل الخطوط الخارجية من بيانات ثنائية.

هذا الكود Java يوضح عملية تحميل الخط من مصفوفة البايت:

FontsLoader.loadExternalFont(Files.readAllBytes(Paths.get("ARIALN.TTF")));
FontsLoader.loadExternalFont(Files.readAllBytes(Paths.get("ARIALNBI.TTF")));
FontsLoader.loadExternalFont(Files.readAllBytes(Paths.get("ARIALNI.TTF")));

try
{
    Presentation pres = new Presentation("");
    try {
        // تم تحميل الخط الخارجي خلال عمر العرض التقديمي
    } finally {
        
    }
}
finally
{
    FontsLoader.clearCache();
}

الأسئلة المتكررة

هل تؤثر الخطوط المخصصة على التصدير إلى جميع الصيغ (PDF, PNG, SVG, HTML)؟

نعم. يتم استخدام الخطوط المتصلة من قبل المُصَدِّر عبر جميع صيغ التصدير.

هل يتم تضمين الخطوط المخصصة تلقائيًا في ملف PPTX الناتج؟

لا. تسجيل الخط للعرض ليس هو نفسه تضمينه في PPTX. إذا كنت تحتاج إلى حمل الخط داخل ملف العرض التقديمي، يجب عليك استخدام ميزات التضمين.

هل يمكنني التحكم في سلوك الاحتياطي عندما يفتقر الخط المخصص إلى بعض الرموز؟

نعم. قم بتكوين استبدال الخط، قواعد الاستبدال، ومجموعة الاحتياطي لتحديد بالضبط أي خط يُستخدم عندما تكون الرموز المطلوبة غير موجودة.

هل يمكنني استخدام الخطوط في حاويات Linux/Docker دون تثبيتها على مستوى النظام؟

نعم. أشِر إلى مجلدات الخطوط الخاصة بك أو حمِّل الخطوط من مصفوفات البايت. يزيل هذا أي اعتماد على دلائل الخطوط النظامية في صورة الحاوية.

ماذا عن الترخيص—هل يمكنني تضمين أي خط مخصص دون قيود؟

أنت المسؤول عن الامتثال لتراخيص الخطوط. الشروط تختلف؛ بعض الرخص تحظر التضمين أو الاستخدام التجاري. احرص دائمًا على مراجعة اتفاقية ترخيص المستخدم النهائي (EULA) للخط قبل توزيع المخرجات.