Úvod
Aspose.Words FOSS for .NET je nyní k dispozici: bezplatná, open-source .NET knihovna pro vytváření, čtení a úpravu dokumentů Word v čistém C#, bez nutnosti instalace Microsoft Word. Je určena vývojářům, kteří potřebují generovat zprávy a dopisy ze šablon, číst a restrukturalizovat obsah existujících souborů .docx, nebo převádět dokumenty Word do Markdownu či prostého textu jako součást zpracovatelského řetězce, aniž by museli licencovat komerční SDK.
Knihovna je vydána pod licencí MIT a nemá žádné nativní závislosti — vše běží v řízeném kódu. Cílí na .NET Standard 2.0, takže funguje na .NET Framework 4.6.2+ a .NET 6, 8 a 10, na Windows, Linuxu a macOS. Nainstalujte ji přes NuGet, nebo sestavte knihovnu ze zdroje jedním příkazem dotnet build (viz Quick Start níže).
Co odlišuje tuto knihovnu od typické nové open-source knihovny pro dokumenty, je to, že nejde o přepis ani obal. Aspose.Words FOSS pro .NET je pravá Aspose.Words kódová základna — stejný dokumentový engine, který zpracovává Word dokumenty v produkci od roku 2003 — zredukovaný na bezplatné jádro pod licencí MIT. Vývojáři, kterým tato edice přestane stačit a kteří potřebují rozvržení stránky, renderování nebo další konvertory formátů, mohou přejít na komerční Aspose.Words pro .NET bez přepisování jejich kódu, protože jde o stejný podkladový API.
Klíčové vlastnosti
Vytváření a úprava dokumentů
Vytvářejte dokumenty od nuly pomocí new Document() a vysoceúrovňového DocumentBuilder, nebo otevřete existující soubory .docx pomocí new Document(fileName). DocumentBuilder poskytuje sekvenční autorizační metody jako Write(), Writeln(), InsertParagraph() a InsertBreak(), spolu s vlastnostmi formátování (Font, ParagraphFormat, PageSetup), které se aplikují na obsah při jeho vkládání. Pro přístup na nižší úrovni procházejte strom dokumentu přímo přes uzly Section, Paragraph, Run a Table, nebo vytvořte podtřídu DocumentVisitor k zpracování každého typu uzlu v jednom průchodu.
Tabulky a seznamy
Tabulky jsou vytvářeny z uzlů Table, Row a Cell. Table.SetBorders(), Table.SetShading() a Table.AutoFit() formátují celou tabulku najednou, zatímco Table.Rows a přístup k buňkám Cell po řádcích poskytují jemnější kontrolu. Číslované a odrážkové seznamy procházejí přes ListCollection a ListFormat: použijte vestavěný styl pomocí ListFormat.ApplyBulletDefault() nebo ApplyNumberDefault(), nebo zaregistrujte vlastní definici seznamu pomocí ListCollection.Add().
Sledované změny a ochrana dokumentu
Před úpravou zavolejte Document.StartTrackRevisions(), aby se zaznamenaly vložení, smazání a změny formátování, poté je můžete prohlížet, přijímat nebo odmítat pomocí RevisionCollection (AcceptAll(), RejectAll(), Accept(criteria), Reject(criteria)) nebo přijmout vše najednou pomocí Document.AcceptAllRevisions(). Document.Protect() použije ochranu heslem nebo vynutí režimu jen pro čtení pomocí výčtu DocumentSecurity (ReadOnlyEnforced, ReadOnlyRecommended, PasswordProtected a související hodnoty) a Document.Unprotect() to vrátí.
Pole, makra a digitální podpisy
Engine pro vyhodnocování polí aktualizuje pole jako FieldDate (pole DATE) a FieldDocProperty (pole DOCPROPERTY) přímo pomocí Document.UpdateFields() — pole závislá na rozložení stránky, například čísla stránek, jsou vyhodnocena jako zástupné hodnoty, protože rozložení stránky není součástí této edice. Soubory DOCM a DOTM se přenášejí s neporušenými projekty VBA. Existující digitální podpisy lze prohlížet pomocí DigitalSignatureCollection a DigitalSignature (IsValid, SubjectName, IssuerName, SignTime), aby se potvrdilo, zda je dokument podepsán a nebyl pozměněn; vytváření nových podpisů není součástí této edice.
Grafy
Vložte graf do dokumentu pomocí DocumentBuilder.InsertChart() a poté nakonfigurujte jeho datové řady pomocí vráceného objektu Chart.
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");
Rychlý start
Aspose.Words FOSS pro .NET je k dispozici přes NuGet:
dotnet add package Aspose.Words.FOSSPro sestavení ze zdrojového kódu místo toho:
git clone https://github.com/aspose-words-foss/Aspose.Words-FOSS-for-.NET.git
cd Aspose.Words-FOSS-for-.NET
dotnet build Aspose.Words.sln -c Release
Poté přidejte do své aplikace referenci na projekt Aspose.Words.csproj. S referencí na místě vytvořte dokument s grafem a uložte jej do formátu DOCX:
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");
Console.WriteLine("Saved chart.docx");
Podporované formáty
| Formát | Rozšíření | Číst | Zapsat |
|---|---|---|---|
| DOCX | .docx | ✓ | ✓ |
| DOCM | .docm | ✓ | ✓ |
| DOTX | .dotx | ✓ | ✓ |
| DOTM | .dotm | ✓ | ✓ |
| Flat OPC (všechny varianty) | (různé) | ✓ | ✓ |
| Markdown | .md | ✓ | ✓ |
| Text | .txt | ✓ | ✓ |
Tato edice úmyslně vynechává rozvržení stránky a renderování — žádné PDF, XPS ani export obrázků a žádný tisk, což také znamená, že hodnoty polí závislé na rozvržení, jako jsou čísla stránek, jsou vyhodnoceny jako zástupné symboly místo aby byly vypočteny. Další konvertory formátů (DOC, RTF, ODT, HTML, EPUB, MHTML, MOBI, AZW3 a WordML) nejsou čteny ani zapisovány a funkce jako mail merge execution, LINQ Reporting, porovnávání dokumentů, vytváření nových digitálních podpisů a embedded-font subsetting nejsou zahrnuty. Jedná se o stejné subsystémy odebrané z komerčního kódu, aby tato edice zůstala zdarma.
Open Source a licencování
Aspose.Words FOSS pro .NET je vydán pod licencí MIT, je zdarma jak pro komerční, tak i osobní použití bez licenčních poplatků nebo omezení redistribuce. Kompletní zdrojový kód je k dispozici na GitHubu v Aspose.Words FOSS pro .NET úložiště.