Introductie
Aspose.Words FOSS voor .NET is nu beschikbaar: een gratis, open-source .NET bibliotheek voor het maken, lezen en bewerken van Word-documenten in pure C#, zonder dat een Microsoft Word-installatie vereist is. Het is bedoeld voor ontwikkelaars die rapporten en brieven uit sjablonen moeten genereren, inhoud uit bestaande .docx-bestanden moeten lezen en herstructureren, of Word-documenten moeten converteren naar Markdown of platte tekst als onderdeel van een verwerkings-pipeline, zonder een commercieel SDK te licenseren.
De bibliotheek wordt uitgebracht onder de MIT-licentie en heeft geen native afhankelijkheden — alles draait in beheerde code. Hij richt zich op .NET Standard 2.0, dus hij werkt op .NET Framework 4.6.2+ en .NET 6, 8 en 10, op Windows, Linux en macOS. Installeer hem via NuGet, of bouw de bibliotheek vanuit de bron met een enkel dotnet build-commando (zie Snelstart hieronder).
Wat dit onderscheidt van een typische nieuwe open-source documentbibliotheek is dat het geen herschrijving of wrapper is. Aspose.Words FOSS voor .NET is de echte Aspose.Words codebase — dezelfde documentengine die sinds 2003 Word-documenten in productie verwerkt — gereduceerd tot een gratis, MIT-gelicentieerde kern. Ontwikkelaars die deze editie ontgroeien en paginalay-out, rendering of de extra formaatconverters nodig hebben, kunnen overstappen naar de commerciële Aspose.Words voor .NET zonder hun code opnieuw te schrijven, aangezien het dezelfde onderliggende API is.
Belangrijkste functies
Documentcreatie en -bewerking
Bouw documenten vanaf nul met new Document() en de high-level DocumentBuilder, of open bestaande .docx-bestanden met new Document(fileName). DocumentBuilder biedt sequentiële auteursmethoden zoals Write(), Writeln(), InsertParagraph() en InsertBreak(), samen met opmaak-eigenschappen (Font, ParagraphFormat, PageSetup) die van toepassing zijn op content zodra deze wordt ingevoegd. Voor lagere-niveau toegang kun je de documentboom direct doorlopen via Section, Paragraph, Run en Table knooppunten, of DocumentVisitor subklassen om elk knooppunttype in één doorgang te verwerken.
Tabellen en lijsten
Tabellen worden opgebouwd uit Table, Row en Cell knooppunten. Table.SetBorders(), Table.SetShading() en Table.AutoFit() formatteren in één keer een hele tabel, terwijl Table.Rows en per-rij Cell toegang fijnere controle bieden. Genummerde en opsommingstekenslijsten gaan via ListCollection en ListFormat: pas een ingebouwde stijl toe met ListFormat.ApplyBulletDefault() of ApplyNumberDefault(), of registreer een aangepaste lijstdefinitie met ListCollection.Add().
Wijzigingen bijhouden en documentbeveiliging
Roep Document.StartTrackRevisions() aan vóór het bewerken om invoegingen, verwijderingen en opmaakwijzigingen vast te leggen, inspecteer ze vervolgens, accepteer of wijs ze af via RevisionCollection (AcceptAll(), RejectAll(), Accept(criteria), Reject(criteria)), of accepteer alles in één keer met Document.AcceptAllRevisions(). Document.Protect() past wachtwoordbeveiliging of alleen-lezen afdwingen toe met behulp van de DocumentSecurity enum (ReadOnlyEnforced, ReadOnlyRecommended, PasswordProtected, en verwante waarden), en Document.Unprotect() draait dit terug.
Velden, macro’s en digitale handtekeningen
De veld-evaluatie-engine werkt velden bij, zoals FieldDate (het DATE veld) en FieldDocProperty (het DOCPROPERTY veld), op de plaats via Document.UpdateFields() — velden die afhankelijk zijn van paginalay-out, zoals paginanummers, evalueren naar placeholder-waarden omdat paginalay-out geen onderdeel is van deze editie. DOCM- en DOTM-bestanden doorlopen de round-trip met hun VBA-projecten intact. Bestaande digitale handtekeningen kunnen worden geïnspecteerd via DigitalSignatureCollection en DigitalSignature (IsValid, SubjectName, IssuerName, SignTime) om te bevestigen of een document ondertekend is en niet is gemanipuleerd; het maken van nieuwe handtekeningen maakt geen deel uit van deze editie.
Grafieken
Voeg een grafiek in een document in met DocumentBuilder.InsertChart(), configureer vervolgens de gegevensreeksen via het geretourneerde Chart object.
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");
Snelstart
Aspose.Words FOSS voor .NET is beschikbaar via NuGet:
dotnet add package Aspose.Words.FOSSOm in plaats daarvan vanaf de bron te bouwen:
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
Voeg vervolgens een projectreferentie toe aan Aspose.Words.csproj vanuit uw applicatie. Met de referentie op zijn plaats, maakt u een document met een grafiek en slaat u het op als 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");
Ondersteunde Formaten
| Formaat | Extensie | Lezen | Schrijven |
|---|---|---|---|
| DOCX | .docx | ✓ | ✓ |
| DOCM | .docm | ✓ | ✓ |
| DOTX | .dotx | ✓ | ✓ |
| DOTM | .dotm | ✓ | ✓ |
| Flat OPC (alle varianten) | (diverse) | ✓ | ✓ |
| Markdown | .md | ✓ | ✓ |
| Text | .txt | ✓ | ✓ |
Deze editie sluit opzettelijk paginalay-out en rendering uit — geen PDF, XPS of afbeeldingsexport, en geen afdrukken, wat ook betekent dat lay-outafhankelijke veldwaarden zoals paginanummers worden weergegeven als tijdelijke aanduidingen in plaats van berekend te worden. De extra formaatconversies (DOC, RTF, ODT, HTML, EPUB, MHTML, MOBI, AZW3 en WordML) worden niet gelezen of geschreven, en mail-merge uitvoering, LINQ-rapportage, documentvergelijking, het aanmaken van nieuwe digitale handtekeningen en ingebedde-lettertype-subsetting zijn niet inbegrepen. Dit zijn dezelfde subsystemen die uit de commerciële codebasis zijn verwijderd om deze editie gratis te houden.
Open Source & Licenties
Aspose.Words FOSS voor .NET is uitgebracht onder de MIT-licentie, gratis voor zowel commercieel als persoonlijk gebruik zonder royalty’s of beperkingen op herdistributie. De volledige broncode is beschikbaar op GitHub in de Aspose.Words FOSS voor .NET repository.