استخدام أشكال المستندات في Aspose.Words لـ Java

مقدمة لاستخدام أشكال المستندات في Aspose.Words لـ Java

في هذا الدليل الشامل، سنتعمق في عالم أشكال المستندات في Aspose.Words for Java. تعد الأشكال عناصر أساسية عندما يتعلق الأمر بإنشاء مستندات جذابة وتفاعلية. سواء كنت بحاجة إلى إضافة وسائل شرح أو أزرار أو صور أو علامات مائية، فإن Aspose.Words for Java يوفر الأدوات اللازمة للقيام بذلك بكفاءة. دعنا نستكشف كيفية استخدام هذه الأشكال خطوة بخطوة مع أمثلة التعليمات البرمجية المصدر.

الشروع في العمل مع أشكال المستندات

قبل أن ننتقل إلى التعليمات البرمجية، دعونا نهيئ بيئتنا. تأكد من دمج Aspose.Words for Java في مشروعك. إذا لم تكن قد قمت بذلك بالفعل، يمكنك تنزيله من موقع Asposeتحميل Aspose.Words لجافا

إضافة أشكال إلى المستندات

إدراج شكل المجموعة

أGroupShape يسمح لك بتجميع أشكال متعددة معًا. إليك كيفية إنشاء وإدراج ملفGroupShape:

Document doc = new Document();
doc.ensureMinimum();

GroupShape groupShape = new GroupShape(doc);
Shape accentBorderShape = new Shape(doc, ShapeType.ACCENT_BORDER_CALLOUT_1);
accentBorderShape.setWidth(100.0);
accentBorderShape.setHeight(100.0);

groupShape.appendChild(accentBorderShape);

Shape actionButtonShape = new Shape(doc, ShapeType.ACTION_BUTTON_BEGINNING);
actionButtonShape.setLeft(100.0);
actionButtonShape.setWidth(100.0);
actionButtonShape.setHeight(200.0);

groupShape.appendChild(actionButtonShape);

groupShape.setWidth(200.0);
groupShape.setHeight(200.0);
groupShape.setCoordSize(new Dimension(200, 200));

DocumentBuilder builder = new DocumentBuilder(doc);
builder.insertNode(groupShape);

doc.save("Your Directory Path" + "WorkingWithShapes.AddGroupShape.docx");

إدراج شكل مربع نص

لإدراج شكل مربع نص، يمكنك استخدامinsertShape الطريقة كما هو موضح في المثال أدناه:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertShape(ShapeType.TEXT_BOX, RelativeHorizontalPosition.PAGE, 100.0,
    RelativeVerticalPosition.PAGE, 100.0, 50.0, 50.0, WrapType.NONE);

shape.setRotation(30.0);
builder.writeln();

shape = builder.insertShape(ShapeType.TEXT_BOX, 50.0, 50.0);
shape.setRotation(30.0);

OoxmlSaveOptions saveOptions = new OoxmlSaveOptions(SaveFormat.DOCX);
saveOptions.setCompliance(OoxmlCompliance.ISO_29500_2008_TRANSITIONAL);

doc.save("Your Directory Path" + "WorkingWithShapes.InsertShape.docx", saveOptions);

التعامل مع خصائص الشكل

إدارة نسبة الارتفاع

يمكنك التحكم فيما إذا كانت نسبة العرض إلى الارتفاع للشكل مقفلة أم لا. فيما يلي كيفية فتح نسبة العرض إلى الارتفاع للشكل:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertImage(getImagesDir() + "Transparent background logo.png");
shape.setAspectRatioLocked(false);

doc.save("Your Directory Path" + "WorkingWithShapes.AspectRatioLocked.docx");

وضع شكل في خلية جدول

إذا كنت بحاجة إلى وضع شكل داخل خلية جدول، فيمكنك تحقيق ذلك باستخدام الكود التالي:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.startTable();
builder.getRowFormat().setHeight(100.0);
builder.getRowFormat().setHeightRule(HeightRule.EXACTLY);

for (int i = 0; i < 31; i++) {
    if (i != 0 && i % 7 == 0)
        builder.endRow();

    builder.insertCell();
    builder.write("Cell contents");
}

builder.endTable();

