Free Go लाइब्रेरी के ज़रिए .docx फ़ाइलें जनरेट और पैर्स करें

Microsoft Word को प्रोग्रामेटिकली पढ़ने और लिखने के लिए ओपन सोर्स Go Word प्रोसेसिंग लाइब्रेरी। मीडिया फ़ाइलें, इमेज़, टेक्स्ट, हेडर/फ़ूटर, और टेबल को DOCX फ़ाइलों में इन्सर्ट करें।

Go-Docx लाइब्रेरी क्या है?

Golang विकास की दुनिया में, Microsoft Word डॉक्यूमेंट (.docx) को हैंडल करना हमेशा एक चुनौती रहा है। कई मौजूदा लाइब्रेरियां "केवल लिखने" फ़ंक्शनलिटी तक सीमित हैं या उनका मूल्य बहुत अधिक है। Go-Docx (fumiama द्वारा मेंटेन किया गया) इस खाली जगह को भरता है क्योंकि यह ECMA-376 Office Open XML फ़ाइलों को पढ़ने और लिखने के लिए सबसे कार्यात्मक, ओपन-सोर्स लाइब्रेरी में से एक है। यह उपयोगी है क्योंकि यह एक हाई-लेवल API प्रदान करता है जो Word फ़ाइलों के नीचे मौजूद जटिल XML स्ट्रक्चर को एब्स्ट्रैक्ट करता है।

Go-Docx को अलग बनाता है इसका व्यापक फीचर सेट: टेक्स्ट फॉर्मेटिंग (रंग, आकार, अलाइन्मेंट), इमेज इन्सर्शन, टेबल मैनिपुलेशन, शेप्स, कैनवास और ग्रुप्स। चाहे आप इनवॉइस जेनरेट कर रहे हों, रिज्यूमे पार्स कर रहे हों या रिपोर्ट जनरेशन को ऑटोमेट कर रहे हों, यह लाइब्रेरी जटिल Office Open XML (ECMA-376) स्ट्रक्चर को बाहरी एप्लिकेशन कॉल की अतिरिक्त लोड के बिना हैंडल करती है। यह एक कम्युनिटी-ड्रिवेन फोर्क है जिसने अपने पूर्वजों से काफी विकास किया है। कॉमर्शियल विकल्प जैसे UniOffice (जो पूर्ण फीचर्स के लिए भुगतान की मांग करता है) के विपरीत, Go-Docx पूरी तरह से AGPL-3.0 लाइसेंस के तहत मुफ्त है।

Previous Next

Go-Docx के साथ शुरूआत

Go-Docx को अपने प्रोजेक्ट में जोड़ने का अनुशंसित तरीका GitHub का उपयोग करना है। सुगम इंस्टॉलेशन के लिए कृपया नीचे दिया गया कमांड उपयोग करें।

GitHub के ज़रिए Go-Docx इंस्टॉल करें

go get -d github.com/fumiama/go-docx@latest 

Go के ज़रिए उन्नत डॉक्यूमेंट जनरेशन

Go-Docx आपको एक स्ट्रक्चर्ड एप्रोच का उपयोग करके शून्य से जटिल दस्तावेज़ बनाने की अनुमति देता है। यह दस्तावेज़ वातावरण की इनिशियलाइज़ेशन को संभालता है, जिसमें डिफ़ॉल्ट थीम और स्टाइल शामिल हैं, यह सुनिश्चित करता है कि आपके जेनरेटेड फ़ाइलें Microsoft Word और अन्य आधुनिक प्रोसेसरों के साथ पूरी तरह संगत हैं। यहाँ एक साधारण उदाहरण है जो दिखाता है कि Go एप्लिकेशन के भीतर Word Docx फ़ाइल कैसे जेनरेट करें।

Go लाइब्रेरी के ज़रिए Word Docx फ़ाइलें कैसे जनरेट करें?

package main
import (
	"os"
	"github.com/fumiama/go-docx"
)

