Shape

aspose-cells-foss يدعم إضافة الأشكال الهندسية ومربعات النص إلى أوراق العمل من خلال الـ ShapeCollection (ws.shapes). كل شكل يُمثَّل بـ Shape كائن مع خصائص تعبئة وخط ونص قابلة للتكوين.

Enumerations: aspose.cells_foss

from aspose.cells_foss import (
    MsoDrawingType, FillType, MsoLineDashStyle,
    TextAlignmentType, TextAnchorType,
    MsoFillFormat, MsoLineFormat, ShapeFont, Shape,
)

MsoDrawingType

MsoDrawingType هو IntEnum يحدد نوع الشكل الهندسي.

EnumerationsEnumerationsEnumerationsEnumerations
UNKNOWN0TEXT_BOX21
RECTANGLE1CALLOUT22
ROUNDED_RECTANGLE2PENTAGON23
OVAL3CLOUD24
DIAMOND4HEART25
TRIANGLE5LIGHTNING_BOLT26
RIGHT_TRIANGLE6SMILEY_FACE27
PARALLELOGRAM7LEFT_RIGHT_ARROW28
TRAPEZOID8UP_DOWN_ARROW29
HEXAGON9CUBE30
OCTAGON10BEVEL31
CROSS11STAR_412
RIGHT_ARROW17STAR_513
LEFT_ARROW18STAR_614
UP_ARROW19STAR_715
DOWN_ARROW20STAR_816

FillType

FillType هو IntEnum يحدد نوع التعبئة المطبقة على الشكل.

EnumerationsEnumerations
NONE0
SOLID1
GRADIENT2
PATTERN3
AUTOMATIC4

MsoLineDashStyle

MsoLineDashStyle هو IntEnum لنمط الخط المتقطع للحد/الخط الخارجي.

EnumerationsEnumerations
SOLID0
DASH1
DOT2
DASH_DOT3
DASH_DOT_DOT4
LONG_DASH5
LONG_DASH_DOT6

TextAlignmentType

TextAlignmentType هو IntEnum لتحاذي النص أفقيًا داخل الشكل.

EnumerationsEnumerations
LEFT0
CENTER1
RIGHT2
JUSTIFY3
DISTRIBUTED4

TextAnchorType

TextAnchorType هو IntEnum لإرساء النص عموديًا داخل الشكل.

EnumerationsEnumerations
TOP0
MIDDLE1
BOTTOM2
JUSTIFIED3

MsoFillFormat

يتحكم في مظهر التعبئة للشكل. يتم الوصول إليه عبر shape.fill.

Enumerations

EnumerationsEnumerationsEnumerations
fill_typeFillTypeنوع التعبئة النشط.
fore_colorstrلون التعبئة الأمامي (الأساسي) بصيغة سداسي عشرية RRGGBB.
transparencyfloatعتامة التعبئة كقيمة من 0.0 (معتم تمامًا) إلى 1.0 (شفاف تمامًا).

Enumerations

copy

fill.copy() -> MsoFillFormat

يعيد نسخة عميقة من إعدادات التعبئة هذه.


MsoLineFormat

يتحكم في مظهر الخط الخارجي/الحد للشكل. يتم الوصول إليه عبر shape.line.

Enumerations

EnumerationsEnumerationsEnumerations
is_visibleboolTrue لرسم حدود الشكل.
colorstrلون الحدود بصيغة سداسي عشرية RRGGBB.
weightintوزن الحدود (السُمك) بالنقاط.
dash_styleMsoLineDashStyleنمط الشرط للحدود.
transparencyfloatشفافية الحدود من 0.0 (معتم) إلى 1.0 (شفاف).

Enumerations

copy

line.copy() -> MsoLineFormat

يعيد نسخة عميقة من إعدادات الخط هذه.


ShapeFont

يتحكم في خط النص داخل الشكل. يتم الوصول إليه عبر shape.font.

Enumerations

EnumerationsEnumerationsEnumerations
namestrاسم عائلة الخط (مثالاً،., "Calibri").
sizefloatحجم الخط بالنقاط.
boldboolTrue لوزن عريض.
italicboolTrue للنمط المائل.
underlineboolTrue للتسطير الفردي.
colorstrلون الخط بصيغة سداسي RRGGBB.

Enumerations

copy

font.copy() -> ShapeFont

يعيد نسخة عميقة من إعدادات الخط هذه.


Enumerations

Shape الكائنات لا تُنشأ مباشرة. استخدم ws.shapes.add(...) أو ws.shapes.add_text_box(...).

Enumerations

