Lakoan eng qilib 12 .NET kutubxonasini Microsoft Word hujjatlarini qayta ishlash uchun sinovdan o'tkazdik, bepul Open XML SDK va NPOI dan boshlab, IronWord, GemBox.Document va Spire.Doc kabi o'rta darajadagi tijoriy variantlargacha, Aspose.Words va Syncfusion DocIO kabi korporativ darajagacha. Hech bir C# Word kutubxonasi hamma jihatdan g'olib chiqmaydi. Aspose.Words xususiyatlar bo'yicha, Syncfusion DocIO boshlang'ich qiymati (bepul jamoa litsenziyasi) bo'yicha, GemBox.Document samaradorlik bo'yicha, IronWord zamonaviy API dizayni va Iron Suite sinergiyasi bo'yicha, Open XML SDK esa nol xarajatli erkinlik bo'yicha yetakchi. Ushbu maqolada xususiyatlar jadvali, yonma-yon kod taqqoslashlari, narxlar jadvallari va loyihangiz uchun to'g'ri hujjat yechimlarini tanlash uchun qaror qabul qilish tizimi keltirilgan. TL;DR: Agar siz .NET ilovangiz uchun noto'g'ri Word API kutubxonasini tanlasangiz, bu muammoni olti oydan keyin, mijoz pochta birlashmasini talab qilsa-yu, kutubxonangiz buni qo'llab-quvvatlamasa, CI quvuri kutubxona Microsoft Office o'rnatishni talab qilganligi sababli ishdan chiqsa, yoki "bepul" degani tijoriy bo'lmagan litsenziya bandi bilan birga kelganini tushunib yetsangiz, bilib olasiz. Biz C# yordamida hujjatlarni yaratish va Microsoft Word fayllarini manipulyatsiya qilish uchun 12 ta .NET kutubxonasini baholadik, ularning har birini bir xil vazifalar orqali o'tkazdik: asosiy yangi hujjatni sozlash, uslubni formatlash, jadval yaratish, rasm qo'shish va shablon asosida chiqarish. APIlarni taqqosladik, platformalararo joylashtirishni tekshirdik, .NET 8 va .NET 10 qo'llab-quvvatlashini tasdiqladik, xususiyatlarni katalogladik va loyiha davomida jamoalarni chalg'itadigan litsenziyalash tuzoqlari haqida ma'lumot berdik. Ushbu maqola shu narsaning natijasidir. To'liq oshkor qilish: biz IronWord, ushbu taqqoslashdagi kutubxonalardan biri ortidagi jamoamiz. Shunday bo'lsa-da, bizning fikrimizcha, halol baholashlar marketingdan ko'ra ko'proq dasturchilarga xizmat qiladi. Biz metodologiyamizni ko'rsatamiz, tarafkashliklarimizni tan olamiz va kodga gapirishga imkon beramiz. Raqobatchi IronWord dan haqiqatan ham ustun bo'lgan joyda, biz buni aytamiz. Bugungi kunda zamonaviy C# Word kutubxonasi yaratish kodi bilan bir necha qator qanday ko'rinishini ko'rsatish uchun, faqat boshlanish uchun, IronWord bilan: using IronWord; using IronWord.Models; WordDocument doc = new WordDocument(); doc.AddText("Hello from IronWord — no Office required."); doc.SaveAs("hello.docx"); Yaratilgan DOCX fayli Ushbu taqqoslashdagi har bir kutubxona shu bir xil hujjatni yaratishi mumkin. Farqlar, API dizayni, xususiyatlar chuqurligi, konvertatsiya imkoniyatlari, narxlar va platforma qo'llab-quvvatlashi, qaysi biri loyihangizga mos kelishini aniqlaydi. Ushbu taqqoslash shular haqida. Nega DOCX kutubxonangizni tanlash muhim? Word kutubxonasini tanlash uzoq muddatli arxitektura qaroridir. Word shablonlari, formatlash mantiqiy va hujjat yaratish quvurlarini uning API atrofida qurganingizdan so'ng undan voz kechish qimmatga tushadi. Biz .NET Core da ishlamaydigan, Docker ga joylashtirilmaydigan yoki bir nechta hujjatlarni bir vaqtning o'zida ishlay olmaydigan kutubxonalarga bog'langan jamoalarni ko'rganmiz. Ushbu taqqoslash davomida biz ishlatgan baholash mezonlari: — Umumiy vazifalarni bajarish uchun qancha kod qatori kerak? Ob'yekt modeli qanchalik intuitiv? U Word hujjatlarini qanday boshqaradi? API dizayni — Matn, , , sarlavhalar/taglavhalar, pochta birlashmasi, o'zgarishlarni kuzatish, raqamli imzolar, mavjud Word hujjatlarini tahrirlash qobiliyati Xususiyatlar chuqurligi jadvallar rasmlar — Word hujjatlarini PDF fayliga yoki boshqa fayl formatlariga aylantiradimi? Formatlashning izchilligini saqlab qola oladimi? Format qo'llab-quvvatlashi — Xotira hajmi va ommaviy yaratish stsenariylari uchun o'tkazish qobiliyati Samaradorlik — .NET versiyalari, operatsion tizimlar, Docker, bulutli joylashtirish Platforma qo'llab-quvvatlashi — Bepul, freemium, ishlab chiquvchi uchun, server uchun, korporativ litsenziyalash Narxlar — Kod misollari, API ma'lumotnomalari, boshlash qo'llanmalari Hujjatlar sifati — NuGet yuklab olish tendentsiyalari, GitHub faolligi, chiqarilish ritmi Jamoa va texnik xizmat ko'rsatish DOCX qanday ishlashi haqida qisqacha eslatma: DOCX fayli XML fayllaridan iborat ZIP arxividir, ular muvofiq keladi. Ushbu taqqoslashdagi har bir kutubxona ushbu XML fayllarini har xil tarzda boshqaradi, ba'zilari sizga XML ga to'g'ridan-to'g'ri kirish imkonini beradi, boshqalari yuqori darajadagi hujjat ob'yekt modelini taqdim etadi. Ushbu arxitektura farqi API ergonomikasi va xususiyatlarining aksariyat savdo-sotiqlarini keltirib chiqaradi. rasmiy standartni belgilaydi va Microsoftning GitHub dagi - bu mos yozuvlar dasturi. Office Open XML (OOXML) standartiga ECMA-376 spetsifikatsiyasi Open XML SDK To'liq qator — Tezkor ma'lumot jadvali Alomida profillarga sho'ng'ishdan oldin, bu erda umumiy ko'rinishdagi to'liq manzara mavjud. Ushbu jadvalni belgilab qo'ying, bu sizning qisqa ro'yxatingizni toraytirishning eng tezkor usuli. Kutubxona Turi Litsenziya .NET 8 (LTS) .NET 10 Word→PDF Pochta birlashmasi Eng yaxshi Open XML SDK OSS MIT ✅ ✅ ❌ ❌ Nol-bo'linmas XML boshqaruvi NPOI OSS Apache 2.0 ✅ ✅ ❌ ❌ Ko'p formatli (Word + Excel) Xceed DocX OSS* Jamiyat (tijoriy bo'lmagan) ✅ ✅ ❌ ❌ Toza API prototiplash OfficeIMO OSS MIT ✅ ❓ ❌ ❌ Oddiy Word vazifalari FileFormat.Words OSS MIT ✅ ❓ ❌ ❌ Engil DOCX operatsiyalari Aspose.Words Tijoriy Ishlab chiquvchi uchun ✅ ✅ ✅ ✅ Maksimal xususiyatlar chuqurligi Syncfusion DocIO Tijoriy Ishlab chiquvchi uchun (bepul jamoa darajasi) ✅ ✅ ✅ ✅ Boshlang'ichlar va Syncfusion foydalanuvchilari Spire.Doc Tijoriy Ishlab chiquvchi uchun (bepul nashr mavjud) ✅ ✅ ✅ ✅ O'rta darajadagi format konvertatsiyasi GemBox.Document Tijoriy Bepul daraja (20 paragraf) ✅ ✅ ✅ ✅ Samaradorlikka ega ilovalar IronWord Tijoriy Ishlab chiquvchi uchun ✅ ✅ ❌ ❌ Zamonaviy API + Iron Suite sinergiyasi Telerik WordsProcessing Tijoriy Telerik UI bilan paketlangan ✅ ✅ ✅ ✅ Telerik ekotizimi jamoalari Document Solutions for Word Tijoriy Ishlab chiquvchi uchun ✅ ✅ ✅ ✅ Shablon asosida yaratish MS Office Interop Eskirgan Office litsenziyasini talab qiladi ⚠️ ⚠️ ✅ ✅ Faqat ish stoli, Office mavjud Jadval 1: Baholangan barcha 12 C# Word kutubxonalarining tezkor ma'lumotlar taqqoslashi. ✅ = qo'llab-quvvatlanadi, ❌ = qo'llab-quvvatlanmaydi, ⚠️ = cheklangan/eskirgan qo'llab-quvvatlash, ❓ = tasdiqlanmagan. *Xceed DocX Jamiyat Litsenziyasi ostida tijoriy bo'lmagan foydalanish uchun bepul. Ishlab chiqarish foydalanish tijoriy Xceed Words for .NET litsenziyasini talab qiladi. Endi har bir kutubxonani batafsil ko'rib chiqamiz. Ularni uch toifaga bo'ldik: bepul/ochiq manbali, tijoriy va eskirgan (Office Interop). Bepul va ochiq manbali kutubxonalar Ushbu kutubxonalarni ishlatish uchun hech qanday xarajat yo'q, lekin "bepul" deganda "kamchiliksiz" degani emas. Har biri o'ziga xos cheklovlarga ega, bu ularning qayerga mos kelishini aniqlaydi. Open XML SDK (Microsoft) - bu Microsoftning Office Open XML hujjatlarini boshqarish uchun rasmiy, past darajadagi kutubxonasi. U sizga kuchli-tipdagi .NET sinflari bilan .docx fayllari ichidagi XML tuzilishiga to'g'ridan-to'g'ri kirish imkonini beradi. 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("Hello from Open XML SDK"))))); Open XML SDK chiqarilishi Bu bitta uslubsiz matn paragrafini yaratish uchun 8 qator — foydalanish bayonnomalari bilan. Formatlash, jadvallar yoki rasmlarni qo'shish ko'p qavatlilikni sezilarli darajada oshiradi, chunki siz XML tugunlarini aniq yaratasiz. : Nol xarajat (MIT litsenziyasi), nol tashqi bog'liqliklar, katta jamoa, rasmiy Microsoft qo'llab-quvvatlovi, to'liq Open XML spetsifikatsiyasi qamrovi, . NuGet da 300 milliondan ortiq kumulyativ yuklab olishlar bilan mavjud. v3.4.x nashrlari (2025 yil oxiri) JIT va AOT kompilyatsiya hajmini kamaytiradigan samaradorlik optimizatsiyalarini qo'shdi. Afzalliklari Microsoft Learn da ajoyib hujjatlar : Hujjat modeli abstraksiyasi yo'q, siz XMLni yig'asiz. Hujjatdan PDF ga konvertatsiya qilish yo'q, renderlash yo'q, pochta birlashmasi yo'q. O'rganish egri chizig'i qiyin; undan samarali foydalanish uchun Open XML spetsifikatsiyasini tushunishingiz kerak. Cheklovlari : Nol bog'liqliklar bilan aniq XML boshqaruviga muhtoj bo'lgan, ko'p gaplilikdan qochmaydigan va renderlash yoki konvertatsiya xususiyatlariga muhtoj bo'lmagan jamoalar uchun. Eng yaxshi NPOI - bu Microsoft Office formatlari uchun Java kutubxonasi Apache POI ning .NET porti. U Word (DOCX/DOC) va Excel (XLSX/XLS) hujjatlarini boshqaradi. NuGet da umri davomida bilan, u .NET ekotizimidagi eng asosiy ochiq manbali Office kutubxonalaridan biridir. NPOI 700 milliondan ortiq yuklab olishlar : Bepul (Apache 2.0), bir xil bog'liqlik bilan ham Word, ham Excelni boshqaradi, eski .doc formatini qo'llab-quvvatlaydi (faqat DOCX emas), platformalararo, uzoq tarixga ega yetuk loyiha. Afzalliklari Asosiy NPOI Word yaratish quyidagicha ko'rinadi: using NPOI.XWPF.UserModel; XWPFDocument doc = new XWPFDocument(); XWPFParagraph para = doc.CreateParagraph(); XWPFRun run = para.CreateRun(); run.SetText("Hello from NPOI"); run.IsBold = true; run.FontSize = 14; using FileStream fs = new FileStream("hello.docx", FileMode.Create); doc.Write(fs); NPOI chiqarilishi Agar siz Java da Apache POI dan foydalangan bo'lsangiz, bu tanish ko'rinadi, bu ham afzallik (tilga-qaramasdan bilim almashish) ham kamchilik (C# kodida Java idiomasi). : API Java konventsiyalarini takrorlaydi, bu C# da noidiomatik tuyulishi mumkin. Hujjatlar kam, ko'p yo'l-yo'riqlar Java POI misollarini tarjima qilishdan keladi. DOCX qo'llab-quvvatlashi funktsional, lekin XLSX tomoniga qaraganda kamroq yaxshilangan. So'nggi yillarda jamoa faolligi sekinlashgan, kutubxonaning eng yuqori cho'qqisidagi nashrlarga qaraganda kamroq. Cheklovlari : Bir xil kutubxonadan asosiy Word imkoniyatlariga muhtoj bo'lgan Excel ishlovchilari uchun NPOI dan allaqachon foydalanayotgan jamoalar, yoki eski .doc formatini qo'llab-quvvatlashni talab qiladigan loyihalar. Eng yaxshi Xceed DocX / Xceed Words for .NET GitHub dagi eng mashhur ochiq manbali Word kutubxonalaridan biridir, aslida Cathal Coffey tomonidan yaratilgan va hozirda tomonidan boshqariladi. Bepul Jamiyat Litsenziyasi versiyasi ko'pchilik umumiy vazifalarni bajaradi; tijoriy PDF eksporti, grafiklar, raqamli imzolar va ilg'or xususiyatlarni qo'shadi. Xceed DocX Xceed Software Xceed Words for .NET // Xceed DocX (Jamiyat Litsenziyasi) using Xceed.Document.NET; using Xceed.Words.NET; using var doc = DocX.Create("hello.docx"); doc.InsertParagraph("Hello from Xceed DocX") .FontSize(14) .Bold() .Color(System.Drawing.Color.DarkBlue); doc.Save(); Xceed DocX chiqarilishi Bu toza, ravon .NET Word API, ochiq manbali qismdagi eng yaxshilaridan biri. : Intuitiv ravon API, faol rivojlanish (v5.0.0 sentyabr 2025 da chiqarilgan), yaxshi hujjatlar, grafiklar qo'llab-quvvatlashi, parallel hujjatni qayta ishlash, shablonni qo'llash. Tijoriy yangilanish PDF konvertatsiyasini va System.Drawing.Common bog'liqligi bo'lmagan holda .NET 9+ qo'llab-quvvatlashini qo'shadi. Afzalliklari : Jamiyat Litsenziyasi tijoriy bo'lmagan loyihalar uchun ishlatishni cheklaydi. Ishlab chiqarishga joylashtirganingiz zahoti, sizga Xceed Words for .NET (tijoriy litsenziya) kerak bo'ladi. Ba'zi dasturchilar buni rivojlanishning oxirigacha bilishmaydi. Cheklovlari : Toza APIga ega prototiplash va tijoriy bo'lmagan loyihalar uchun. Ishlab chiqarish uchun tijoriy litsenziyani sotib olishga tayyor jamoalar mavjud eng ergonomik DOCX APIlaridan biriga ega bo'lishadi. Eng yaxshi OfficeIMO - bu Open XML SDK ga asoslangan soddalashtirilgan o'ram, Przemyslaw Klys ( ) tomonidan yaratilgan. U keng tarqalgan Open XML ning ko'pligi bo'lmagan holda umumiy Word operatsiyalarini sodda qilishni maqsad qiladi. OfficeIMO Evotec : Bepul (MIT), Open XML SDK dan to'g'ridan-to'g'ri foydalanishdan ko'ra ancha sodda, sarlavhalar/taglavhalar/bo'limlarni minimal kod bilan boshqaradi, oddiy vazifalar uchun yaxshi. Afzalliklari : Cheklangan xususiyatlar to'plami, faqat asosiy formatlash va hujjat tuzilishi. PDF konvertatsiyasi yo'q, ilg'or uslublar yo'q, pochta birlashmasi yo'q. Loyiha ba'zi muqobillariga qaraganda kamroq chiqarilish chastotasiga ega. .NET 10 qo'llab-quvvatlashi yozish vaqtida tasdiqlanmagan. Cheklovlari : Hech qanday byudjet yoki murakkab talablarsiz oddiy Word hujjatlarini yaratishga muhtoj bo'lgan kichik yordamchi dasturlar yoki ichki vositalar uchun. Eng yaxshi FileFormat.Words - bu ochiq manbali kutubxona, ga asoslangan, hujjat yaratish va konvertatsiya qilish uchun yuqori darajadagi APIni taqdim etadi. FileFormat.Words OpenXML SDK : Bepul (MIT), yaxshi sinovdan o'tgan OpenXML SDK asosiga qurilgan, hujjat konvertatsiyasini qo'llab-quvvatlaydi (Word dan PDF, HTML va Office talab qilmasdan rasmlarga), engil. Afzalliklari : Open XML SDK yoki Xceed DocX ga qaraganda kichikroq jamoa. Ilg'or formatlash imkoniyatlari cheklangan. Parol bilan himoyalangan hujjatni boshqarishda nomuvofiq hisobotlar mavjud. Hujjatlar hali ham o'sib bormoqda. Cheklovlari : Ochiq manbali yechimni afzal ko'rgan ba'zi konvertatsiya imkoniyatlariga ega asosiy DOCX boshqaruvi kerak bo'lgan engil loyihalar uchun. Eng yaxshi Tijoriy kutubxonalar Tijoriy kutubxonalar litsenziya narxini xususiyatlar chuqurligi, qo'llab-quvvatlash va rivojlanish tezligi uchun almashtiradi. Narx diapazonlari bepul jamiyat darajalaridan tortib, bir necha ming dollarlik korporativ litsenziyalargacha cho'ziladi. Aspose.Words for .NET .NET ekotizimidagi eng ko'p xususiyatlarga ega Wordni qayta ishlash kutubxonasidir. Agar biror xususiyat Microsoft Word da mavjud bo'lsa, Aspose.Words deyarli uni qo'llab-quvvatlaydi. Aspose.Words using Aspose.Words; var doc = new Document(); var builder = new DocumentBuilder(doc); builder.Font.Size = 14; builder.Font.Bold = true; builder.Writeln("Hello from Aspose.Words"); doc.Save("hello.docx"); doc.Save("hello.pdf"); // O'rnatilgan PDF eksporti DocumentBuilder modeli umumiy vazifalar uchun tushunarli bo'lgan kursor-asosidagi APIni taqdim etadi, to'liq DOM esa ilg'or boshqaruvni ta'minlaydi. : 30 dan ortiq kirish/chiqarish formatlari (DOCX, DOC, RTF, ODT, HTML, PDF, Markdown, EPUB va boshqalar), yuqori aniqlikdagi Worddan-PDF ga renderlash, kuchli pochta birlashmasi mexanizmi, hujjatni taqqoslash (versiyalar orasidagi o'zgarishlarni kuzatish), murakkab tartiblar va vizual elementlarni osongina qo'shish qobiliyatini qo'llab-quvvatlaydi. Eng ilg'or funksiyalariga parolni himoyalash, dinamik tarkib uchun regex yordamida matnni topish va almashtirish, raqamli imzolar, shaklni to'ldirish, LINQ hisobot mexanizmi, kiradi. Kutubxona deyarli ikki o'n yildan beri faol rivojlanib kelmoqda va NuGet da mavjud. Afzalliklari GitHub da keng kod misollari : Ushbu taqqoslashdagi eng yuqori narx nuqtasi, Ishlab chiquvchi kichik biznes litsenziyalari 1199 $/yildan boshlanadi va korporativ OEM litsenziyalari sezilarli darajada yuqoriroq. Yig'uv hajmi katta. Faqat asosiy DOCX yaratishga muhtoj jamoalar uchun Aspose.Words daryoni kesib o'tish uchun yuk kemasidan foydalanishga o'xshaydi. API yuzasi juda katta, bu shunchaki fakturalar yaratmoqchi bo'lgan dasturchilarni charchatishi mumkin. Cheklovlari : Eng ko'p format qo'llab-quvvatlashi, yuqori aniqlikdagi konvertatsiyalar va pochta birlashmasini keng miqyosda talab qiladigan korporativ hujjatlarni qayta ishlash quvurlari uchun. Agar talablaringiz Wordni piksel aniqligida PDF ga aylantirishni o'z ichiga olsa, Aspose.Words standart hisoblanadi. Eng yaxshi Syncfusion DocIO - Syncfusionning katta hujjatlarni qayta ishlash to Syncfusion DocIO