Introduktion

Aspose.Words FOSS för .NET är nu tillgänglig: ett gratis, öppen källkod .NET bibliotek för att skapa, läsa och redigera Word-dokument i ren C#, utan att behöva en Microsoft Word‑installation. Det riktar sig till utvecklare som behöver generera rapporter och brev från mallar, läsa och omstrukturera innehåll från befintliga .docx‑filer, eller konvertera Word-dokument till Markdown eller vanlig text som en del av en bearbetningspipeline, utan att licensiera ett kommersiellt SDK för att göra det.

Biblioteket släpps under MIT-licensen och har inga inhemska beroenden — allt körs i hanterad kod. Det riktar sig mot .NET Standard 2.0, så det fungerar på .NET Framework 4.6.2+ och .NET 6, 8 och 10, på Windows, Linux och macOS. Installera det via NuGet, eller bygg biblioteket från källkod med ett enkelt dotnet build‑kommando (se Quick Start nedan).

Det som skiljer detta från ett typiskt nytt öppen källkod-dokumentbibliotek är att det inte är en omskrivning eller ett omslag. Aspose.Words FOSS för .NET är den äkta Aspose.Words kodbasen — samma dokumentmotor som har behandlat Word-dokument i produktion sedan 2003 — nedskuren till en gratis, MIT-licensierad kärna. Utvecklare som växer ur denna version och behöver sidlayout, rendering eller de extra formatkonvertrerna kan gå över till den kommersiella Aspose.Words för .NET utan att skriva om deras kod, eftersom det är samma underliggande API.


Nyckelfunktioner

Skapande och redigering av dokument

Bygg dokument från grunden med new Document() och den högnivå DocumentBuilder, eller öppna befintliga .docx‑filer med new Document(fileName). DocumentBuilder tillhandahåller sekventiella författningsmetoder såsom Write(), Writeln(), InsertParagraph() och InsertBreak(), tillsammans med formateringsegenskaper (Font, ParagraphFormat, PageSetup) som appliceras på innehållet när det infogas. För lägre nivå‑åtkomst, gå igenom dokumentträdet direkt via noderna Section, Paragraph, Run och Table, eller subklassa DocumentVisitor för att bearbeta varje nodtyp i ett enda pass.

Tabeller och listor

Tabeller byggs från Table, Row och Cell‑noder. Table.SetBorders(), Table.SetShading() och Table.AutoFit() formaterar en hel tabell på en gång, medan Table.Rows och per‑rad Cell‑åtkomst ger finare kontroll. Numrerade och punktlistor går via ListCollection och ListFormat: applicera en inbyggd stil med ListFormat.ApplyBulletDefault() eller ApplyNumberDefault(), eller registrera en anpassad listdefinition med ListCollection.Add().

Spårade ändringar och dokumentskydd

Anropa Document.StartTrackRevisions() innan redigering för att registrera insättningar, raderingar och formateringsändringar, och inspektera, godkänna eller avvisa dem via RevisionCollection (AcceptAll(), RejectAll(), Accept(criteria), Reject(criteria)), eller godkänna allt på en gång med Document.AcceptAllRevisions(). Document.Protect() tillämpar lösenordsskydd eller verkställning av skrivskydd med hjälp av DocumentSecurity‑enumen (ReadOnlyEnforced, ReadOnlyRecommended, PasswordProtected och relaterade värden), och Document.Unprotect() återställer det.

Fält, makron och digitala signaturer

Fältutvärderingsmotorn uppdaterar fält som FieldDate (fältet DATE) och FieldDocProperty (fältet DOCPROPERTY) på plats via Document.UpdateFields() — fält som beror på sidlayout, såsom sidnummer, utvärderas till platshållarvärden eftersom sidlayout inte ingår i denna utgåva. DOCM- och DOTM-filer kan gå fram och tillbaka med sina VBA‑projekt intakta. Existerande digitala signaturer kan inspekteras via DigitalSignatureCollection och DigitalSignature (IsValid, SubjectName, IssuerName, SignTime) för att bekräfta om ett dokument är signerat och inte har manipulerats; att skapa nya signaturer är inte en del av denna utgåva.

Diagram

Infoga ett diagram i ett dokument med DocumentBuilder.InsertChart(), och konfigurera sedan dess dataserier via det returnerade Chart‑objektet.

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");

Snabbstart

Aspose.Words FOSS för .NET är tillgänglig via NuGet:

dotnet add package Aspose.Words.FOSS

För att bygga från källkod istället:

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

Lägg sedan till en projektreferens till Aspose.Words.csproj från din applikation. När referensen är på plats, skapa ett dokument med ett diagram och spara det som 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");

Stödda format

FormatFiländelseLäsSkriv
DOCX.docx
DOCM.docm
DOTX.dotx
DOTM.dotm
Flat OPC (alla varianter)(olika)
Markdown.md
Text.txt

Denna utgåva utesluter avsiktligt sidlayout och rendering — ingen PDF, XPS eller bildexport, och ingen utskrift, vilket också innebär att layoutberoende fältvärden såsom sidnummer utvärderas till platshållare snarare än beräknas. De ytterligare formatkonverterarna (DOC, RTF, ODT, HTML, EPUB, MHTML, MOBI, AZW3 och WordML) läses inte och skrivs inte, och postsammanfogning, LINQ Reporting, dokumentjämförelse, skapa nya digitala signaturer samt delmängdsbildning av inbäddade teckensnitt ingår inte. Detta är samma delsystem som har tagits bort från den kommersiella kodbasen för att hålla denna utgåva gratis.


Öppen källkod & licensiering

Aspose.Words FOSS för .NET släpps under MIT-licensen, fri för både kommersiell och personlig användning utan royalties eller restriktioner för vidaredistribution. Källkoden finns på GitHub i Aspose.Words FOSS för .NET arkiv.


Komma igång

Relaterade resurser