Introducere
Aspose.Words FOSS pentru .NET este acum disponibil: o bibliotecă gratuită, open-source .NET pentru crearea, citirea și editarea documentelor Word în C# pur, fără a necesita instalarea Microsoft Word. Este destinată dezvoltatorilor care trebuie să genereze rapoarte și scrisori din șabloane, să citească și să restructureze conținutul din fișiere .docx existente, sau să convertească documentele Word în Markdown sau text simplu ca parte a unui flux de procesare, fără a licenția un SDK comercial pentru a face acest lucru.
Biblioteca este lansată sub licența MIT și nu are dependențe native — totul rulează în cod gestionat. Vizează .NET Standard 2.0, astfel că funcționează pe .NET Framework 4.6.2+ și .NET 6, 8 și 10, pe Windows, Linux și macOS. Instalați-o prin NuGet, sau construiți biblioteca din sursă cu o singură comandă dotnet build (consultați Quick Start de mai jos).
Ceea ce diferențiază aceasta de o bibliotecă tipică nouă open-source de documente este faptul că nu este o rescriere sau un wrapper. Aspose.Words FOSS pentru .NET este baza de cod autentică Aspose.Words — același motor de documente care procesează fișiere Word în producție din 2003 — redus la un nucleu gratuit, licențiat MIT. Dezvoltatorii care depășesc această ediție și au nevoie de aranjament de pagină, randare sau convertoare de format suplimentare pot trece la versiunea comercială Aspose.Words pentru .NET fără a rescrie codul lor, deoarece este același API de bază.
Funcționalități cheie
Crearea și editarea documentelor
Creați documente de la zero cu new Document() și DocumentBuilder de nivel înalt, sau deschideți fișiere .docx existente cu new Document(fileName). DocumentBuilder oferă metode de autorare secvențială precum Write(), Writeln(), InsertParagraph() și InsertBreak(), împreună cu proprietăți de formatare (Font, ParagraphFormat, PageSetup) care se aplică conținutului pe măsură ce este inserat. Pentru acces la nivel inferior, parcurgeți arborele documentului direct prin nodurile Section, Paragraph, Run și Table, sau subclassați DocumentVisitor pentru a procesa fiecare tip de nod într-un singur pas.
Tabele și liste
Tabelele sunt construite din nodurile Table, Row și Cell. Table.SetBorders(), Table.SetShading() și Table.AutoFit() formatează un tabel întreg dintr-o singură operație, în timp ce Table.Rows și accesul la Cell pe fiecare rând oferă un control mai fin. Listele numerotate și cu marcatori trec prin ListCollection și ListFormat: aplicați un stil încorporat cu ListFormat.ApplyBulletDefault() sau ApplyNumberDefault(), sau înregistrați o definiție de listă personalizată cu ListCollection.Add().
Modificări urmărite și protecție a documentului
Apelați Document.StartTrackRevisions() înainte de editare pentru a înregistra inserări, ștergeri și modificări de formatare, apoi inspectați, acceptați sau respingeți-le prin RevisionCollection (AcceptAll(), RejectAll(), Accept(criteria), Reject(criteria)), sau acceptați totul odată cu Document.AcceptAllRevisions(). Document.Protect() aplică protecție prin parolă sau impune modul numai citire utilizând enumerarea DocumentSecurity (ReadOnlyEnforced, ReadOnlyRecommended, PasswordProtected și valori conexe), iar Document.Unprotect() anulează această setare.
Câmpuri, macrocomenzi și semnături digitale
Motorul de evaluare a câmpurilor actualizează câmpuri precum FieldDate (câmpul DATE) și FieldDocProperty (câmpul DOCPROPERTY) direct prin Document.UpdateFields() — câmpurile care depind de aspectul paginii, cum ar fi numerele de pagină, se evaluează la valori de substituent deoarece aspectul paginii nu face parte din această ediție. Fișierele DOCM și DOTM trec prin procesul de round‑trip cu proiectele lor VBA intacte. Semnăturile digitale existente pot fi inspectate prin DigitalSignatureCollection și DigitalSignature (IsValid, SubjectName, IssuerName, SignTime) pentru a confirma dacă un document este semnat și nu a fost modificat; crearea de semnături noi nu face parte din această ediție.
Grafice
Introduceți un diagramă într-un document cu DocumentBuilder.InsertChart(), apoi configurați seriile de date prin obiectul Chart returnat.
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");
Pornire rapidă
Aspose.Words FOSS pentru .NET este disponibil prin NuGet:
dotnet add package Aspose.Words.FOSSPentru a compila din sursă în schimb:
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
Apoi adăugați o referință de proiect la Aspose.Words.csproj din aplicația dvs. Odată ce referința este în loc, creați un document cu un grafic și salvați-l în 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");
Formate acceptate
| Format | Extensie | Citire | Scriere |
|---|---|---|---|
| DOCX | .docx | ✓ | ✓ |
| DOCM | .docm | ✓ | ✓ |
| DOTX | .dotx | ✓ | ✓ |
| DOTM | .dotm | ✓ | ✓ |
| OPC plat (toate variantele) | (diverse) | ✓ | ✓ |
| Markdown | .md | ✓ | ✓ |
| Text | .txt | ✓ | ✓ |
Această ediție exclude în mod intenționat aranjamentul paginii și randarea — nu există export PDF, XPS sau imagine și nu există imprimare, ceea ce înseamnă, de asemenea, că valorile câmpurilor dependente de layout, cum ar fi numerele de pagină, se evaluează ca substituenți în loc să fie calculate. Conversiile suplimentare de format (DOC, RTF, ODT, HTML, EPUB, MHTML, MOBI, AZW3 și WordML) nu sunt citite sau scrise, iar execuția de fuziune prin poștă, Raportarea LINQ, compararea documentelor, crearea de noi semnături digitale și sub-împărțirea fonturilor încorporate nu sunt incluse. Acestea sunt aceleași subsisteme eliminate din codul comercial pentru a menține această ediție gratuită.
Open Source și licențiere
Aspose.Words FOSS pentru .NET este lansat sub licența MIT, gratuit atât pentru utilizare comercială, cât și personală, fără redevențe sau restricții de redistribuire. Codul sursă complet este disponibil pe GitHub în the Aspose.Words FOSS pentru depozitul .NET.