Jellemzők és funkciók
Jellemzők és funkciók
Ez az oldal lefedi a diagramkészítési képességeket Aspose.Words FOSS a .NET számára működő C# példákkal, felépítve DocumentBuilder.InsertChart() és a Chart objektummodell. A könyvtár teljes dokumentumobjektum-modellje (bekezdések, táblázatok, stílusok, könyvjelzők, szakaszok) le van írva a termék áttekintésben és a Quickstart útmutatóban.
Dokumentum létrehozása diagrammal
Helyezz be egy diagram alakzatot DocumentBuilder.InsertChart() segítségével, majd a visszaadott Shape útján érj el hozzá a Chart objektumot. Töröld a alapértelmezett generált sorozatot, mielőtt valós adatokat adnál hozzá:
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");Diagram sorozatok, adatpontok és jelölők
Chart.Series egy ChartSeriesCollection. Minden ChartSeries a saját egyedi adatpontjait a DataPoints segítségével teszi elérhetővé, ami lehetővé teszi egyetlen pont jelölőjének vagy formázásának testreszabását anélkül, hogy a sorozat többi részét befolyásolná:
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();Diagram adatcímkék
ChartSeries.DataLabels egy ChartDataLabelCollection, amely egyszerre vezérli a sorozat minden pontjának címkéit. Indexeljen rá DataLabels[i] segítségével egyetlen ChartDataLabel felülbírálásához:
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;Diagram tengelycímek
Chart.AxisX és Chart.AxisY mindegyike egy ChartAxisTitle-t tesz elérhetővé a saját Title tulajdonságukon keresztül:
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";Diagram jelmagyarázat és betűtípusok
Chart.Legend elérhetővé teszi a LegendEntries-t, sorozatonként egy ChartLegendEntry-t, mindegyiknek saját Font-ja van. Font megvalósítja a kitöltés formázását, így a Font.Fill.Solid() szilárd szövegszínt állít be ugyanúgy, ahogy bármely más formázott szakaszon:
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;Diagram adat táblázat
Chart.DataTable egy ChartDataTable, amely a diagram alatt megjeleníti az alatta lévő sorozatértékeket. A Has*Border és HasLegendKeys tulajdonságai szabályozzák, hogy mely részek láthatóak:
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");Tippek és bevált gyakorlatok
DocumentBuilder.InsertChart()feltölti az új diagramot egy alapértelmezett generált sorozattal — hívd meg achart.Series.Clear()függvényt, mielőtt saját adatot adnál hozzá, különben az alapértelmezések együtt maradnak.- Használd a
ChartSeries.DataLabels[i]elemet egy adatcímke célzásához, amikor csak néhány pont igényel egyedi formázást; a gyűjtemény szintű tulajdonságokat (DataLabels.ShowValueés hasonló) pedig arra használhatod, hogy egyszerre állíts be alapértelmezést a sorozat minden címkéjére. - A
ClearFormat()mind aChartDataPoint, mind aChartDataLabelCollectionesetén elérhető — visszaállítja a közvetlen formázást arra, amit a sorozat alapértelmezetten örököl. - A mezőértékelő motor programozottan frissíti a tartalmi mezőket, például a
DATEés aDOCPROPERTYmezőket, de a lapelrendezéstől függő mezők (a tartalomjegyzék oldalszámai,NUMPAGES)0helyőrző értékekre értékelődnek, mivel ez a kiadás nem tartalmazza a layout motort. - Lásd a Telepítési útmutató a csomag NuGet használatával való hozzáadásához, vagy forrásból való felépítéshez, mielőtt ezekre az API-kra hivatkoznánk.
Gyakori problémák
| Probléma | Ok | Javítás |
|---|---|---|
Az oldalszámok vagy a tartalomjegyzék bejegyzései 0 jelennek meg. | Ez a kiadás nem tartalmazza az oldalelrendezés/renderelés motorját. | Várható viselkedés — az elrendezéstől függő mezőértékek nincsenek kiszámítva; használja a kereskedelmi. Aspose.Words a .NET számára ha szükséged van rájuk |
Document.Save() to .pdf, .xps, vagy egy képkiterjesztés hibát okoz | A megjelenítési formátumok nincsenek benne ebben a kiadásban | Mentse helyette DOCX, DOCM, DOTX, DOTM, Flat OPC, Markdown vagy egyszerű szöveg formátumba |
A .doc, .rtf, .odt, .html vagy .epub fájl betöltése sikertelen | Csak a DOCX, DOCM, DOTX, DOTM, Flat OPC, Markdown és egyszerű szöveg támogatott betöltéshez/mentéshez | Először konvertálja a forrásfájlt DOCX formátumba, vagy használja a kereskedelmi kiadást |
| Az alapértelmezett diagram sorozat továbbra is megjelenik egyéni adatok hozzáadása után | chart.Series.Clear() nem lett meghívva InsertChart() után | Törölje az alapértelmezett generált sorozatot a chart.Series.Add() meghívása előtt |
FAQ
Miért jelennek meg a tartalomjegyzék oldalszámai 0-ként?
Ez a FOSS kiadás nem tartalmazza az oldalelrendezés- és renderelés alrendszert, ezért minden, az oldalelrendezéstől függő mezőérték — beleértve az oldalszámokat is — egy 0 helyőrzőre értékelődik, a kiszámított érték helyett.
Exportálhatok egy dokumentumot PDF-be vagy képformátumba?
Ez a kiadás nem tartalmazza. A PDF, XPS és képexport ugyanazon a renderelési alrendszeren alapul, amelyet eltávolítottak, hogy ez a kiadás ingyenes maradjon. Használja a kereskedelmi Aspose.Words a .NET számára ezekhez a kimenetekhez.
Létrehozhatok új digitális aláírást egy dokumentumban?
Nem — ez a kiadás képes ellenőrizni a meglévő digitális aláírásokat, de nem tud újat létrehozni.
Milyen diagramtípusokat támogat a InsertChart()?
A InsertChart() egy ChartType értéket vár — az enumeráció a szabványos diagramcsaládokat foglalja magában, mint például vonal, oszlop, sáv, kör, terület, gyűrű, radar, szórt, tőzsde és felület diagramok, beleértve azok halmozott és 3D változatait.
API Reference összefoglaló
| Osztály / Tulajdonság | Leírás |
|---|---|
Document | Gyökérdokumentum objektum; Save() ír DOCX, Markdown vagy egyszerű szöveg formátumba |
DocumentBuilder | Magas szintű kurzor API; InsertChart() hozzáad egy diagram alakzatot |
Shape | Rajzobjektum, amelyet a InsertChart() visszaad; elérhetővé teszi a Chart tulajdonságot |
Chart | Diagram objektum; Series, Legend, DataTable, AxisX, AxisY, Title |
ChartSeries / ChartSeriesCollection | Sorozat adatok (Add, Clear) és sorozatonkénti beállítások |
ChartDataPoint / ChartDataPointCollection | Pontonkénti formázás; ClearFormat() |
ChartMarker / MarkerSymbol | Adatpont jelölő alakja és mérete |
ChartDataLabel / ChartDataLabelCollection | Címkenkénti és gyűjtemény-szintű címke-megjelenítési beállítások |
ChartAxisTitle | Címszöveg megjelenik a Chart.AxisX / Chart.AxisY felületen |
ChartLegend / ChartLegendEntry | Diagrammagyarázat és annak sorozatonkénti bejegyzései |
ChartDataTable | Az ábra alatti adat táblázat |
Font / Fill | Szövegformázás és kitöltés (egyszínű, színátmenet) a diagram szövegelemekén |