Shape watermark = new Shape(doc, ShapeType.TEXT_PLAIN_TEXT);
watermark.setRelativeHorizontalPosition(RelativeHorizontalPosition.PAGE);
watermark.setRelativeVerticalPosition(RelativeVerticalPosition.PAGE);
watermark.isLayoutInCell(true); // عرض الشكل خارج خلية الجدول إذا كان سيتم وضعه في خلية.
watermark.setWidth(300.0);
watermark.setHeight(70.0);
watermark.setHorizontalAlignment(HorizontalAlignment.CENTER);
watermark.setVerticalAlignment(VerticalAlignment.CENTER);
watermark.setRotation(-40);
watermark.setFillColor(Color.GRAY);
watermark.setStrokeColor(Color.GRAY);
watermark.getTextPath().setText("watermarkText");
watermark.getTextPath().setFontFamily("Arial");
watermark.setName("WaterMark_{Guid.NewGuid()}");
watermark.setWrapType(WrapType.NONE);

Run run = (Run) doc.getChildNodes(NodeType.RUN, true).get(doc.getChildNodes(NodeType.RUN, true).getCount() - 1);
builder.moveTo(run);
builder.insertNode(watermark);

doc.getCompatibilityOptions().optimizeFor(MsWordVersion.WORD_2010);
doc.save("Your Directory Path" + "WorkingWithShapes.LayoutInCell.docx");

العمل مع أشكال SmartArt

الكشف عن أشكال SmartArt

يمكنك اكتشاف أشكال SmartArt في مستند باستخدام الكود التالي:

Document doc = new Document("Your Directory Path" + "SmartArt.docx");
List<Shape> shapes = IterableUtils.toList(doc.getChildNodes(NodeType.SHAPE, true));
int count = (int) shapes.stream().filter(s -> s.hasSmartArt()).count();
System.out.println("The document has " + count + " shapes with SmartArt.");

تحديث رسومات SmartArt

لتحديث رسومات SmartArt داخل مستند، استخدم التعليمة البرمجية التالية:

Document doc = new Document("Your Directory Path" + "SmartArt.docx");
for (Shape shape : (Iterable<Shape>) doc.getChildNodes(NodeType.SHAPE, true)) {
    if (shape.hasSmartArt())
        shape.updateSmartArtDrawing();
}

خاتمة

في هذا الدليل، اكتشفنا عالم أشكال المستندات في Aspose.Words for Java. لقد تعلمت كيفية إضافة أشكال مختلفة إلى مستنداتك، ومعالجة خصائصها، والعمل باستخدام أشكال SmartArt. باستخدام هذه المعرفة، يمكنك إنشاء مستندات جذابة بصريًا وتفاعلية بسهولة.

الأسئلة الشائعة

ما هو Aspose.Words لجافا؟

Aspose.Words for Java هي مكتبة Java تتيح للمطورين إنشاء مستندات Word وتعديلها وتحويلها برمجيًا. يوفر مجموعة واسعة من الميزات والأدوات للعمل مع المستندات بتنسيقات مختلفة.

كيف يمكنني تنزيل Aspose.Words لـ Java؟

يمكنك تنزيل Aspose.Words for Java من موقع Aspose الإلكتروني باتباع هذا الرابط:تحميل Aspose.Words لجافا

ما هي فوائد استخدام أشكال المستندات؟

تضيف أشكال المستندات عناصر مرئية وتفاعلية إلى مستنداتك، مما يجعلها أكثر جاذبية وغنية بالمعلومات. باستخدام الأشكال، يمكنك إنشاء وسائل شرح وأزرار وصور وعلامات مائية والمزيد، مما يعزز تجربة المستخدم بشكل عام.

هل يمكنني تخصيص مظهر الأشكال؟

نعم، يمكنك تخصيص مظهر الأشكال عن طريق ضبط خصائصها مثل الحجم والموضع والتدوير ولون التعبئة. يوفر Aspose.Words for Java خيارات واسعة لتخصيص الشكل.

هل Aspose.Words for Java متوافق مع SmartArt؟

نعم، يدعم Aspose.Words for Java أشكال SmartArt، مما يسمح لك بالعمل مع المخططات والرسومات المعقدة في مستنداتك.