EnumerationsEnumerationsEnumerationsEnumerations
namestrقراءة/كتابةاسم الشكل (يجب أن يكون فريدًا داخل ورقة العمل).
drawing_typeMsoDrawingTypeEnumerationsالنوع الهندسي لهذا الشكل.
upper_left_rowintقراءة/كتابة0-based row index of the top-left anchor cell.
upper_left_columnintقراءة/كتابة0-based column index of the top-left anchor cell.
lower_right_rowintقراءة/كتابة0-based row index of the bottom-right anchor cell.
lower_right_columnintقراءة/كتابة0-based column index of the bottom-right anchor cell.
upper_left_row_offsetintقراءة/كتابةإزاحة البكسل من الحافة العلوية للخلية العلوية اليسرى.
upper_left_column_offsetintقراءة/كتابةإزاحة البكسل من الحافة اليسرى للخلية العلوية اليسرى.
lower_right_row_offsetintقراءة/كتابةإزاحة البكسل من الحافة العلوية للخلية السفلية اليمنى.
lower_right_column_offsetintقراءة/كتابةإزاحة بالبكسل من الحافة اليسرى للخلية السفلية اليمنى.
fillMsoFillFormatEnumerationsإعدادات التعبئة (الخلفية).
lineMsoLineFormatEnumerationsإعدادات الخط الخارجي/الحد.
textstrقراءة/كتابةمحتوى النص المعروض داخل الشكل.
fontShapeFontEnumerationsإعدادات الخط لنص الشكل.
text_horizontal_alignmentTextAlignmentTypeقراءة/كتابةمحاذاة النص أفقياً داخل الشكل.
text_vertical_alignmentTextAnchorTypeقراءة/كتابةتثبيت النص عمودياً داخل الشكل.
is_text_wrappedboolقراءة/كتابةTrue لتغليف النص عند حدود الشكل.
is_lockedboolقراءة/كتابةTrue لقفل الشكل عندما تكون حماية ورقة العمل مفعلة.
is_hiddenboolقراءة/كتابةTrue لإخفاء الشكل.
hyperlink`strNone`قراءة/كتابة

Enumerations

copy

shape.copy() -> Shape

يعيد نسخة عميقة من هذا الشكل مع الحفاظ على جميع التنسيقات.


ShapeCollection

ShapeCollection يتم الوصول إليه كـ ws.shapes. يحتوي على جميع الأشكال في ورقة العمل.

Enumerations

add

ws.shapes.add(
    drawing_type: MsoDrawingType,
    upper_left_row: int,
    upper_left_column: int,
    lower_right_row: int,
    lower_right_column: int
) -> Shape

يضيف شكلاً من النوع المحدد. جميع معاملات الموقع هي مؤشرات صف/عمود تبدأ من الصفر.

add_text_box

ws.shapes.add_text_box(
    upper_left_row: int,
    upper_left_column: int,
    lower_right_row: int,
    lower_right_column: int
) -> Shape

اختصار لـ add(MsoDrawingType.TEXT_BOX, ...).

الخصائص والتكرار

EnumerationsEnumerations
countعدد الأشكال في المجموعة (للقراءة فقط).
__len__()Enumerations count.
__iter__()يتنقل عبر جميع Shape الكائنات.
__getitem__(index)يرجع الـ Shape على أساس الصفر index.

Enumerations

إضافة مستطيل بملء صلب

from aspose.cells_foss import Workbook, MsoDrawingType, FillType, MsoLineDashStyle, TextAlignmentType

wb = Workbook()
ws = wb.worksheets[0]

# Add a blue rectangle spanning rows 1-5, columns 1-4 (0-based)
rect = ws.shapes.add(MsoDrawingType.RECTANGLE, 1, 1, 5, 4)
rect.name = "BlueBox"

rect.fill.fill_type = FillType.SOLID
rect.fill.fore_color = "4472C4"      # blue
rect.fill.transparency = 0.0

rect.line.is_visible = True
rect.line.color = "1F3864"           # dark blue
rect.line.weight = 2
rect.line.dash_style = MsoLineDashStyle.SOLID

rect.text = "Sales Summary"
rect.font.bold = True
rect.font.color = "FFFFFF"           # white text
rect.font.size = 12
rect.text_horizontal_alignment = TextAlignmentType.CENTER

wb.save("shapes.xlsx")

إضافة صندوق نص

from aspose.cells_foss import Workbook

wb = Workbook()
ws = wb.worksheets[0]

tb = ws.shapes.add_text_box(2, 0, 5, 3)
tb.name = "NoteBox"
tb.text = "Review this section before publishing."
tb.font.italic = True
tb.font.color = "595959"
tb.is_text_wrapped = True
tb.line.is_visible = True
tb.line.color = "BFBFBF"

wb.save("textbox.xlsx")

انظر أيضًا

 العربية