Tulichunguza maktaba 12 za .NET kwa ajili ya kuchakata hati za Microsoft Word, kuanzia Open XML SDK na NPOI za bure hadi chaguo za kibiashara za kiwango cha kati kama , GemBox.Document, na Spire.Doc, hadi Aspose.Words na Syncfusion DocIO za kiwango cha biashara. Hakuna maktaba moja ya C# ya Word inayoshinda katika vipimo vyote. Aspose.Words inaongoza kwa vipengele, Syncfusion DocIO kwa thamani ya kuanza (leseni ya jamii ya bure), GemBox.Document kwa utendaji, IronWord kwa muundo wa kisasa wa API na ushirikiano wa Iron Suite, na Open XML SDK kwa uhuru wa gharama sifuri. Makala haya yanatoa grafu za vipengele, ulinganisho wa kodi unaotazama pande zote, jedwali za bei, na mfumo wa kufanya maamuzi ili kuchagua suluhisho sahihi za hati kwa mradi wako. TL;DR: IronWord Chagua maktaba isiyo sahihi ya API ya Word kwa programu yako ya .NET na utagundua tatizo miezi sita baadaye, wakati mteja anapohitaji mail merge na maktaba yako haiuungi mkono, wakati njia yako ya CI inavunjika kwa sababu maktaba inahitaji Microsoft Office kusakinishwa, au unapogundua kuwa "bure" ilikuja na kifungu cha leseni isiyo ya kibiashara ulichokikosa. Tulichunguza maktaba 12 za .NET kwa ajili ya kuunda hati na kuendesha faili za Microsoft Word kwa kutumia C#, tukitekeleza kila moja kupitia kazi zinazofanana: kuweka hati mpya msingi, urekebishaji wa mtindo, kuunda jedwali, kuingiza picha, na matokeo kulingana na templeti. Tulilinganisha API, tukapima usambazaji wa jukwaa tofauti, tukathibitisha usaidizi wa .NET 8 na .NET 10, tukarekodi vipengele, na tukaandika mitego ya leseni ambayo huwapata timu katikati ya mradi. Makala haya ni matokeo. Ufichuzi kamili: sisi ni timu nyuma ya , mojawapo ya maktaba katika kulinganisha hili. Hiyo ikisema, tunaamini tathmini za uaminifu huwahudumia watengenezaji vyema kuliko spin ya masoko. Tutaonyesha mbinu yetu, kukubali upendeleo wetu, na kuacha kodi iseme yenyewe. Ambapo mshindani anazidiwa kwa kweli IronWord, tutasema hivyo. IronWord Hivi ndivyo mistari michache tu ya kisasa ya C# Word library inavyoonekana na IronWord, ili tu kuweka hatua ya kile kinachowezekana na maktaba za leo: generation code using IronWord; using IronWord.Models; WordDocument doc = new WordDocument(); doc.AddText("Habari kutoka IronWord — hakuna Office inayohitajika."); doc.SaveAs("hello.docx"); Faili ya DOCX Iliyozalishwa Kila maktaba katika kulinganisha hili inaweza kutoa hati hiyo hiyo. Tofauti, muundo wa API, kina cha kipengele, uwezo wa ubadilishaji, bei, na usaidizi wa jukwaa, ndizo huamua ni ipi inafaa kwa mradi wako. Hiyo ndiyo makala hii inahusu. Kwa Nini Uchaguzi Wako wa Maktaba ya DOCX Unamaanisha Kuchagua maktaba ya Word ni uamuzi wa usanifu wa muda mrefu. Kuhamia kutoka moja baada ya kujenga templeti za Word, mantiki ya urekebishaji, na njia za uzalishaji wa hati kote kwenye API yake ni ghali. Tumeona timu zikifungwa kwenye maktaba ambazo haziwezi kukimbia kwenye .NET Core, haziwezi kusambazwa kwenye Docker, au haziwezi kushughulikia hati nyingi kwa wakati mmoja. Vigezo vya tathmini tulivyotumia katika makala haya yote: — Ni mistari mingapi ya kodi kufikia majukumu ya kawaida? Je, mfumo wa vitu unaeleweka? Inashughulikaje hati za Word? Muundo wa API — Nakala, , , vichwa/miguu, mail merge, fuatilia mabadiliko, saini za kidijitali, uwezo wa kuhariri hati za Word zilizopo Kina cha kipengele majędwali picha — Je, inabadilisha hati za Word kuwa faili ya PDF au umbizo zingine? Je, inaweza kudumisha urekebishaji thabiti? Usaidizi wa umbizo — Matumizi ya kumbukumbu na utendaji kwa hali za uzalishaji wa kundi Utendaji — Matoleo ya .NET, mifumo ya uendeshaji, Docker, usambazaji wa wingu Usaidizi wa jukwaa — Bure, freemium, kwa kila msanidi, kwa kila seva, leseni za biashara Bei — Mifano ya kodi, marejeleo ya API, miongozo ya kuanza Ubora wa hati — Mitindo ya upakuaji wa NuGet, shughuli za GitHub, utoaji wa matoleo Jamii & matengenezo Noti ya haraka kuhusu jinsi DOCX inavyofanya kazi: faili ya DOCX ni kumbukumbu ya ZIP iliyo na faili za XML zinazotii . Kila maktaba katika kulinganisha hili huendesha faili hizo za XML tofauti, zingine hukupa ufikiaji wa malighafi wa XML, zingine hutoa mfumo wa vitu vya hati wa kiwango cha juu. Tofauti hiyo ya usanifu huendesha zaidi mazoea ya API na biashara za vipengele utakazokutana nazo. huamua kiwango rasmi, na ni utekelezaji wa marejeleo. Office Open XML (OOXML) standard ECMA-376 specification Open XML SDK kwenye GitHub Safu Kamili — Jedwali la Marejeleo ya Haraka Kabla hatujachimbua maelezo ya kila mmoja, hapa kuna ramani kamili kwa mtazamo. Tia alamisho jedwali hili, ni njia ya haraka zaidi ya kupunguza orodha yako. Maktaba Aina Leseni .NET 8 (LTS) .NET 10 Neno→PDF Mail Merge Bora kwa Open XML SDK OSS MIT ✅ ✅ ❌ ❌ Udhibiti wa XML bila tegemezi NPOI OSS Apache 2.0 ✅ ✅ ❌ ❌ Umbizo nyingi (Neno + Excel) Xceed DocX OSS* Jamii (isiyo ya kibiashara) ✅ ✅ ❌ ❌ Prototyping API safi OfficeIMO OSS MIT ✅ ❓ ❌ ❌ Kazi rahisi za Neno FileFormat.Words OSS MIT ✅ ❓ ❌ ❌ Operesheni nyepesi za DOCX Aspose.Words Kibiashara Kwa kila msanidi ✅ ✅ ✅ ✅ Kina cha juu zaidi cha vipengele Syncfusion DocIO Kibiashara Kwa kila msanidi (ngazi ya jamii ya bure) ✅ ✅ ✅ ✅ Wanaoanza & watumiaji wa Syncfusion Spire.Doc Kibiashara Kwa kila msanidi (toleo la bure linapatikana) ✅ ✅ ✅ ✅ Ubadilishaji wa umbizo wa kiwango cha kati GemBox.Document Kibiashara Kwa kila msanidi (ngazi ya bure: aya 20) ✅ ✅ ✅ ✅ Programu zinazotegemea utendaji IronWord Kibiashara Kwa kila msanidi ✅ ✅ ❌ ❌ API ya kisasa + ushirikiano wa Iron Suite Telerik WordsProcessing Kibiashara Imewekwa na Telerik UI ✅ ✅ ✅ ✅ Timu za mfumo wa Telerik Document Solutions for Word Kibiashara Kwa kila msanidi ✅ ✅ ✅ ✅ Uzalishaji unaotegemea templeti MS Office Interop Legacy Inahitaji leseni ya Office ⚠️ ⚠️ ✅ ✅ Desktop-tu, Office-iliyopo Jedwali 1: Muhtasari wa haraka wa maktaba zote 12 za C# Word zilizochunguzwa. ✅ = imeungwa mkono, ❌ = haijaungwa mkono, ⚠️ = usaidizi mdogo/wa zamani, ❓ = haijathibitishwa. *Xceed DocX ni bure chini ya Leseni ya Jamii kwa matumizi yasiyo ya kibiashara. Matumizi ya uzalishaji yanahitaji leseni ya kibiashara ya Xceed Words for .NET. Sasa tuangalie kila maktaba kwa undani. Tumeziweka katika makundi matatu: za bure/wazi-chanzo, za kibiashara, na za zamani (Ofisi ya Interop). Maktaba za Bure na Wazi-Chanzo Maktaba hizi hazigharimu chochote kutumia, lakini "bure" haimaanishi "hakuna biashara." Kila moja ina vikwazo tofauti vinavyoamua mahali inapoingia. Open XML SDK (Microsoft) ni maktaba rasmi ya Microsoft, ya kiwango cha chini ya kuendesha hati za Office Open XML. Inakupa ufikiaji wa moja kwa moja kwa muundo wa XML ndani ya faili za .docx na darasa za .NET zenye aina kali. 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("Habari kutoka Open XML SDK"))))); Matokeo ya Open XML SDK Hiyo ni mistari 8 — ikijumuisha taarifa za matumizi — kutoa aya moja ya maandishi yasiyo na mtindo. Kuongeza urekebishaji, jedwali, au picha huongeza urefu mara dufu kwa sababu unajenga nodi za XML moja kwa moja. : Gharama sifuri (leseni ya MIT), tegemezi sifuri za nje, jamii kubwa, usaidizi rasmi wa Microsoft, huduma kamili ya vipimo vya Open XML, . Inapatikana kwenye na zaidi ya milioni 300 upakuaji wa jumla. Matoleo ya v3.4.x (mwishoni mwa 2025) yaliongeza maboresho ya utendaji ambayo hupunguza ukubwa wa jumuisho la JIT na AOT. Nguvu hati bora kwenye Microsoft Learn NuGet : Hakuna dhana ya mfumo wa vitu vya hati, unakusanya XML. Hakuna ubadilishaji wa Neno hadi PDF, hakuna uonyeshaji, hakuna mail merge. Mlezo ya kujifunza ni mirefu; unahitaji kuelewa vipimo vya Open XML ili kuitumia kwa ufanisi. Vikwazo : Timu zinazohitaji udhibiti wa XML wa kina bila tegemezi, zinazofurahia urefu, na hazihitaji vipengele vya kuonyesha au ubadilishaji. Bora kwa NPOI ni bandari ya .NET ya Apache POI, maktaba ya Java kwa ajili ya umbizo za Microsoft Office. Inashughulikia hati za Neno (DOCX/DOC) na Excel (XLSX/XLS). Kwa zaidi ya katika maisha yake, ni mojawapo ya maktaba za zamani zaidi za ofisi zilizo wazi katika mfumo wa .NET. NPOI upakuaji milioni 700 wa NuGet : Bure (Apache 2.0), hushughulikia hati za Neno na Excel na tegemezi moja, inasaidia umbizo la zamani la .doc (sio tu DOCX), jukwaa tofauti, mradi uliokomaa na rekodi ndefu. Nguvu Hivi ndivyo uzalishaji wa msingi wa NPOI Word unavyoonekana: using NPOI.XWPF.UserModel; XWPFDocument doc = new XWPFDocument(); XWPFParagraph para = doc.CreateParagraph(); XWPFRun run = para.CreateRun(); run.SetText("Habari kutoka NPOI"); run.IsBold = true; run.FontSize = 14; using FileStream fs = new FileStream("hello.docx", FileMode.Create); doc.Write(fs); Matokeo ya NPOI Ikiwa umewahi kutumia Apache POI katika Java, hii itaonekana ukoo, hiyo ni nguvu (uhamishaji wa maarifa kati ya lugha) na udhaifu (mawazo ya Java katika kodi ya C#). : API huonyesha mazoea ya Java, ambayo yanaweza kuhisi kutokuwa ya kawaida katika C#. Hati ni chache, mengi ya mwongozo hutoka kwa kutafsiri mifano ya Java POI. Usaidizi wa DOCX unafanya kazi lakini haujakamilika kuliko upande wa XLSX. Shughuli za jamii zimepungua katika miaka ya hivi karibuni, na matoleo machache kuliko wakati wa kilele cha maktaba. Vikwazo : Timu zinazotumia NPOI tayari kwa ajili ya kuchakata Excel ambazo zinahitaji uwezo wa msingi wa Neno kutoka kwa maktaba sawa, au miradi inayohitaji usaidizi wa umbizo la zamani la .doc. Bora kwa Xceed DocX / Xceed Words for .NET ni mojawapo ya maktaba maarufu zaidi za Neno za wazi-chanzo kwenye GitHub, iliyoanzishwa na Cathal Coffey na sasa inatunzwa na . Toleo la bure la Leseni ya Jamii hushughulikia majukumu mengi ya kawaida; ya kibiashara huongeza usafirishaji wa PDF, grafu, saini za kidijitali, na vipengele vya juu. Xceed DocX Xceed Software Xceed Words for .NET // Xceed DocX (Leseni ya Jamii) using Xceed.Document.NET; using Xceed.Words.NET; using var doc = DocX.Create("hello.docx"); doc.InsertParagraph("Habari kutoka Xceed DocX") .FontSize(14) .Bold() .Color(System.Drawing.Color.DarkBlue); doc.Save(); Matokeo ya Xceed DocX Hiyo ni API safi na yenye ufasaha ya .NET Word, mojawapo bora zaidi katika safu ya wazi-chanzo. : API yenye ufasaha inayoeleweka, maendeleo yanayoendelea (toleo la 5.0.0 lilitolewa Septemba 2025), hati nzuri, usaidizi wa grafu, usindikaji wa hati za sambamba, utumizi wa templeti. Sasisho la kibiashara huongeza ubadilishaji wa PDF na usaidizi wa .NET 9+ bila tegemezi la System.Drawing.Common. Nguvu : Leseni ya Jamii inazuia matumizi kwa miradi isiyo ya kibiashara. Mara tu unaposambaza kwa uzalishaji, unahitaji Xceed Words for .NET (leseni ya kibiashara). Wasanidi programu wengine hawatambui hili hadi mwishoni mwa maendeleo. Vikwazo : Miradi ya prototyping na isiyo ya kibiashara inayohitaji API safi. Timu zinazotaka kununua leseni ya kibiashara kwa uzalishaji hupata mojawapo ya API bora zaidi za DOCX zinazopatikana. Bora kwa OfficeIMO ni kifuniko kilichorahisishwa kilichojengwa juu ya Open XML SDK, kilichoundwa na Przemyslaw Klys ( ). Inalenga kurahisisha shughuli za kawaida za Neno bila urefu wa Open XML mbichi. OfficeIMO Evotec : Bure (MIT), rahisi sana kuliko kutumia Open XML SDK moja kwa moja, hushughulikia vichwa/miguu/sehemu na kiwango kidogo cha kodi, nzuri kwa kazi za moja kwa moja. Nguvu : Seti ya vipengele vilivyo mdogo, urekebishaji wa msingi na muundo wa hati tu. Hakuna ubadilishaji wa PDF, hakuna mitindo ya hali ya juu, hakuna mail merge. Mradi una masafa ya chini ya utoaji wa matoleo kuliko baadhi ya mbadala. Usaidizi wa .NET 10 haujathibitishwa wakati wa kuandika. Vikwazo : Zana ndogo au zana za ndani zinazohitaji kuzalisha hati za Neno rahisi bila bajeti yoyote au mahitaji magumu. Bora kwa FileFormat.Words ni maktaba ya wazi-chanzo iliyojengwa juu ya , ikitoa API ya kiwango cha juu zaidi kwa ajili ya kuunda na kubadilisha hati. FileFormat.Words OpenXML SDK : Bure (MIT), imejengwa juu ya msingi thabiti wa OpenXML SDK, inasaidia ubadilishaji wa hati (Neno hadi PDF, HTML, na picha bila kuhitaji Neno), nyepesi. Nguvu : Jamii ndogo ikilinganishwa na Open XML SDK au Xceed DocX. Chaguo za juu za urekebishaji ni mdogo. Utunzaji wa hati zilizolindwa na nenosiri umekuwa ukiripotiwa bila uthabiti. Hati bado zinakua. Vikwazo : Miradi nyepesi inayohitaji uendeshaji wa msingi wa DOCX na uwezo fulani wa ubadilishaji, na ambapo msanidi hupendelea suluhisho la wazi-chanzo. Bora kwa Maktaba za Kibiashara Maktaba za kibiashara hutoa gharama ya leseni kwa kina cha vipengele, usaidizi, na kasi ya maendeleo. Gharama hapa huenda kutoka ngazi za bure za jamii hadi leseni za biashara zenye thamani ya maelfu ya dola. Aspose.Words kwa .NET ni maktaba ya usindikaji wa Neno yenye vipengele vingi zaidi katika mfumo wa .NET. Ikiwa kipengele chochote kipo katika Microsoft Word, Aspose.Words karibu hakika inakiunga mkono. Aspose.Words using Aspose.Words; var doc = new Document(); var builder = new DocumentBuilder(doc); builder.Font.Size = 14; builder.Font.Bold = true; builder.Writeln("Habari kutoka Aspose.Words"); doc.Save("hello.docx"); doc.Save("hello.pdf"); // Usafirishaji wa PDF uliojengwa ndani Mfumo wa DocumentBuilder unatoa API inayotegemea kishale ambayo inafaa kwa kazi za kawaida, wakati DOM kamili inatoa udhibiti wa hali ya juu. : Umbizo 30+ za kuingiza/kutoka (DOCX, DOC, RTF, ODT, HTML, PDF, Markdown, EPUB, na zaidi), uonyeshaji wa hali ya juu wa Neno hadi PDF, injini yenye nguvu ya mail merge, kulinganisha hati (fuatilia mabadiliko kati ya matoleo), inasaidia miundo changamano na uwezo wa kuongeza kwa urahisi vipengele vya kuona. Kazi za hali ya juu zaidi ni pamoja na kuweza kuongeza ulinzi wa nenosiri, kupata na kubadilisha maandishi na regex kwa maudhui yanayobadilika, saini za kidijitali, kujaza fomu, injini ya kuripoti ya LINQ, . Maktaba imekuwa ikiendelezwa kwa karibu miongo miwili na inapatikana kwenye . Nguvu mifano mingi ya kodi kwenye GitHub NuGet : Bei ya juu zaidi katika kulinganisha hili, leseni za biashara ndogo ndogo huanza kwa $1,199/mwaka, na leseni za OEM za biashara huenda juu zaidi. Ukubwa wa mkusanyiko ni mkubwa. Kwa timu zinazohitaji tu uundaji wa msingi wa DOCX, Aspose.Words ni kama kutumia meli kubwa kuvuka kidimbwi. Njia ya API ni kubwa sana, ambayo inaweza kuwakandamiza watengenezaji wanaohitaji tu kuzalisha ankara. Vikwazo : Njia za usindikaji wa hati za biashara zinazohitaji usaidizi kamili wa umbizo, ubadilishaji wa hali ya juu, na mail merge kwa kiwango. Ikiwa mahitaji yako yanajumuisha kubadilisha Neno kuwa PDF kwa usahihi wa pikseli, Aspose.Words ndio kiwango cha rejeleo. Bora kwa Syncfusion DocIO ni sehemu ya mfumo mkuu wa usindikaji wa hati wa Syncfusion. Inajitokeza kwa sababu moja muhimu: huifanya kuwa . Syncfusion DocIO Leseni ya Jamii bure kwa watu binafsi na kampuni zilizo na mapato ya chini ya milioni 1 ya dola kwa mwaka using Syncfusion.DocIO; using Syncfusion.DocIO.DLS; WordDocument doc = new WordDocument(); IWSection section = doc.AddSection(); IWParagraph para = section.AddParagraph(); IWTextRange text = para.AppendText("Habari kutoka Syncfusion DocIO"); text.CharacterFormat.FontSize = 14; text.CharacterFormat.Bold = true; doc.Save("hello.docx", FormatType.Docx); doc.Close(); Matokeo ya Syncfusion DocIO : Injini tajiri ya mail merge yenye maeneo yaliyojaa na sehemu za masharti, kulinganisha hati, ubadilishaji wa Neno hadi PDF, uingizaji wa HTML hadi Neno, kujaza fomu, Nguvu hati nyingi zenye mifano