মুক্ত Go লাইব্রেরি দিয়ে .docx ফাইল তৈরি ও পার্স করুন
প্রোগ্রামেটিকভাবে Microsoft Word পড়া ও লেখার জন্য ওপেন সোর্স Go ওয়ার্ড প্রসেসিং লাইব্রেরি। মিডিয়া ফাইল, ছবি, টেক্সট, হেডার/ফুটার এবং টেবিল DOCX ফাইলে যুক্ত করুন।
Go-Docx লাইব্রেরি কী?
Golang ডেভেলপমেন্টের দুনিয়ায়, Microsoft Word ডকুমেন্ট (.docx) হ্যান্ডল করা ঐতিহাসিকভাবে একটি চ্যালেঞ্জ ছিল। অনেক বিদ্যমান লাইব্রেরি হয় 'শুধুমাত্র-লেখা' কার্যকারিতায় সীমাবদ্ধ অথবা দামী বাণিজ্যিক মূল্যের সাথে আসে। fumiama দ্বারা রক্ষণাবেক্ষিত Go-Docx এই ফাঁকটি পূরণ করে, যা ECMA-376 Office Open XML ফাইল উভয়ই পড়া ও লেখার জন্য ডিজাইন করা সবচেয়ে কার্যকর, ওপেন-সোর্স লাইব্রেরিগুলোর একটি। এটি উপকারী কারণ এটি উচ্চ-স্তরের API প্রদান করে যা Word ফাইলের জটিল XML কাঠামোকে বিমূর্ত করে।
যা Go-Docx কে আলাদা করে তোলে তা হল এর বিস্তৃত ফিচার সেট: টেক্সট ফরম্যাটিং (রঙ, আকার, সমান্তরাল), ছবি সন্নিবেশ, টেবিল ম্যানিপুলেশন, শেপ, ক্যানভাস এবং গ্রুপ। আপনি ইনভয়েস তৈরি করুন, রেজ্যুমে পার্স করুন, অথবা রিপোর্ট জেনারেশন অটোমেট করুন, এই লাইব্রেরি বহিরাগত অ্যাপ্লিকেশন কলের অতিরিক্ত খরচ ছাড়াই জটিল Office Open XML (ECMA-376) কাঠামো হ্যান্ডল করে। এটি একটি কমিউনিটি-ড্রিভেন ফর্ক যা তার পূর্বসূরিদের তুলনায় উল্লেখযোগ্যভাবে বিকশিত হয়েছে। UniOffice এর মতো বাণিজ্যিক বিকল্পের বিপরীতে (যা পূর্ণ ফিচারের জন্য পেমেন্ট প্রয়োজন), Go-Docx AGPL-3.0 লাইসেন্সের অধীনে সম্পূর্ণভাবে ফ্রি।
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 অ্যাপ্লিকেশনের ভিতরে ওয়ার্ড ডকুমেন্টগুলি পার্স করতে পারে।
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")
}