Մենք գնահատել ենք 12 .NET գրադարան Microsoft Word փաստաթղթերի մշակման համար՝ անվճար Open XML SDK-ից և NPOI-ից մինչև միջին շրջանակի կոմերցիոն տարբերակներ, ինչպիսիք են IronWord-ը, GemBox.Document-ը և Spire.Doc-ը, մինչև ձեռնարկատիրական մակարդակի Aspose.Words-ը և Syncfusion DocIO-ը։ Ոչ մի C# Word գրադարան չի հաղթում բոլոր չափանիշներով։ Aspose.Words-ը առաջատար է գործառույթների հարցում, Syncfusion DocIO-ը՝ մեկնարկային արժեքով (անվճար համայնքային լիցենզիա), GemBox.Document-ը՝ կատարողականությամբ, IronWord-ը՝ ժամանակակից API դիզայնով և Iron Suite-ի համագործակցությամբ, իսկ Open XML SDK-ը՝ զրոյական ծախսերով ազատությամբ։ Այս հոդվածը ձեզ տալիս է գործառույթների մատրիցներ, կողք-կողքի կոդային համեմատություններ, գների աղյուսակներ և որոշումների ընդունման շրջանակ՝ ձեր նախագծի համար փաստաթղթերի լուծումներ ընտրելու համար։ TL;DR Ընտրեք ձեր .NET հավելվածի համար սխալ Word API գրադարանը, և դուք կբացահայտեք խնդիրը վեց ամիս անց, երբ հաճախորդը կարիք ունենա փոստային միաձուլման, իսկ ձեր գրադարանը չաջակցի դա, երբ ձեր CI խողովակաշարը խափանվի, քանի որ գրադարանը պահանջում է Microsoft Office, կամ երբ դուք կհասկանաք, որ «անվճար»-ը եկել է ոչ առևտրային լիցենզավորման դրույթով, որը բաց եք թողել։ Մենք գնահատել ենք 12 .NET գրադարան փաստաթղթերի ստեղծման և Microsoft Word ֆայլերի մշակման համար՝ օգտագործելով C#, յուրաքանչյուրը մշակելով նույնական առաջադրանքներ՝ հիմնական նոր փաստաթղթի ստեղծում, ձևավորված ձևաչափում, աղյուսակի ստեղծում, պատկերի ներդրում և ձևանմուշի վրա հիմնված արտադրանք։ Մենք համեմատել ենք API-ները, փորձարկել ենք խաչաձև հարթակների տեղակայումը, ստուգել ենք .NET 8 և .NET 10 աջակցությունը, կատալոգավորել ենք գործառույթները և փաստաթղթավորել ենք լիցենզավորման թակարդները, որոնք խճճում են թիմերին նախագծի կեսին։ Այս հոդվածը արդյունքն է։ Ամբողջական բացահայտում. մենք IronWord-ի, այս համեմատության մեկ գրադարանի հետևում գտնվող թիմն ենք։ Այդ ասելով, մենք հավատում ենք, որ անկեղծ գնահատումները ծառայում են ծրագրավորողներին ավելի լավ, քան մարքեթինգային պտույտը։ Մենք ցույց կտանք մեր մեթոդաբանությունը, կճանաչենք մեր կողմնակալությունները և կթողնենք, որ կոդը խոսի ինքնուրույն։ Այնտեղ, որտեղ մրցակիցը իրականում գերազանցում է IronWord-ը, մենք կասենք դա։ Ահա թե ինչպիսին է ժամանակակից C# Word գրադարանի մի քանի տողերով IronWord-ի միջոցով, պարզապես փուլ սահմանելու համար, թե ինչ է հնարավոր այսօրվա գրադարաններով: ստեղծման կոդը using IronWord; using IronWord.Models; WordDocument doc = new WordDocument(); doc.AddText("Hello from IronWord — no Office required."); doc.SaveAs("hello.docx"); Ստեղծված DOCX ֆայլ Այս համեմատության յուրաքանչյուր գրադարան կարող է արտադրել այդ նույն փաստաթուղթը։ Տարբերությունները, API դիզայնը, գործառույթների խորությունը, փոխակերպման հնարավորությունները, գները և հարթակի աջակցությունը որոշում են, թե որ մեկը պետք է լինի ձեր նախագծում։ Սա է այս համեմատության վերաբերյալ: Ինչու է ձեր DOCX գրադարանի ընտրությունը կարևոր Word գրադարանի ընտրությունը երկարաժամկետ ճարտարապետական որոշում է։ Մի գրադարանից մյուսին անցնելը, երբ Word ձևանմուշներ, ձևաչափման տրամաբանություն և փաստաթղթերի ստեղծման խողովակաշարեր եք կառուցել իր API-ի շուրջ, թանկ է։ Մենք տեսել ենք, որ թիմերը կողպված են գրադարանների մեջ, որոնք չեն կարող աշխատել .NET Core-ում, չեն կարող տեղադրվել Docker-ում կամ չեն կարող միաժամանակ մշակել բազմաթիվ փաստաթղթեր: Գնահատման չափանիշները, որոնք մենք օգտագործել ենք այս համեմատության ընթացքում: — Քանի՞ տող կոդ է պահանջվում ընդհանուր առաջադրանքներ կատարելու համար։ Որքանո՞վ է ինտուիտիվ օբյեկտ մոդելը։ Ինչպե՞ս է այն մշակում Word փաստաթղթերը: API դիզայն — Տեքստ, , , գլխագրեր/ստորագրեր, փոստային միաձուլում, փոփոխությունների հետևում, թվային ստորագրություններ, գոյություն ունեցող Word փաստաթղթերը խմբագրելու հնարավորություն Գործառույթների խորություն աղյուսակներ պատկերներ — Արդյո՞ք այն փոխարկում է Word փաստաթղթերը PDF ֆայլի կամ այլ ֆայլի ձևաչափերի։ Արդյո՞ք այն կարող է պահպանել համահունչ ձևաչափումը։ Ձևաչափի աջակցություն — Հիշողության հետքը և թողունակությունը խմբային ստեղծման սցենարների համար Կատարողականություն — .NET տարբերակներ, օպերացիոն համակարգեր, Docker, ամպային տեղակայում Հարթակի աջակցություն — Անվճար, freemium, մեկ ծրագրավորողի համար, մեկ սերվերի համար, ձեռնարկատիրական լիցենզավորում Գին — Կոդի օրինակներ, API հղումներ, սկսելու ուղեցույցներ Փաստաթղթավորման որակ — NuGet ներբեռնումների միտումներ, GitHub ակտիվություն, թողարկման հաճախականություն Համայնք և սպասարկում Արագ նշում DOCX-ի աշխատանքի մասին. DOCX ֆայլը ZIP արխիվ է, որը պարունակում է XML ֆայլեր, որոնք համապատասխանում են ։ Այս համեմատության յուրաքանչյուր գրադարան տարբեր կերպ է մշակում այդ XML ֆայլերը, ոմանք ձեզ տալիս են XML-ի ուղղակի մուտք, ոմանք առաջարկում են բարձր մակարդակի փաստաթղթերի օբյեկտ մոդել։ Այդ ճարտարապետական տարբերությունը շարժում է API-ի ergonomics-ի և գործառույթների փոխզիջումների մեծ մասը, որոնք դուք կհանդիպեք։ սահմանում է պաշտոնական ստանդարտը, իսկ Microsoft-ի հղման իրականացումն է: Office Open XML (OOXML) ստանդարտին ECMA-376 սպեկիֆիկացիան Open XML SDK-ը GitHub-ում Ամբողջական շարքը – Արագ հղման աղյուսակ Նախքան անհատական պրոֆիլներում խորանալը, ահա ամբողջ լանդշաֆտը մեկ հայացքով։ Ամրագրեք այս աղյուսակը, դա ձեր կարճ ցուցակը նեղացնելու ամենաարագ միջոցն է: Գրադարան Տեսակ Լիցենզիա .NET 8 (LTS) .NET 10 Word→PDF Փոստային միաձուլում Լավագույնը համար Open XML SDK OSS MIT ✅ ✅ ❌ ❌ Zero-dependency XML վերահսկողություն NPOI OSS Apache 2.0 ✅ ✅ ❌ ❌ Բազմաֆորմատ (Word + Excel) Xceed DocX OSS* Համայնք (ոչ առևտրային) ✅ ✅ ❌ ❌ Մաքուր API նախատիպավորում OfficeIMO OSS MIT ✅ ❓ ❌ ❌ Պարզ Word առաջադրանքներ FileFormat.Words OSS MIT ✅ ❓ ❌ ❌ Lightweight DOCX օպերացիաներ Aspose.Words Կոմերցիոն Մեկ ծրագրավորողի համար ✅ ✅ ✅ ✅ Առավելագույն գործառույթների խորություն Syncfusion DocIO Կոմերցիոն Մեկ ծրագրավորողի համար (անվճար համայնքային մակարդակ) ✅ ✅ ✅ ✅ Սկսնակներ և Syncfusion օգտագործողներ Spire.Doc Կոմերցիոն Մեկ ծրագրավորողի համար (անվճար հրատարակություն հասանելի) ✅ ✅ ✅ ✅ Միջին շրջանակի ձևաչափերի փոխակերպում GemBox.Document Կոմերցիոն Մեկ ծրագրավորողի համար (անվճար մակարդակ՝ 20 պարբերություն) ✅ ✅ ✅ ✅ Կատարողականության հետ կապված հավելվածներ IronWord Կոմերցիոն Մեկ ծրագրավորողի համար ✅ ✅ ❌ ❌ Ժամանակակից API + Iron Suite համագործակցություն Telerik WordsProcessing Կոմերցիոն Փաթեթավորված Telerik UI-ի հետ ✅ ✅ ✅ ✅ Telerik էկոհամակարգի թիմեր Document Solutions for Word Կոմերցիոն Մեկ ծրագրավորողի համար ✅ ✅ ✅ ✅ Ձևանմուշով կառավարվող ստեղծում MS Office Interop Ժառանգ Պահանջում է Office լիցենզիա ⚠️ ⚠️ ✅ ✅ Միայն աշխատասեղան, Office-ի առկայությամբ Աղյուսակ 1. Արագ հղման համեմատություն բոլոր 12 C# Word գրադարանների, որոնք գնահատվել են։ ✅ = աջակցվում է, ❌ = չի աջակցվում, ⚠️ = սահմանափակ/ժառանգական աջակցություն, ❓ = չհաստատված։ *Xceed DocX-ը անվճար է համայնքային լիցենզիայի ներքո ոչ առևտրային օգտագործման համար։ Արտադրության օգտագործումը պահանջում է Xceed Words for .NET կոմերցիոն լիցենզիան։ Այժմ եկեք մանրամասնորեն ուսումնասիրենք յուրաքանչյուր գրադարան։ Մենք դրանք խմբավորել ենք երեք կատեգորիայի՝ անվճար/բաց կոդով, կոմերցիոն և ժառանգական (Office Interop): Անվճար և բաց կոդով գրադարաններ Այս գրադարանները օգտագործելու համար ոչինչ չարժեն, բայց «անվճար»-ը չի նշանակում «առանց փոխզիջումների»։ Յուրաքանչյուրն ունի առանձնահատուկ սահմանափակումներ, որոնք որոշում են, թե որտեղ է այն հարմար։ Open XML SDK (Microsoft) -ը Microsoft-ի պաշտոնական, ցածր մակարդակի գրադարանն է Office Open XML փաստաթղթերը մշակելու համար։ Այն ձեզ տալիս է ուղղակի մուտք .docx ֆայլերի ներսում գտնվող XML կառուցվածքին՝ ուժեղ տիպավորված .NET դասերով: 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 Արտադրանք Դա 8 տող է՝ ներառյալ using հայտարարությունները՝ մեկ պարբերություն անոճավոր տեքստ արտադրելու համար։ Ձևաչափում, աղյուսակներ կամ պատկերներ ավելացնելը զգալիորեն բազմապատկում է ավելորդությունը, քանի որ դուք ուղղակիորեն կառուցում եք XML հանգույցներ: : Զրոյական արժեք (MIT լիցենզիա), զրոյական արտաքին կախվածություններ, զանգվածային համայնք, պաշտոնական Microsoft աջակցություն, ամբողջական Open XML սպեկիֆիկացիայի ծածկույթ, ։ Հասանելի է -ում՝ ավելի քան 300 միլիոն համախառն ներբեռնումներով։ v3.4.x թողարկումները (2025-ի վերջ) ավելացրել են կատարողականության օպտիմալացումներ՝ նվազեցնելով JIT և AOT կոմպիլյացիայի չափը: Առավելություններ հիանալի փաստաթղթավորում Microsoft Learn-ում NuGet : Փաստաթղթի մոդելի աբստրակցիա չկա, դուք հավաքում եք XML։ Փաստաթղթի Word-ից PDF փոխարկում չկա, ռենդերինգ չկա, փոստային միաձուլում չկա։ Ուսուցման մակարդակը բարձր է. դուք պետք է հասկանաք Open XML սպեկիֆիկացիան, որպեսզի այն արդյունավետորեն օգտագործեք: Սահմանափակումներ : Թիմեր, ովքեր կարիք ունեն մանրամասն XML վերահսկողության՝ զրոյական կախվածություններով, հարմարավետ են ավելորդության հետ, և կարիք չունեն ռենդերինգի կամ փոխարկման գործառույթների: Լավագույնը համար NPOI -ն Apache POI-ի .NET պորտն է, Java գրադարանը Microsoft Office ձևաչափերի համար։ Այն մշակում է ինչպես Word (DOCX/DOC), այնպես էլ Excel (XLSX/XLS) փաստաթղթերը։ Այն ունի ավելի քան ամբողջ կյանքի ընթացքում, այն .NET էկոհամակարգի ամենահաստատված բաց կոդով Office գրադարաններից մեկն է: NPOI 70 միլիոն NuGet ներբեռնում : Անվճար (Apache 2.0), մեկ կախվածությամբ մշակում է և Word, և Excel, աջակցում է հին .doc ձևաչափին (ոչ միայն DOCX), խաչաձև հարթակ, հասուն նախագիծ երկար պատմությամբ: Առավելություններ Ահա թե ինչպիսին է հիմնական NPOI Word ստեղծումը: 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 Արտադրանք Եթե դուք օգտագործել եք Apache POI Java-ում, սա ծանոթ կթվա, դա ինչպես առավելություն է (խաչ-լեզվական գիտելիքների փոխանցում), այնպես էլ թերություն (Java-ի ոճը C# կոդում): : API-ն հայելային է Java-ի conventions-ին, որը կարող է ոչ ոճային թվալ C#-ում։ Փաստաթղթավորումը խիստ սահմանափակ է, ուղեցույցների մեծ մասը գալիս է Java POI օրինակներից թարգմանությունից։ DOCX աջակցությունը ֆունկցիոնալ է, բայց ավելի քիչ փայլուն, քան XLSX կողմը։ Համայնքային ակտիվությունը վերջին տարիներին դանդաղել է, ավելի քիչ թողարկումներով, քան գրադարանի գագաթնակետի ընթացքում: Սահմանափակումներ : Թիմեր, որոնք արդեն օգտագործում են NPOI Excel-ի մշակման համար և կարիք ունեն հիմնական Word գործառույթների նույն գրադարանից, կամ նախագծեր, որոնք պահանջում են հին .doc ձևաչափի աջակցություն: Լավագույնը համար Xceed DocX / Xceed Words for .NET -ը GitHub-ի ամենահայտնի բաց կոդով Word գրադարաններից մեկն է, որը սկզբնապես ստեղծվել է Cathal Coffey-ի կողմից և այժմ սպասարկվում է -ի կողմից։ Անվճար Համայնքային Լիցենզիայի տարբերակը մշակում է ամենատարածված առաջադրանքները. կոմերցիոն -ը ավելացնում է PDF արտահանում, գծապատկերներ, թվային ստորագրություններ և առաջադեմ գործառույթներ: Xceed DocX Xceed Software Xceed Words for .NET // Xceed DocX (Համայնքային Լիցենզիա) 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 Արտադրանք Դա մաքուր, հոսող .NET Word API է, բաց կոդով շերտի լավագույններից մեկը: : Ինտուիտիվ հոսող API, ակտիվ զարգացում (v5.0.0 թողարկվել է 2025 թվականի սեպտեմբերին), լավ փաստաթղթավորում, գծապատկերների աջակցություն, զուգահեռ փաստաթղթերի մշակում, ձևանմուշի կիրառում։ Կոմերցիոն թարմացումը ավելացնում է PDF փոխակերպում և .NET 9+-ի աջակցություն առանց System.Drawing.Common կախվածության: Առավելություններ : Համայնքային Լիցենզիան սահմանափակում է օգտագործումը ոչ առևտրային նախագծերի համար։ Այն պահին, երբ դուք տեղադրում եք արտադրության մեջ, ձեզ անհրաժեշտ է Xceed Words for .NET (կոմերցիոն լիցենզիա)։ Որոշ ծրագրավորողներ չեն գիտակցում սա մինչև զարգացման ուշ փուլը: Սահմանափակումներ : Նախատիպավորում և ոչ առևտրային նախագծեր, որոնք կարիք ունեն մաքուր API-ի։ Թիմեր, որոնք պատրաստ են գնել կոմերցիոն լիցենզիա արտադրության համար, ստանում են առավել ergonomic DOCX API-ներից մեկը: Լավագույնը համար OfficeIMO -ն պարզեցված ծածկույթ է, որը կառուցված է Open XML SDK-ի վրա, ստեղծված Przemyslaw Klys-ի ( OfficeIMO