---
title: "کار با اشکال در Java"
---

این موضوع در مورد چگونگی کار برنامه نویسی با اشکال با استفاده از Aspose.Words بحث می کند.

اشکال در Aspose.Words یک شی را در لایه نقاشی نشان می دهند، مانند AutoShape، textbox، freeform، OLE object، ActiveX control یا picture. یک سند ورد می تواند شامل یک یا چند شکل مختلف باشد. شکل های سند توسط کلاس [Shape](https://reference.aspose.com/words/java/com.aspose.words/shape/) نشان داده شده است.

## شکل را با استفاده از سازنده سند وارد کنید

شما می توانید شکل خطی با نوع و اندازه مشخص شده و شکل شناور آزاد با موقعیت مشخص شده، اندازه و نوع بسته بندی متن را با استفاده از روش [InsertShape](https://reference.aspose.com/words/java/com.aspose.words/documentbuilder/#insertShape-int-double-double) در یک سند قرار دهید. روش **InsertShape** اجازه می دهد تا شکل DML را در مدل سند وارد کنید. سند باید در قالب ذخیره شود، که از اشکال DML پشتیبانی می کند، در غیر این صورت، چنین گره هایی به شکل VML تبدیل می شوند، در حالی که ذخیره سند.

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

{{< gist "aspose-words-gists" "827e71ccc0b8516a3cfe247b86ce6d4e" "Examples-src-main-java-com-aspose-words-examples-programming_documents-Shapes-WorkingWithShapes-InsertShapeUsingDocumentBuilder.java" >}}

## تنظیم نسبت ابعاد قفل شده است

با استفاده از Aspose.Words می توانید مشخص کنید که آیا نسبت ابعاد شکل از طریق ویژگی [AspectRatioLocked](https://reference.aspose.com/words/java/com.aspose.words/shapebase/#getAspectRatioLocked) قفل شده است یا خیر.

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

{{< gist "aspose-words-gists" "827e71ccc0b8516a3cfe247b86ce6d4e" "Examples-src-main-java-com-aspose-words-examples-programming_documents-Shapes-WorkingWithShapes-SetAspectRatioLocked.java" >}}

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

همچنین می توانید با استفاده از ویژگی [IsLayoutInCell](https://reference.aspose.com/words/java/com.aspose.words/shapebase/#isLayoutInCell) مشخص کنید که آیا شکل در داخل یک جدول یا خارج از آن نمایش داده می شود.

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

{{< gist "aspose-words-gists" "827e71ccc0b8516a3cfe247b86ce6d4e" "Examples-src-main-java-com-aspose-words-examples-programming_documents-Shapes-WorkingWithShapes-SetShapeLayoutInCell.java" >}}

## گوشه های برش خورده را اضافه کنید

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

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

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

{{< gist "aspose-words-gists" "827e71ccc0b8516a3cfe247b86ce6d4e" "Examples-src-main-java-com-aspose-words-examples-programming_documents-Shapes-WorkingWithShapes-AddCornersSnipped.java" >}}

## نقاط واقعی شکل را بدست آورید

با استفاده از Aspose.Words API، می توانید مکان و اندازه شکل حاوی بلوک را در نقاط نسبت به لنگر بالاترین شکل بدست آورید. برای این کار از خاصیت [BoundsInPoints](https://reference.aspose.com/words/java/com.aspose.words/shapebase/#getBoundsInPoints) استفاده کنید.

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

{{< gist "aspose-words-gists" "827e71ccc0b8516a3cfe247b86ce6d4e" "Examples-src-main-java-com-aspose-words-examples-programming_documents-Shapes-WorkingWithShapes-GetActualShapeBoundsPoints.java" >}}

## لنگر عمودی را مشخص کنید

شما می توانید تراز عمودی متن را در یک شکل با استفاده از ویژگی [VerticalAnchor](https://reference.aspose.com/words/java/com.aspose.words/textbox/#getVerticalAnchor) مشخص کنید.

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

{{< gist "aspose-words-gists" "827e71ccc0b8516a3cfe247b86ce6d4e" "Examples-src-main-java-com-aspose-words-examples-programming_documents-Shapes-WorkingWithShapes-SpecifyVerticalAnchor.java" >}}

## شکل SmartArt را تشخیص دهید

Aspose.Words همچنین اجازه می دهد تا تشخیص دهد که آیا شکل دارای یک شی `SmartArt` است. برای این کار از خاصیت [HasSmartArt](https://reference.aspose.com/words/java/com.aspose.words/shape/#hasSmartArt) استفاده کنید.

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

{{< gist "aspose-words-gists" "827e71ccc0b8516a3cfe247b86ce6d4e" "Examples-src-main-java-com-aspose-words-examples-programming_documents-Shapes-WorkingWithShapes-DetectSmartArtShape.java" >}}

## قالب قانون افقی

شما می توانید شکل قانون افقی را با استفاده از روش [InsertHorizontalRule](https://reference.aspose.com/words/java/com.aspose.words/documentbuilder/#insertHorizontalRule) در یک سند وارد کنید.

Aspose.Words API ویژگی [HorizontalRuleFormat](https://reference.aspose.com/words/java/com.aspose.words/shape/#getHorizontalRuleFormat) را برای دسترسی به خواص شکل قانون افقی فراهم می کند. کلاس [HorizontalRuleFormat](https://reference.aspose.com/words/java/com.aspose.words/horizontalruleformat/) خواص اساسی مانند ارتفاع، رنگ، NoShade و غیره را نشان می دهد. برای قالب بندی یک قانون افقی.

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

{{< gist "aspose-words-gists" "827e71ccc0b8516a3cfe247b86ce6d4e" "Examples-src-main-java-com-aspose-words-examples-programming_documents-Shapes-WorkingWithShapes-ShapeHorizontalRuleFormat.java" >}}
