تكوين الخطوط لرسم الجداول الخليوية
سيناريوهات الاستخدام المحتملة
توفر APIs الخاصة بـ Aspose.Cells لـ Python via .NET إمكانية عرض جداول البيانات بصيغ صور، وكذلك تحويلها إلى صيغ PDF وXPS. من أجل تحقيق أعلى دقة في التحويل، من الضروري أن تكون الخطوط المستخدمة في جدول البيانات متاحة في مجلد الخطوط الافتراضي لنظام التشغيل. في حال عدم وجود الخطوط المطلوبة، ستقوم APIs الخاصة بـ Aspose.Cells لـ Python via .NET بمحاولة استبدال الخطوط المطلوبة بالخطوط المتاحة.
اختيار الخطوط
بالأسفل هو العملية التي تتبعها APIs الخاصة بـ Aspose.Cells لـ Python via .NET وراء الكواليس.
- تحاول الواجهة البرمجية الخارجية العثور على الخطوط في نظام الملفات تطابق اسم الخط المستخدم في الجدول الخليوي.
- إذا لم تتمكن الواجهة البرمجية الخارجية من العثور على الخطوط بنفس الاسم الدقيق، فإنها تحاول استخدام الخط الافتراضي المحدد في خصائص الدفتر.
- إذا لم تتمكن الواجهة البرمجية الخارجية من تحديد الخط المحدد تحت خصائص الدفتر، فإنها تحاول استخدام الخط المحدد تحت خصائص PdfSaveOptions.default_font أو ImageOrPrintOptions.default_font.
- إذا لم تتمكن الواجهة البرمجية الخارجية من تحديد الخط المحدد تحت خصائص PdfSaveOptions.default_font أو ImageOrPrintOptions.default_font، فإنها تحاول استخدام الخط المحدد تحت خصائص FontConfigs.default_font_name.
- إذا لم تتمكن الواجهة البرمجية الخارجية من تحديد الخط المحدد تحت خصائص FontConfigs.default_font_name، فإنها تحاول اختيار أنسب الخطوط من جميع الخطوط المتاحة.
- وأخيرًا، إذا لم تتمكن الواجهة البرمجية الخارجية من العثور على أي خطوط في نظام الملفات، تقوم بتقديم الجدول الخليوي باستخدام Arial.
تعيين مجلدات الخط المخصصة
تبحث APIs الخاصة بـ Aspose.Cells لـ Python via .NET في دليل الخطوط الافتراضي لنظام التشغيل عن الخطوط المطلوبة. في حال عدم توافر الخطوط المطلوبة في دليل الخطوط، تبحث الـ APIs في الأدلة المخصصة (المعرفَة من قبل المستخدم). لقد كشفت فئة FontConfigs عن العديد من الطرق لتعيين أدلة الخطوط المخصصة كما هو موضح أدناه.
- FontConfigs.set_font_folder: تُفيد هذه الطريقة إذا كان هناك مجلد واحد فقط يجب تعيينه.
- FontConfigs.set_font_folders: تَكون هذه الطريقة مفيدةً عندما تتواجد الخطوط في مجلدات متعددة ويرغب المستخدم في تعيين كافة المجلدات بشكل منفصل بدلاً من دمج كل الخطوط في مجلد واحد.
- FontConfigs.set_font_sources: يكون هذا الآلية مفيدًا عندما يرغب المستخدم في تحميل الخطوط من مجلدين أو ملف خط واحد أو بيانات الخط من مصفوفة بايت.
from aspose.cells import FileFontSource, FolderFontSource, FontConfigs, MemoryFontSource | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Defining string variables to store paths to font folders & font file | |
fontFolder1 = dataDir + "Arial" | |
fontFolder2 = dataDir + "Calibri" | |
fontFile = dataDir + "arial.ttf" | |
# Setting first font folder with SetFontFolder method | |
# Second parameter directs the API to search the subfolders for font files | |
FontConfigs.set_font_folder(fontFolder1, True) | |
# Setting both font folders with SetFontFolders method | |
# Second parameter prohibits the API to search the subfolders for font files | |
FontConfigs.set_font_folders([fontFolder1, fontFolder2], False) | |
# Defining FolderFontSource | |
sourceFolder = FolderFontSource(fontFolder1, False) | |
# Defining FileFontSource | |
sourceFile = FileFontSource(fontFile) | |
# Defining MemoryFontSource | |
sourceMemory = MemoryFontSource(open(fontFile, "rb").read()) | |
# Setting font sources | |
FontConfigs.set_font_sources([sourceFolder, sourceFile, sourceMemory]) |
آلية الاستبدال للخطوط
توفر APIs الخاصة بـ Aspose.Cells لـ Python via .NET أيضًا إمكانية تحديد الخط البديل لأغراض التصيير. تساعد هذه الآلية عندما لا يتوفر الخط المطلوب على الجهاز الذي تتم فيه التحويل. يمكن للمستخدمين توفير قائمة بأسماء الخطوط كبديل للخط المطلوب أصلاً. لتحقيق ذلك، كشفت APIs عن طريقة FontConfigs.set_font_substitutes التي تقبل معلمين: الأول هو من نوع string، وهو اسم الخط الذي يحتاج إلى الاستبدال، والثاني هو مصفوفة من نوع string، ويمكن للمستخدمين تقديم قائمة بأسماء الخطوط كبديل للخط الأصلي (المحدد في المعامل الأول).
فيما يلي سيناريو استخدام بسيط.
from aspose.cells import FontConfigs | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# Substituting the Arial font with Times New Roman & Calibri | |
FontConfigs.set_font_substitutes("Arial", ["Times New Roman", "Calibri" ]) |
تجميع المعلومات
بالإضافة إلى الطرق المذكورة أعلاه، توفر APIs الخاصة بـ Aspose.Cells لـ Python via .NET أيضًا وسائل لجمع المعلومات حول المصادر والاستبدالات التي تم ضبطها.
- تقوم الطريقة FontConfigs.get_font_sources بإرجاع مصفوفة من نوع FontSourceBase التي تحتوي على قائمة مصادر الخط المحددة. في حالة عدم تعيين مصادر، ستقوم الطريقة FontConfigs.get_font_sources بإرجاع مصفوفة فارغة.
- تقوم الطريقة FontConfigs.get_font_substitutes بقبول معامل من نوع string يسمح بتحديد اسم الخط الذي تم تعيين الاستبدال له. في حالة عدم تعيين الاستبدال لاسم الخط المحدد، ستقوم الطريقة FontConfigs.get_font_substitutes بإرجاع قيمة خالية.