تكوين الخطوط لرسم الجداول الخليوية

سيناريوهات الاستخدام المحتملة

توفر Aspose.Cells APIs مرفق تقديم الجداول الخليوية بتنسيق الصور وتحويلها إلى تنسيقات PDF و XPS. من أجل زيادة دقة التحويل، من الضروري أن تكون الخطوط المستخدمة في الجدول الخليوي متوفرة في مجلد الخط الافتراضي لنظام التشغيل. في حالة عدم توفر الخطوط المطلوبة، ستحاول Aspose.Cells APIs استبدال الخطوط المطلوبة بتلك المتاحة.

اختيار الخطوط

أدناه هو العملية التي تتبعها Aspose.Cells APIs خلف الكواليس.

  1. تحاول الواجهة البرمجية الخارجية العثور على الخطوط في نظام الملفات تطابق اسم الخط المستخدم في الجدول الخليوي.
  2. إذا لم تتمكن الواجهة البرمجية الخارجية من العثور على الخطوط بنفس الاسم الدقيق، فإنها تحاول استخدام الخط الافتراضي المحدد في خصائص الدفتر.
  3. إذا لم تتمكن الواجهة البرمجية الخارجية من تحديد الخط المحدد تحت خصائص الدفتر، فإنها تحاول استخدام الخط المحدد تحت خصائص PdfSaveOptions.DefaultFont أو ImageOrPrintOptions.DefaultFont.
  4. إذا لم تتمكن الواجهة البرمجية الخارجية من تحديد الخط المحدد تحت خصائص PdfSaveOptions.DefaultFont أو ImageOrPrintOptions.DefaultFont، فإنها تحاول استخدام الخط المحدد تحت خصائص FontConfigs.DefaultFontName.
  5. إذا لم تتمكن الواجهة البرمجية الخارجية من تحديد الخط المحدد تحت خصائص FontConfigs.DefaultFontName، فإنها تحاول اختيار أنسب الخطوط من جميع الخطوط المتاحة.
  6. وأخيرًا، إذا لم تتمكن الواجهة البرمجية الخارجية من العثور على أي خطوط في نظام الملفات، تقوم بتقديم الجدول الخليوي باستخدام Arial.

تعيين مجلدات الخط المخصصة

تبحث واجهات برمجة تطبيقات Aspose.Cells في دليل الخطوط الافتراضية لنظام التشغيل للخطوط المطلوبة. في حالة عدم توفر الخطوط المطلوبة في دليل خطوط النظام، تبحث الواجهات عبر الدلائل المخصصة (المعرفة للمستخدم). فئة FontConfigs قد عرضت العديد من الطرق لتعيين الدلائل المخصصة كما هو مفصل أدناه.

  1. FontConfigs.SetFontFolder: تُفيد هذه الطريقة إذا كان هناك مجلد واحد فقط يجب تعيينه.
  2. FontConfigs.SetFontFolders: تَكون هذه الطريقة مفيدةً عندما تتواجد الخطوط في مجلدات متعددة ويرغب المستخدم في تعيين كافة المجلدات بشكل منفصل بدلاً من دمج كل الخطوط في مجلد واحد.
  3. FontConfigs.SetFontSources: يكون هذا الآلية مفيدًا عندما يرغب المستخدم في تحميل الخطوط من مجلدين أو ملف خط واحد أو بيانات الخط من مصفوفة بايت.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Defining string variables to store paths to font folders & font file
string fontFolder1 = dataDir + "Arial";
string fontFolder2 = dataDir + "Calibri";
string fontFile = dataDir + "arial.ttf";
// Setting first font folder with SetFontFolder method
// Second parameter directs the API to search the subfolders for font files
FontConfigs.SetFontFolder(fontFolder1, true);
// Setting both font folders with SetFontFolders method
// Second parameter prohibits the API to search the subfolders for font files
FontConfigs.SetFontFolders(new string[] { fontFolder1, fontFolder2 }, false);
// Defining FolderFontSource
FolderFontSource sourceFolder = new FolderFontSource(fontFolder1, false);
// Defining FileFontSource
FileFontSource sourceFile = new FileFontSource(fontFile);
// Defining MemoryFontSource
MemoryFontSource sourceMemory = new MemoryFontSource(System.IO.File.ReadAllBytes(fontFile));
// Setting font sources
FontConfigs.SetFontSources(new FontSourceBase[] { sourceFolder, sourceFile, sourceMemory });

آلية الاستبدال للخطوط

توفر واجهات برمجة التطبيقات لـ Aspose.Cells أيضًا القدرة على تحديد الخط البديل لأغراض العرض. يكون هذا الآلية مفيدًا عندما لا يكون الخط المطلوب متاحًا على الجهاز الذي يجب أن تحدث فيه التحويل. يمكن للمستخدمين تقديم قائمة بأسماء الخطوط كبديل للخط المطلوب بشكل أصلي. ومن أجل تحقيق هذا، فقد قدمت واجهات برمجة التطبيقات لـ Aspose.Cells الطريقة FontConfigs.SetFontSubstitutes التي تقبل 2 معامل. المعامل الأول من نوع string، يجب أن يكون اسم الخط الذي يجب أن يتم استبداله. المعامل الثاني هو مصفوفة من نوع string. يمكن للمستخدمين تقديم قائمة بأسماء الخطوط كاستبدال لاسم الخط الأصلي (المحدد في المعامل الأول).

فيما يلي سيناريو استخدام بسيط.

// 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.SetFontSubstitutes("Arial", new string[] { "Times New Roman", "Calibri" });

تجميع المعلومات

بالإضافة إلى الطرق المذكورة أعلاه، قدمت واجهات برمجة التطبيقات Aspose.Cells وسيلة لجمع المعلومات حول المصادر والاستبدالات التي تم تعيينها.

  1. تقوم الطريقة FontConfigs.GetFontSources بإرجاع مصفوفة من نوع FontSourceBase التي تحتوي على قائمة مصادر الخط المحددة. في حالة عدم تعيين مصادر، ستقوم الطريقة FontConfigs.GetFontSources بإرجاع مصفوفة فارغة.
  2. تقوم الطريقة FontConfigs.GetFontSubstitutes بقبول معامل من نوع string يسمح بتحديد اسم الخط الذي تم تعيين الاستبدال له. في حالة عدم تعيين الاستبدال لاسم الخط المحدد، ستقوم الطريقة FontConfigs.GetFontSubstitutes بإرجاع قيمة خالية.

مواضيع متقدمة