کار با Shapes

این مبحث نحوه کار برنامه‌نویسی با اشکال با استفاده از Aspose.Words را مورد بحث قرار می‌دهد.

اشکال در Aspose.Words یک شی را در لایه ترسیم نشان می دهند، مانند AutoShape، textbox، freeform، Object OLE، کنترل ActiveX یا تصویر. یک سند Word می تواند شامل یک یا چند شکل مختلف باشد. اشکال در Aspose.Words با کلاس Shape نشان داده می شوند.

درج اشکال با استفاده از Document Builder

می توانید شکل درون خطی با نوع و اندازه مشخص و شکل شناور آزاد با موقعیت، اندازه و نوع بسته بندی متن مشخص شده را با استفاده از روش InsertShape در یک سند وارد کنید. روش InsertShape اجازه می دهد تا شکل DML را در مدل سند وارد کنید. سند باید در قالبی ذخیره شود که از اشکال DML پشتیبانی می کند، در غیر این صورت، این گره ها در حین ذخیره سند به شکل VML تبدیل می شوند.

مثال کد زیر نحوه درج این نوع اشکال را در سند نشان می دهد:

تنظیم نسبت تصویر قفل شده است

با استفاده از Aspose.Words، می توانید تعیین کنید که آیا نسبت ابعاد شکل از طریق ویژگی AspectRatioLocked قفل شده است یا خیر.

مثال کد زیر نحوه کار با ویژگی AspectRatioLocked را نشان می دهد:

تنظیم طرح بندی شکل در سلول

همچنین می توانید با استفاده از ویژگی IsLayoutInCell تعیین کنید که شکل در داخل جدول نمایش داده شود یا خارج از آن.

مثال کد زیر نحوه کار با ویژگی IsLayoutInCell را نشان می دهد:

یک مستطیل گوشه برش ایجاد کنید

می توانید با استفاده از Aspose.Words یک مستطیل گوشه بریده ایجاد کنید. انواع شکل ها عبارتند از SingleCornerSnipped، TopCornersSnipped، DiagonalCornersSnipped، TopCornersOneRoundedOneSnipped، SingleCornerRounded، TopCornersRounded و DiagonalCornersRounded.

شکل DML با استفاده از روش InsertShape با این انواع شکل ایجاد می شود. این انواع را نمی توان برای ایجاد اشکال VML استفاده کرد. تلاش برای ایجاد شکل با استفاده از سازنده عمومی کلاس “Shape” استثنای “NotSupportedException” را ایجاد می کند.

مثال کد زیر نحوه درج این نوع اشکال را در سند نشان می دهد:

امتیاز مرزهای شکل واقعی را دریافت کنید

با استفاده از Aspose.Words API، می توانید مکان و اندازه شکل حاوی بلوک را در نقاط، نسبت به لنگر بالاترین شکل بدست آورید. برای این کار از ویژگی BoundsInPoints استفاده کنید.

مثال کد زیر نحوه کار با ویژگی BoundsInPoints را نشان می دهد:

Vertical Anchor را مشخص کنید

با استفاده از ویژگی VerticalAnchor می‌توانید تراز عمودی متن را در یک شکل مشخص کنید.

مثال کد زیر نحوه کار با ویژگی VerticalAnchor را نشان می دهد:

تشخیص شکل SmartArt

Aspose.Words همچنین اجازه می دهد تا تشخیص دهد که آیا Shape دارای یک شی SmartArt است یا خیر. برای این کار از ویژگی HasSmartArt استفاده کنید.

مثال کد زیر نحوه کار با ویژگی HasSmartArt را نشان می دهد:

درج قانون افقی در سند

با استفاده از روش InsertHorizontalRule می توانید شکل قاعده افقی را در سند وارد کنید.

مثال کد زیر نحوه انجام این کار را نشان می دهد:

Aspose.Words API ویژگی HorizontalRuleFormat را برای دسترسی به خصوصیات شکل قاعده افقی فراهم می کند. کلاس HorizontalRuleFormat ویژگی های اساسی مانند Height، Color، NoShade و غیره را برای قالب بندی یک قانون افقی نشان می دهد.

مثال کد زیر نحوه تنظیم HorizontalRuleFormat را نشان می دهد:

اشکال را با Math XML به عنوان Shapes به DOM وارد کنید

می توانید از ویژگی ConvertShapeToOfficeMath برای تبدیل اشکال با EquationXML به آبجکت های Office Math استفاده کنید. مقدار پیش فرض این ویژگی با رفتار Microsoft Word مطابقت دارد، یعنی اشکال با معادله XML به اشیاء ریاضی Office تبدیل نمی شوند.

مثال کد زیر نحوه تبدیل اشکال به اشیاء ریاضی آفیس را نشان می دهد: