תכונות ופונקציונליות
תכונות ופונקציונליות
דף זה מכסה את יכולות יצירת התרשימים של Aspose.Words FOSS עבור .NET עם דוגמאות C# עובדות, בנוי סביב DocumentBuilder.InsertChart() ו Chart מודל האובייקט. מודל האובייקט המלא של הספרייה למסמכים (פסקאות, טבלאות, סגנונות, סימניות, מקטעים) מתואר בתצוגת המוצר וב Quickstart מדריך.
יצירת מסמך עם גרף
הכנס צורת גרף עם DocumentBuilder.InsertChart(), ואז גש לאובייקט Chart שלו דרך ה-Shape שהוחזר. נקה את הסדרה שנוצרה באופן ברירת מחדל לפני הוספת נתונים אמיתיים:
using Aspose.Words;
using Aspose.Words.Drawing.Charts;
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.InsertChart(ChartType.Line, 432, 252);
Chart chart = shape.Chart;
// Delete default generated series.
chart.Series.Clear();
string[] categories = new string[] { "AW Category 1", "AW Category 2", "AW Category 3" };
chart.Series.Add("AW Series 1", categories, new double[] { 4.3, 2.5, 3.5 });
doc.Save("chart.docx");סדרות גרף, נקודות נתונים וסמנים
Chart.Series הוא ChartSeriesCollection. כל ChartSeries חושף את נקודות הנתונים האישיות שלו דרך DataPoints, דבר שמאפשר לך להתאים סמן או עיצוב של נקודה אחת מבלי להשפיע על שאר הסדרה:
Shape shape = builder.InsertChart(ChartType.Line, 432, 252);
Chart chart = shape.Chart;
chart.Series.Clear();
chart.Series.Add("AW Series 1", categories, new double[] { 4.3, 2.5, 3.5 });
ChartSeries series = chart.Series[0];
ChartDataPointCollection points = series.DataPoints;
ChartDataPoint point1 = points[0];
ChartDataPoint point2 = points[1];
point1.InvertIfNegative = true;
point1.Marker.Symbol = MarkerSymbol.Square;
point2.InvertIfNegative = true;
point2.Marker.Symbol = MarkerSymbol.Diamond;
// Reset a single data point back to the series' inherited default formatting.
point1.ClearFormat();תוויות נתוני גרף
ChartSeries.DataLabels הוא ChartDataLabelCollection השולט בתוויות עבור כל נקודה בסדרה בבת אחת. השתמש ב-DataLabels[i] כדי לעקוף ChartDataLabel יחיד:
Shape shape = builder.InsertChart(ChartType.Line, 432, 252);
Chart chart = shape.Chart;
chart.Series.Clear();
chart.Series.Add("AW Series 1", categories, new double[] { 4.3, 2.5, 3.5 });
ChartSeries series = chart.Series[0];
series.HasDataLabels = true;
series.DataLabels.ShowValue = true;
ChartDataLabel label = series.DataLabels[1];
label.ShowCategoryName = true;
label.Position = ChartDataLabelPosition.Below;כותרות צירי גרף
Chart.AxisX ו-Chart.AxisY כל אחד חושף ChartAxisTitle דרך המאפיין Title:
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.InsertChart(ChartType.Column, 432, 252);
Chart chart = shape.Chart;
ChartAxisTitle xTitle = chart.AxisX.Title;
ChartAxisTitle yTitle = chart.AxisY.Title;
xTitle.Show = true;
xTitle.Text = "Categories";
yTitle.Show = true;
yTitle.Text = "Values";מקרא הגרף והגופנים
Chart.Legend מציג LegendEntries, אחד ChartLegendEntry לכל סדרה, שלכל אחד יש Font משלו. Font מיישם עיצוב מילוי, ולכן Font.Fill.Solid() מגדיר צבע טקסט אחיד באותו אופן שבו הוא היה מוגדר בכל ריצה מעוצבת אחרת:
using System.Drawing;
Shape shape = builder.InsertChart(ChartType.Column, 432, 252);
ChartLegend legend = shape.Chart.Legend;
Font font1 = legend.LegendEntries[0].Font;
Font font2 = legend.LegendEntries[1].Font;
font1.Fill.Solid(Color.Blue);
font2.Color = Color.Green;טבלת נתוני גרף
Chart.DataTable הוא ChartDataTable המציג את ערכי הסדרה הבסיסיים מתחת לגרף. המאפיינים Has*Border ו-HasLegendKeys שלו שולטים באילו חלקים נראים:
Shape shape = builder.InsertChart(ChartType.Column, 432, 252);
ChartDataTable dataTable = shape.Chart.DataTable;
dataTable.HasLegendKeys = false;
dataTable.HasHorizontalBorder = true;
dataTable.HasVerticalBorder = true;
dataTable.HasOutlineBorder = false;
doc.Save("chart-report.docx");טיפים ושיטות מומלצות
DocumentBuilder.InsertChart()ממלא את התרשים החדש בסדרה שנוצרה באופן ברירת מחדל — יש לקרוא ל-chart.Series.Clear()לפני הוספת הנתונים שלך, אחרת ברירות המחדל יישארו לצד זה.- השתמש ב-
ChartSeries.DataLabels[i]כדי למקד תווית נתונים אחת כאשר רק כמה נקודות דורשות עיצוב מותאם; השתמש במאפייני הרמה של האוסף (DataLabels.ShowValueוכדומה) כדי להגדיר ברירת מחדל לכל תווית בסדרה בבת אחת. ClearFormat()זמינה הן ב-ChartDataPointוהן ב-ChartDataLabelCollection— היא מאפסת את העיצוב הישיר חזרה למה שהסדרה יורשת כברירת מחדל.- מנוע הערכת השדות מעדכן שדות תוכן כגון
DATEו-DOCPROPERTYבאופן תכנותי, אך שדות התלויים בפריסת העמוד (מספרי עמודים במפת תוכן,NUMPAGES) מתבצעים לערכי מציין מקום0מכיוון שהגרסה הזו אינה כוללת את מנוע הפריסה. - ראה את מדריך התקנה להוסיף את החבילה דרך NuGet, או לבנות ממקור, לפני ההתייחסות ל-APIs אלה.
בעיות נפוצות
| בעיה | סיבה | תיקון |
|---|---|---|
מספרי עמודים או ערכי תוכן עניינים מציגים 0 | מהדורה זו אינה כוללת את מנוע פריסת העמוד/הצגה | התנהגות צפויה — ערכי שדות התלויים בפריסה אינם מחושבים; השתמש בגרסה המסחרית Aspose.Words עבור .NET אם אתה צריך אותם |
Document.Save() ל-.pdf, .xps, או סיומת תמונה נכשלה | פורמטי רינדור אינם נכללים במהדורה זו | שמור ל-DOCX, DOCM, DOTX, DOTM, Flat OPC, Markdown, או טקסט פשוט במקום זאת |
טעינת קובץ .doc, .rtf, .odt, .html, או .epub נכשלה | רק DOCX, DOCM, DOTX, DOTM, Flat OPC, Markdown וטקסט פשוט נתמכים לטעינה/שמירה | המר תחילה את קובץ המקור ל-DOCX, או השתמש במהדורה המסחרית |
| סדרת התרשים ברירת המחדל עדיין מופיעה לאחר הוספת נתונים מותאמים | chart.Series.Clear() לא נקרא לאחר InsertChart() | נקה את הסדרה שנוצרה כברירת מחדל לפני קריאה לchart.Series.Add() |
FAQ
מדוע מספרי העמודים במפת התוכן שלי מוצגים כ-0?
גרסת FOSS זו אינה כוללת את תת-מערכת פריסת העמודים וההדמיה, ולכן כל ערך שדה שתלוי בפריסת העמוד — כולל מספרי העמודים — מתחלף למילוי מקום 0 במקום ערך מחושב.
האם אני יכול לייצא מסמך ל-PDF או לפורמט תמונה?
לא בגרסה זו. ייצוא ל-PDF, XPS ותמונות תלוי באותה תת-מערכת הדמיה שהוסרה כדי לשמור על גרסה חינמית. השתמש ב-Aspose.Words המסחרי עבור .NET עבור הפלטים האלה.
האם אני יכול ליצור חתימה דיגיטלית חדשה על מסמך?
לא — גרסה זו יכולה לאמת חתימות דיגיטליות קיימות אך אינה יכולה ליצור חדשות.
אילו סוגי גרפים InsertChart() תומך?
InsertChart() מקבל ערך ChartType — האינום מכסה משפחות גרפים סטנדרטיות כגון line, column, bar, pie, area, doughnut, radar, scatter, stock, ו-surface, כולל ווריאנטים stacked ו-3D.
סיכום API Reference
| מחלקה / מאפיין | תיאור |
|---|---|
Document | אובייקט מסמך שורש; Save() כותב ל-DOCX, Markdown או טקסט רגיל |
DocumentBuilder | סמן ברמה גבוהה API; InsertChart() מוסיף צורת גרף |
Shape | אובייקט ציור שמוחזר על ידי InsertChart(); חושף את המאפיין Chart |
Chart | אובייקט גרף; Series, Legend, DataTable, AxisX, AxisY, Title |
ChartSeries / ChartSeriesCollection | נתוני סדרה (Add, Clear) והגדרות לכל סדרה |
ChartDataPoint / ChartDataPointCollection | עיצוב לכל נקודה; ClearFormat() |
ChartMarker / MarkerSymbol | צורת וגודל סימון נקודת הנתונים |
ChartDataLabel / ChartDataLabelCollection | הגדרות תצוגת תוויות לכל תווית ולכל האוסף |
ChartAxisTitle | טקסט הכותרת מוצג בChart.AxisX / Chart.AxisY |
ChartLegend / ChartLegendEntry | מקרא התרשים והרשומות שלו לכל סדרה |
ChartDataTable | טבלת נתונים המוצגת מתחת לתרשים |
Font / Fill | עיצוב טקסט ומילוי (צבע אחיד, גרדיאנט) על רכיבי הטקסט בתרשים |