func main() {
	// Initialize a new document with a default theme
	w := docx.New().WithDefaultTheme()
	
	// Add a paragraph and basic text
	para := w.AddParagraph()
	para.AddText("Hello, this is a generated document!")

	// Save to local file
	f, _ := os.Create("simple.docx")
	w.WriteTo(f)
	f.Close()
}

Go API के ज़रिए व्यापक डॉक्यूमेंट पार्सिंग

कई प्रतिस्पर्धियों के विपरीत, ओपन सोर्स Go-Docx लाइब्रेरी मौजूदा फ़ाइलों को पढ़ने में उत्कृष्ट है। यह .docx फ़ाइल को पार्स कर सकता है और उसके बॉडी आइटम्स (जैसे पैराग्राफ़ और टेबल) के माध्यम से इटरेट कर सकता है। यह डाटा एक्सट्रैक्शन या दस्तावेज़ ऑडिटिंग कार्यों के लिए एक आदर्श विकल्प बनाता है जहाँ आपको प्रोग्रामेटिकली कंटेंट का विश्लेषण करने की आवश्यकता होती है। निम्नलिखित उदाहरण दिखाता है कि सॉफ़्टवेयर डेवलपर्स अपने खुद के Go एप्लिकेशन्स के भीतर Word दस्तावेज़ कैसे पार्स कर सकते हैं।

Go लाइब्रेरी के ज़रिए Word Docx दस्तावेज़ कैसे पार्स करें?

package main
import (
	"fmt"
	"os"
	"github.com/fumiama/go-docx"
)

func main() {
	readFile, _ := os.Open("existing.docx")
	info, _ := readFile.Stat()
	
	// Parse the file using its reader and size
	doc, _ := docx.Parse(readFile, info.Size())
	
	for _, item := range doc.Document.Body.Items {
		if p, ok := item.(*docx.Paragraph); ok {
			fmt.Println("Paragraph found:", p)
		}
	}
}

Go के ज़रिए Docx फ़ाइलों में डायनेमिक टेबल निर्माण

Open source Go-Docx library has included support for the creation and manipulation of tables, including nested tables—a feature often missing in simpler libraries. You can define rows, cells, and specific border styles, making it highly effective for generating financial reports, invoices, or data-heavy technical documentation. Here is a very useful code example that shows how to create a table inside Word documents via Go commands.

Go लाइब्रेरी के ज़रिए Word फ़ाइल में एक साधारण टेबल कैसे बनाएं?

func createTable(w *docx.Docx) {
	table := w.AddTable(2, 2) // Create a 2x2 table
	row := table.Rows[0]
	cell := row.Cells[0]
	
	p := cell.AddParagraph()
	p.AddText("Cell Content")
	
	// You can also adjust table properties here
}

रिच टेक्स्ट स्टाइलिंग और फॉर्मेटिंग सपोर्ट

टाइपोग्राफी पर फाइन-ग्रेन कंट्रोल इस ओपन सोर्स Go लाइब्रेरी की मुख्य ताकत है। आप टेक्स्ट रंग, फ़ॉन्ट आकार, अलाइन्मेंट बदल सकते हैं और यहाँ तक कि Go-Docx के माध्यम से हाइपरलिंक्स या टैब स्टॉप भी जोड़ सकते हैं। यह डेवलपर्स को पेशेवर, ब्रांडेड दस्तावेज़ बनाने की अनुमति देता है जो विशिष्ट डिजाइन आवश्यकताओं को बिना मैनुअल हस्तक्षेप के पूरा करता है।

Go लाइब्रेरी के ज़रिए Word डॉक्यूमेंट्स में टेक्स्ट स्टाइलिंग और फॉर्मेटिंग कैसे लागू करें?

func styleText(w *docx.Docx) {
	para := w.AddParagraph()
	// Chain styling methods for concise code
	para.AddText("Important Header").Size("32").Color("FF0000")
	para.AddText("Subtext").Italic().Bold()
	
	// Add a link
	para.AddLink("Visit Website", "https://example.com")
}
 हिन्दी