يمكن أن يؤدي تضمين البيانات المرئية مباشرةً في ملفات Word إلى تحويل التقارير الثابتة إلى عروض تقديمية جذابة. Conholdate.Total for Java يوفر مجموعة تطوير برمجيات قوية تُبسّط إنشاء المخططات وإدراجها في مستندات DOCX. في هذا الدليل سنرشدك عبر مثال كامل وقابل للترجمة يُظهر كيفية إنشاء مخططات في مستندات Word باستخدام Java، وتكوين المخطط، وحفظ النتيجة. في النهاية ستكون قادرًا على أتمتة إنشاء المستندات مع مخططات ديناميكية لأي سيناريو تقارير أعمال.
مثال كامل يعمل لتضمين المخططات في مستندات Word باستخدام Java
يوضح هذا المثال كيفية إنشاء مخطط عمودي بخمس سلاسل بيانات وإدراجه في مستند Word.
import com.aspose.words.Document;
import com.aspose.words.DocumentBuilder;
import com.aspose.words.Shape;
import com.aspose.words.ChartType;
import com.aspose.words.Chart;
import com.aspose.words.ChartSeriesCollection;
public class CreateChartInWord {
public static void main(String[] args) {
// Create a document
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add chart with default data. You can specify different chart types and sizes.
Shape shape = builder.insertChart(ChartType.COLUMN, 432, 252);
// Chart property of Shape contains all chart related options.
Chart chart = shape.getChart();
// Get chart series collection.
ChartSeriesCollection seriesColl = chart.getSeries();
// Check series count.
System.out.println(seriesColl.getCount());
// Delete default generated series.
seriesColl.clear();
// Create category names array, in this example we have two categories.
String[] categories = new String[] { "AW Category 1", "AW Category 2" };
// Adding new series. Please note, data arrays must not be empty and arrays must be the same size.
seriesColl.add("AW Series 1", categories, new double[] { 1, 2 });
seriesColl.add("AW Series 2", categories, new double[] { 3, 4 });
seriesColl.add("AW Series 3", categories, new double[] { 5, 6 });
seriesColl.add("AW Series 4", categories, new double[] { 7, 8 });
seriesColl.add("AW Series 5", categories, new double[] { 9, 10 });
// Save the document
doc.save("ColumnsChart.docx");
}
}
ملاحظة: يعرض مثال الشيفرة هذا الوظيفة الأساسية. قبل استخدامه في مشروعك، تأكد من أن مسار الإخراج (
ColumnsChart.docx) يشير إلى دليل قابل للكتابة، وتحقق من تثبيت جميع الاعتمادات المطلوبة بشكل صحيح، واختبر بدقة في بيئة التطوير الخاصة بك. إذا واجهت أي مشاكل، يرجى الرجوع إلى الوثائق الرسمية أو التواصل مع فريق الدعم للحصول على المساعدة.
كيفية إنشاء المخططات في مستندات Word باستخدام Java
يمكن تقسيم سير العمل إلى خمس خطوات واضحة:
إنشاء مستند و DocumentBuilder - تمثل فئة
Documentملف Word في الذاكرة، وتوفر لكDocumentBuilderواجهة برمجة تطبيقات سلسة لإدراج المحتوى، بما في ذلك المخططات.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc);إدراج شكل مخطط -
insertChartيأخذChartType(مثلCOLUMN) مع عرض وارتفاع بالنقاط، ويعيدShapeالذي يستضيف المخطط على الصفحة.Shape shape = builder.insertChart(ChartType.COLUMN, 432, 252);الوصول إلى كائن المخطط - الخاصية
ChartفيShapeتكشف جميع الخيارات المتعلقة بالمخطط، بما في ذلك مجموعة السلاسل الخاصة به.
Chart chart = shape.getChart();
ChartSeriesCollection seriesColl = chart.getSeries();
System.out.println(seriesColl.getCount());
انظر إلى مرجع API للحصول على التفاصيل الكاملة حول Chart و ChartSeriesCollection والعدادات المرتبطة.
- مسح السلاسل الافتراضية وإضافة الخاصة بك - يحتوي المخطط الذي تم إدراجه حديثًا بالفعل على سلاسل نائبة، لذا تقوم الدالة
clear()بإزالتها قبل أن تقوم بإضافة الفئات والبيانات باستخدامadd(). يجب أن تكون مصفوفات الفئات والقيم التي تُمرَّر إلى نفس استدعاءadd()ذات طول متساوٍ.seriesColl.clear();
String[] categories = new String[] { “AW Category 1”, “AW Category 2” };
seriesColl.add(“AW Series 1”, categories, new double[] { 1, 2 }); seriesColl.add(“AW Series 2”, categories, new double[] { 3, 4 });
<!--[CODE_SNIPPET_END]-->
5. **حفظ المستند** - أخيرًا، `doc.save()` يكتب ملف DOCX إلى القرص.
<!--[CODE_SNIPPET_START]-->
```java
doc.save("ColumnsChart.docx");
فهم كل خطوة من هذه الخطوات يجعل من السهل تعديل المثال لأنواع مختلفة من المخططات أو مصادر البيانات أو قوالب المستندات.
إعداد البيئة
أضف مستودع Maven الخاص بـ Conholdate واعتماد SDK إلى ملف pom.xml الخاص بك:
<repositories>
<repository>
<id>conholdate-repo</id>
<name>Conholdate Maven Repository</name>
<url>https://repository.conholdate.com/repo/</url>
</repository>
</repositories>
<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>24.9</version>
<type>pom</type>
</dependency>
قم بتنزيل أحدث حزمة SDK من صفحة التنزيل. تتطلب المكتبة Java 8 أو أعلى وتعمل على أي JVM قياسي. لا تحتاج إلى مكونات خادم إضافية.
ضبط دقيق لتوليد المخططات
يمكنك تعديل عدة خصائص لتتناسب مع نمطك البصري:
نوع المخطط - غيّر
ChartType.COLUMNإلىChartType.BAR،ChartType.LINE،ChartType.PIE،ChartType.SCATTER، وغيرها من الأنواع المدعومة.Shape shape = builder.insertChart(ChartType.BAR, 432, 252);حجم المخطط - الوسيطان الثاني والثالث لـ
insertChartيتحكمان في عرض وارتفاع شكل المخطط، بالنقاط.Shape shape = builder.insertChart(ChartType.COLUMN, 500, 300);الفئات (تسميات المحاور) - بناء
String[]من أسماء الفئات وإعادة استخدامها عبر كل سلسلة تشترك في نفس الفئات.String[] categories = new String[] { "Jan", "Feb", "Mar" };سلسلة البيانات - استدعِ
seriesColl.add()مع اسم السلسلة، ومصفوفة الفئات، ومصفوفةdouble[]من القيم لإضافة عددٍ غير محدود من السلاسل المقارنة حسب الحاجة.seriesColl.add("2021", categories, new double[] { 200, 220, 250 });
تتيح لك هذه الخيارات تخصيص المخطط لأي متطلبات تقريرية مع الحفاظ على اختصار الشيفرة.
إدراج مخطط مبعثر في مستند Word باستخدام Java
تُظهر مخططات التشتت أزواجًا من القيم الرقمية X و Y بدلاً من الفئات، مما يجعلها مفيدة لتصوير الارتباطات أو التوزيعات. ChartSeriesCollection تعرض نسخة محملة من add() خصيصًا لهذا الغرض: بدلاً من مصفوفة الفئات، تقوم بتمرير مصفوفتين من نوع double[]، واحدة لقيم X والأخرى لقيم Y.
import com.aspose.words.Document;
import com.aspose.words.DocumentBuilder;
import com.aspose.words.Shape;
import com.aspose.words.ChartType;
import com.aspose.words.Chart;
public class InsertScatterChart {
public static void main(String[] args) {
// Create a new document
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Insert Scatter chart.
Shape shape = builder.insertChart(ChartType.SCATTER, 432, 252);
Chart chart = shape.getChart();
// Use this overload to add series to any type of Scatter charts.
chart.getSeries().add("AW Series 1", new double[] { 0.7, 1.8, 2.6 }, new double[] { 2.7, 3.2, 0.8 });
// Save the document
doc.save("ScatterChart.docx");
}
}
يتبع التدفق العام مثال مخطط العمود: إنشاء Document و DocumentBuilder، إدراج شكل المخطط باستخدام ChartType.SCATTER، الحصول على Chart من الشكل، وإضافة سلسلة أو أكثر. نظرًا لأن مخططات التبعثر ترسم أزواج إحداثيات X/Y، لا توجد مصفوفة فئات منفصلة — كل نقطة تُحدد بواسطة القيم المتطابقة في مصفوفات قيم X و Y. احفظ باستخدام doc.save() بمجرد إضافة جميع السلاسل.
الخلاصة
إدراج البيانات المرئية مباشرةً في ملفات DOCX هو طريقة قوية لتعزيز التقارير الآلية. مع Conholdate.Total for Java يمكنك إنشاء مخططات في مستندات Word باستخدام Java في بضع أسطر من الشيفرة فقط — بما في ذلك مخططات العمود، الشريط، الخط، الدائرة، والنقطية — تخصيص الفئات والسلاسل، وإنشاء مستندات بمظهر احترافي على جانب الخادم. تذكر الحصول على ترخيص مناسب للاستخدام في الإنتاج؛ ترخيص مؤقت متاح على صفحة الترخيص المؤقت، ويمكن مراجعة تفاصيل الأسعار الكاملة على صفحة الأسعار. ابدأ بدمج إنشاء المخططات اليوم وامنح مستخدميك مستندات مدفوعة بالبيانات تبرز.
الأسئلة المتكررة
كيف يمكنني إنشاء مخططات في مستندات Word باستخدام Java مع Conholdate.Total? استدعِ
insertChartعلى كائنDocumentBuilderمع نوعChartTypeالمطلوب، استخرج الـChartمن الـShapeالمعاد، امسح السلسلة الافتراضية، وأضف الفئات والبيانات الخاصة بك باستخدامseriesColl.add()، ثم احفظ المستند. يتم عرض الكود الكامل في المثال أعلاه.ما أنواع المخططات المدعومة؟ يدعم SDK الأعمدة، الأشرطة، الخطوط، الفطائر، التبعثر، والعديد من أنواع المخططات القياسية الأخرى من خلال تعداد
ChartType. غيّر قيمة التعداد الممررة إلىinsertChartلتغيير الأنواع.كيف يختلف مخطط التبعثر عن مخطط العمود أو المخطط الشريطي؟ مخطط التبعثر يرسم أزواج من القيم الرقمية X و Y بدلاً من الفئات المسماة، لذا تستخدم التحميل الزائد
add(name, xValues, yValues)منChartSeriesCollectionبدلاً من تمرير مصفوفة الفئات.هل أحتاج إلى تعيين ترخيص لإنشاء المخططات؟ نعم. يمكن الحصول على ترخيص مؤقت من صفحة الترخيص المؤقت. للمشاريع طويلة الأمد، اشترِ ترخيصًا كاملاً عبر صفحة التسعير.
هل SDK متوافق مع بناء Maven و Gradle؟ بالتأكيد. أضف مستودع Conholdate Maven واعتماد
conholdate-totalإلى ملف البناء الخاص بك كما هو موضح في قسم الإعداد، وتعمل المكتبة مع كل من Maven و Gradle.
