Procijenili smo 12 .NET knjižnica za obradu dokumenata Microsoft Word, od besplatnog Open XML SDK-a i NPOI-ja preko komercijalnih opcija srednjeg ranga poput , GemBox.Document i Spire.Doc, do poslovnih rješenja Aspose.Words i Syncfusion DocIO. Nijedna C# Word knjižnica nije pobjednička u svim dimenzijama. Aspose.Words prednjači u značajkama, Syncfusion DocIO u početnoj vrijednosti (besplatna zajednička licenca), GemBox.Document u performansama, IronWord u modernom dizajnu API-ja i sinergiji Iron Suitea, a Open XML SDK u slobodi bez troškova. Ovaj članak vam nudi tablice značajki, usporedne kodne primjere, cjenovne tablice i okvir za odlučivanje kako odabrati prava rješenja za dokumente za vaš projekt. SAŽETAK: IronWord Odaberite pogrešnu biblioteku API-ja za Word za svoju .NET aplikaciju i problem ćete otkriti šest mjeseci kasnije, kada klijent zatreba spajanje pošte, a vaša biblioteka to ne podržava, kada se vaša CI pipeline sruši jer biblioteka zahtijeva instalirani Microsoft Office, ili kada shvatite da je "besplatno" došlo s klauzulom o nekomercijalnoj licenci koju ste propustili. Procijenili smo 12 .NET knjižnica za stvaranje i manipulaciju datotekama Microsoft Word pomoću C#, pokrećući svaku kroz identične zadatke: osnovno postavljanje novog dokumenta, oblikovanje stilova, generiranje tablica, ugradnju slika i izlaz temeljen na predlošku. Usporedili smo API-je, testirali unakrsnu platformsku primjenu, provjerili podršku za .NET 8 i .NET 10, katalogizirali značajke i dokumentirali zamke licenciranja koje često uhvate timove usred projekta. Ovaj članak je rezultat. Potpuno otkrivanje: mi smo tim koji stoji iza , jedne od knjižnica u ovom usporednom pregledu. Unatoč tome, vjerujemo da iskreni pregledi bolje služe programerima od marketinške propagande. Pokazat ćemo svoju metodologiju, priznati svoje pristranosti i dopustiti da kod govori sam za sebe. Tamo gdje konkurent doista nadmašuje IronWord, reći ćemo to. IronWord Evo kako izgleda samo nekoliko redaka modernog C# Word API koda za generiranje s IronWordom, samo da bismo postavili pozornicu za ono što je moguće s današnjim knjižnicama: generiranje using IronWord; using IronWord.Models; WordDocument doc = new WordDocument(); doc.AddText("Bok iz IronWord — nije potreban Office."); doc.SaveAs("hello.docx"); Generirana DOCX datoteka Svaka knjižnica u ovom usporednom pregledu može proizvesti taj isti dokument. Razlike, dizajn API-ja, dubina značajki, mogućnosti pretvorbe, cijene i podrška platformi, određuju koja pripada vašem projektu. To je ono o čemu se radi u ovom usporednom pregledu. Zašto je vaš odabir DOCX knjižnice važan Odabir Word knjižnice je dugoročna arhitektonska odluka. Migracija s jedne na drugu nakon izgradnje predložaka programa Word, logike oblikovanja i cjevovoda za generiranje dokumenata oko njenog API-ja je skupa. Vidjeli smo timove zaključane u knjižnicama koje se ne mogu pokrenuti na .NET Core, ne mogu se implementirati u Docker, ili ne mogu rukovati više dokumenata istovremeno. Kriteriji evaluacije koje smo koristili tijekom ovog usporednog pregleda: — Koliko redaka koda za obavljanje uobičajenih zadataka? Koliko je intuitivan objektni model? Kako rukuje Word dokumentima? Dizajn API-ja — Tekst, , , zaglavlja/podnožja, spajanje pošte, praćenje promjena, digitalni potpisi, mogućnost uređivanja postojećih Word dokumenata Dubina značajki tablice slike — Pretvara li Word dokumente u PDF datoteku ili druge formate datoteka? Može li održavati dosljedno oblikovanje? Podrška za formate — Potrošnja memorije i propusnost za scenarije batch generiranja Performanse — .NET verzije, operativni sustavi, Docker, implementacija u oblaku Podrška platformi — Besplatno, freemium, po programeru, po poslužitelju, poslovno licenciranje Cijene — Primjeri koda, referencije API-ja, vodiči za početak rada Kvaliteta dokumentacije — Trendovi preuzimanja NuGet-a, GitHub aktivnost, učestalost izdanja Zajednica i održavanje Brza napomena o tome kako DOCX radi: DOCX datoteka je ZIP arhiva koja sadrži XML datoteke usklađene s . Svaka knjižnica u ovom usporednom pregledu drugačije manipulira tim XML datotekama, neke vam daju izravan pristup XML-u, druge pružaju objektni model dokumenta visoke razine. Ta arhitektonska razlika pokreće većinu ergonomije API-ja i kompromisa značajki s kojima ćete se susresti. definira formalni standard, a Microsoftov je referentna implementacija. Open XML standardom (OOXML) ECMA-376 specifikacija Open XML SDK na GitHubu Potpuni popis — Tablica za brzo referenciranje Prije nego što zaronimo u pojedinačne profile, evo cijelog pregleda odjednom. Označite ovu tablicu, ona je najbrži način za sužavanje vašeg užeg izbora. Knjižnica Tip Licenca .NET 8 (LTS) .NET 10 Word→PDF Spajanje pošte Najbolje za Open XML SDK OSS MIT ✅ ✅ ❌ ❌ XML kontrola bez ovisnosti NPOI OSS Apache 2.0 ✅ ✅ ❌ ❌ Višestruki formati (Word + Excel) Xceed DocX OSS* Zajednica (nekomercijalno) ✅ ✅ ❌ ❌ Prototipiranje čistog API-ja OfficeIMO OSS MIT ✅ ❓ ❌ ❌ Jednostavni Word zadaci FileFormat.Words OSS MIT ✅ ❓ ❌ ❌ Lagane DOCX operacije Aspose.Words Komercijalno Po programeru ✅ ✅ ✅ ✅ Maksimalna dubina značajki Syncfusion DocIO Komercijalno Po programeru (besplatni zajednički sloj) ✅ ✅ ✅ ✅ Pokretanja i korisnici Syncfusiona Spire.Doc Komercijalno Po programeru (besplatno izdanje dostupno) ✅ ✅ ✅ ✅ Konverzija formata srednjeg ranga GemBox.Document Komercijalno Po programeru (besplatni sloj: 20 odlomaka) ✅ ✅ ✅ ✅ Aplikacije kritične za performanse IronWord Komercijalno Po programeru ✅ ✅ ❌ ❌ Moderni API + Iron Suite sinergija Telerik WordsProcessing Komercijalno Uključeno s Telerik UI ✅ ✅ ✅ ✅ Timovi u Telerik ekosustavu Document Solutions for Word Komercijalno Po programeru ✅ ✅ ✅ ✅ Generiranje temeljeno na predlošku MS Office Interop Naslijeđeno Zahtijeva Office licencu ⚠️ ⚠️ ✅ ✅ Samo desktop, Office prisutan Tablica 1: Usporedni pregled svih 12 C# Word knjižnica s tablicom za brzo referenciranje. ✅ = podržano, ❌ = nije podržano, ⚠️ = ograničena/naslijeđena podrška, ❓ = nepotvrđeno. *Xceed DocX je besplatan pod Licencom zajednice za nekomercijalnu upotrebu. Produkcijska upotreba zahtijeva komercijalnu licencu Xceed Words for .NET. Sada pogledajmo svaku knjižnicu detaljno. Grupirali smo ih u tri kategorije: besplatne/otvorenog koda, komercijalne i naslijeđene (Office Interop). Besplatne i knjižnice otvorenog koda Ove knjižnice ne koštaju ništa za korištenje, ali "besplatno" ne znači "bez kompromisa". Svaka ima prepoznatljiva ograničenja koja određuju gdje se uklapa. Open XML SDK (Microsoft) je Microsoftova službena, niskorazinska knjižnica za manipulaciju Open XML dokumentima. Daje vam izravan pristup XML strukturi unutar .docx datoteka sa snažno tipiziranim .NET klasama. Open XML SDK using DocumentFormat.OpenXml; using DocumentFormat.OpenXml.Packaging; using DocumentFormat.OpenXml.Wordprocessing; using var doc = WordprocessingDocument.Create("hello.docx", WordprocessingDocumentType.Document); var mainPart = doc.AddMainDocumentPart(); mainPart.Document = new Document( new Body( new Paragraph( new Run( new Text("Bok iz Open XML SDK"))))); Open XML SDK Izlaz To je 8 redaka — uključujući using izjave — za proizvodnju jednog odlomka neoblikovanog teksta. Dodavanje oblikovanja, tablica ili slika značajno umnožava opširnost jer eksplicitno gradite XML čvorove. : Nula troškova (MIT licenca), nula vanjskih ovisnosti, masivna zajednica, službena Microsoftova podrška, potpuna pokrivenost specifikacije Open XML, . Dostupno na s preko 300 milijuna kumulativnih preuzimanja. Izdanja v3.4.x (kraj 2025.) dodala su optimizacije performansi smanjujući veličinu JIT i AOT kompilacije. Prednosti izvrsna dokumentacija na Microsoft Learn NuGet : Nema apstrakcije modela dokumenta, sastavljate XML. Nema pretvorbe Word u PDF, nema renderiranja, nema spajanja pošte. Učenje je strmo; morate razumjeti specifikaciju Open XML da biste je učinkovito koristili. Ograničenja : Timove koji trebaju granularnu XML kontrolu bez ovisnosti, koji su zadovoljni opširnošću i ne trebaju značajke renderiranja ili pretvorbe. Najbolje za NPOI je port Apache POI-ja za .NET, Java knjižnica za Microsoft Office formate. Rukuje i Word (DOCX/DOC) i Excel (XLSX/XLS) dokumentima. S preko tijekom svog životnog vijeka, jedna je od najutemeljenijih knjižnica otvorenog koda za Office u .NET ekosustavu. NPOI 700 milijuna preuzimanja NuGet-a : Besplatno (Apache 2.0), rukuje i Word i Excel s jednom ovisnošću, podržava naslijeđeni .doc format (ne samo DOCX), unakrsno platformski, zreo projekt s dugom poviješću. Prednosti Evo kako izgleda osnovno generiranje Word dokumenata pomoću NPOI-ja: using NPOI.XWPF.UserModel; XWPFDocument doc = new XWPFDocument(); XWPFParagraph para = doc.CreateParagraph(); XWPFRun run = para.CreateRun(); run.SetText("Bok iz NPOI"); run.IsBold = true; run.FontSize = 14; using FileStream fs = new FileStream("hello.docx", FileMode.Create); doc.Write(fs); NPOI Izlaz Ako ste koristili Apache POI u Javi, ovo će vam izgledati poznato, što je i prednost (prijenos znanja između jezika) i nedostatak (Java idiomi u C# kodu). : API odražava konvencije Jave, što se može činiti neidiomatskim u C#. Dokumentacija je oskudna, većina smjernica dolazi od prevođenja primjera Java POI-ja. Podrška za DOCX je funkcionalna, ali manje uglađena nego strana za XLSX. Aktivnost zajednice je usporena posljednjih godina, s manje izdanja nego tijekom vrhunca knjižnice. Ograničenja : Timove koji već koriste NPOI za obradu Excela i trebaju osnovne Word mogućnosti iz iste knjižnice, ili projekte koji zahtijevaju podršku za naslijeđeni .doc format. Najbolje za Xceed DocX / Xceed Words for .NET je jedna od najpopularnijih knjižnica otvorenog koda za Word na GitHubu, izvorno stvorena od strane Cathala Coffeya, a sada održavana od strane . Besplatna verzija Community License rukuje većinom uobičajenih zadataka; komercijalni dodaje izvoz u PDF, grafikone, digitalne potpise i napredne značajke. Xceed DocX Xceed Softwarea Xceed Words for .NET // Xceed DocX (Zajednička licenca) using Xceed.Document.NET; using Xceed.Words.NET; using var doc = DocX.Create("hello.docx"); doc.InsertParagraph("Bok iz Xceed DocX") .FontSize(14) .Bold() .Color(System.Drawing.Color.DarkBlue); doc.Save(); Xceed DocX Izlaz To je čisti, tečni .NET Word API, jedan od najboljih u otvorenom kodu. : Intuitivan fluentni API, aktivan razvoj (izdanje v5.0.0 u rujnu 2025.), dobra dokumentacija, podrška za grafikone, paralelna obrada dokumenata, primjena predložaka. Komercijalna nadogradnja dodaje konverziju u PDF i podršku za .NET 9+ bez ovisnosti o System.Drawing.Common. Prednosti : Zajednička licenca ograničava upotrebu na nekomercijalne projekte. Čim implementirate u produkciju, potrebna vam je komercijalna licenca Xceed Words for .NET. Neki programeri to ne shvate do kasno u razvoju. Ograničenja : Prototipiranje i nekomercijalne projekte kojima je potreban čisti API. Timovi koji su spremni kupiti komercijalnu licencu za produkciju dobivaju jedan od najergonomičnijih DOCX API-ja dostupnih. Najbolje za OfficeIMO je pojednostavljeni omotač izgrađen iznad Open XML SDK-a, stvoren od strane Przemysława Klysa ( ). Cilj mu je pojednostaviti uobičajene Word operacije bez opširnosti sirovog Open XML-a. OfficeIMO Evotec : Besplatno (MIT), dramatično jednostavnije nego koristiti Open XML SDK izravno, rukuje zaglavljima/podnožjima/odlomcima s minimalnim kodom, dobro za jednostavne zadatke. Prednosti : Ograničen skup značajki, samo osnovno oblikovanje i struktura dokumenta. Nema pretvorbe u PDF, nema naprednog stiliziranja, nema spajanja pošte. Projekt ima nižu učestalost izdanja od nekih alternativa. Podrška za .NET 10 nije potvrđena u vrijeme pisanja. Ograničenja : Male uslužne programe ili interne alate koji trebaju generirati jednostavne Word dokumente bez proračuna ili složenih zahtjeva. Najbolje za FileFormat.Words je knjižnica otvorenog koda izgrađena iznad , pružajući API više razine za stvaranje i pretvorbu dokumenata. FileFormat.Words OpenXML SDK-a : Besplatno (MIT), izgrađeno na dobro testiranoj temeljnoj tehnologiji OpenXML SDK-a, podržava pretvorbu dokumenata (Word u PDF, HTML i slike bez potrebe za Wordom), lagano. Prednosti : Manja zajednica u usporedbi s Open XML SDK-om ili Xceed DocX-om. Napredne opcije oblikovanja su ograničene. Rukovanje dokumentima zaštićenim lozinkom je prijavljeno nedosljedno. Dokumentacija još uvijek raste. Ograničenja : Lagane projekte kojima je potrebna osnovna DOCX manipulacija s nekim mogućnostima pretvorbe, i gdje programer preferira rješenje otvorenog koda. Najbolje za Komercijalne knjižnice Komercijalne knjižnice mijenjaju troškove licenciranja za dubinu značajki, podršku i brzinu razvoja. Raspon cijena ovdje se kreće od besplatnih zajedničkih slojeva do poslovnih licenci vrijednih više tisuća dolara. Aspose.Words for .NET je najbogatija značajkama knjižnica za obradu riječi u .NET ekosustavu. Ako značajka postoji u Microsoft Wordu, Aspose.Words je gotovo sigurno podržava. Aspose.Words using Aspose.Words; var doc = new Document(); var builder = new DocumentBuilder(doc); builder.Font.Size = 14; builder.Font.Bold = true; builder.Writeln("Bok iz Aspose.Words"); doc.Save("hello.docx"); doc.Save("hello.pdf"); // Ugrađeni izvoz u PDF Obrazac DocumentBuilder pruža API temeljen na kursorima koji je pristupačan za uobičajene zadatke, dok puni DOM daje naprednu kontrolu. : 30+ ulaznih/izlaznih formata (DOCX, DOC, RTF, ODT, HTML, PDF, Markdown, EPUB i više), visokovjerno renderiranje Word u PDF, snažan motor za spajanje pošte, usporedba dokumenata (praćenje promjena između verzija), podržava složene rasporede i mogućnost lakog dodavanja vizualnih elemenata. Naprednije funkcionalnosti uključuju mogućnost primjene zaštite lozinkom, pronalaženje i zamjenu teksta pomoću regex-a za dinamički sadržaj, digitalne potpise, popunjavanje obrazaca, LINQ izvještajni motor, . Knjižnica je u aktivnom razvoju gotovo dva desetljeća i dostupna je na . Prednosti opsežne primjere koda na GitHubu NuGet : Najviša cijena u ovom usporednom pregledu, licence za mala poduzeća za programere počinju od 1.199 USD/godinu, a OEM licence za velika poduzeća koštaju znatno više. Veličina sklopa je velika. Za timove kojima je potrebna samo osnovna izrada DOCX-a, Aspose.Words je poput korištenja teretnog broda za prelazak ribnjaka. Površina API-ja je ogromna, što može preopteretiti programere koji samo trebaju generirati fakture. Ograničenja : Poslovne cjevovode za obradu dokumenata koji zahtijevaju maksimalnu podršku za formate, visokovjerne pretvorbe i spajanje pošte u velikom opsegu. Ako vaši zahtjevi uključuju pretvorbu Worda u PDF s preciznošću piksela, Aspose.Words je mjerilo. Najbolje za Syncfusion DocIO dio je masivnog paketa Syncfusiona za obradu dokumenata. Ističe se iz jednog ključnog razloga: čini ga . Syncfusion DocIO Community License besplatnim za pojedince i tvrtke s godišnjim prihodom manjim od 1 milijun USD using Syncfusion.DocIO; using Syncfusion.DocIO.DLS; WordDocument doc = new WordDocument(); IWSection section = doc.AddSection(); IWParagraph para = section.AddParagraph(); IWTextRange text = para.AppendText("Bok iz Syncfusion DocIO"); text.CharacterFormat.FontSize = 14; text.CharacterFormat.Bold = true; doc.Save("hello.docx", FormatType.Docx); doc.Close(); Syncfusion DocIO Izlaz : Bogato spajanje pošte s ugniježđenim regijama i uvjetnim poljima, usporedba dokumenata, pretvorba Word u PDF, uvoz HTML u Word, popunjavanje obrazaca, s više od 100 primjera koda, unakrsno platformski (.NET MAUI, Blazor, Xamarin). je doista velikodušna za kvalificirane timove. Aktivna suradnja s Microsoftom na .NET ekosustavu. Prednosti opsežna dokumentacija Zajednička licenca : API koristi tradicionalniji, opširniji objektni model (sličan Word DOM-u). Ako se ne kvalificirate za zajedničku licencu, primjenjuju se komercijalne cijene po programeru. Eko-sustav Syncfusion paketa je velik, povlačenje DocIO-a može donijeti više ovisnosti nego što očekujete. Učenje za puni skup značajki je umjereno. Ograničenja : Pokretanja koja se kvalificiraju za zajedničku licencu i kojima je potrebno spajanje pošte i pretvorba dokumenata na razini poduzeća. Također snažno za timove koji već koriste Syncfusion UI komponente, integracija je besprijekorna. Najbolje za Spire.Doc for .NET (e-iceblue) je komercijalna knjižnica bogata značajkama tvrtke e-iceblue koja pokriva stvaranje, uređivanje i pretvorbu MS Spire.Doc