এমএস ওয়ার্ড ডকুমেন্ট তৈরি ও সম্পাদনা করতে লাইব্রেরিতে যান
ওয়ার্ড DOCX ফাইলে হেডার ও ফুটার, টেবিল ও ছবি ঢোকানোর মতো সাধারণ ওয়ার্ড প্রসেসিং কাজগুলি পরিচালনা ও স্বয়ংক্রিয় করার জন্য ওপেন সোর্স Go লাইব্রেরি এবং আরও অনেক কিছু।
ইউনিঅফিস একটি শক্তিশালী ওপেন সোর্স পিওর গো লাইব্রেরি যা সফ্টওয়্যার ডেভেলপারদের মাইক্রোসফ্ট ওয়ার্ডের প্রয়োজন ছাড়াই তাদের নিজস্ব অ্যাপ্লিকেশনের মধ্যে স্বয়ংক্রিয়ভাবে শব্দ নথিগুলি পরিচালনা করতে এবং সাধারণ শব্দ প্রক্রিয়াকরণ কাজগুলিকে স্বয়ংক্রিয় করতে দেয়। লাইব্রেরিটি বেশ ভালভাবে অপ্টিমাইজ করা হয়েছে এবং আপনাকে আপনার প্রয়োজনীয়তাগুলি পূরণ করতে কোডটি সহজেই সম্পাদনা করতে দেয়৷
ইউনিঅফিস লাইব্রেরি হল একটি শক্তিশালী Go-ভিত্তিক লাইব্রেরি যা অফিস ওপেন XML নথি তৈরি, সম্পাদনা, বিন্যাস এবং প্রক্রিয়াকরণের জন্য ব্যবহার করা যেতে পারে। লাইব্রেরি বেশ কিছু গুরুত্বপূর্ণ ওয়ার্ড প্রসেসিং বৈশিষ্ট্য সমর্থন করে, যেমন ওয়ার্ড ডকুমেন্ট পড়া, লেখা এবং পরিবর্তন করা, টেক্সট ফরম্যাটিং সমর্থন, স্বয়ংক্রিয়ভাবে তৈরি করা বিষয়বস্তু সারণী, নথির পৃষ্ঠায় স্থাপন করা, শিরোনাম এবং ফুটার সন্নিবেশ করা, টেবিল যোগ করা, একটি টেমপ্লেট হিসাবে একটি নথি খোলা। , ফর্ম ক্ষেত্র সমর্থন এবং আরো অনেক কিছু।
ইউনিঅফিস দিয়ে শুরু করা
আপনার প্রোজেক্টে ইউনিঅফিস ইনস্টল করার প্রস্তাবিত উপায় হল GitHub ব্যবহার করা। একটি মসৃণ ইনস্টলেশনের জন্য নিম্নলিখিত কমান্ড ব্যবহার করুন.
GitHub এর মাধ্যমে ইউনিঅফিস ইনস্টল করুন
go get github.com/unidoc/unioffice/
go build -i github.com/unidoc/unioffice/...
Go API এর মাধ্যমে Word DOCX ডকুমেন্ট তৈরি করুন
ওপেন সোর্স লাইব্রেরি ইউনিঅফিস সহজে একটি নতুন Word DOCX ডকুমেন্ট তৈরি করার সুবিধা প্রদান করেছে। আপনি সহজেই আপনার নিজের অ্যাপ্লিকেশনের মধ্যে বিদ্যমান মাইক্রোসফ্ট ওয়ার্ড ডকুমেন্ট খুলতে এবং পরিবর্তন করতে পারেন। লাইব্রেরিতে নতুন পাঠ্য অনুচ্ছেদ যোগ করা, একটি পৃষ্ঠায় চিত্র সন্নিবেশ করা, পাঠ্য সারিবদ্ধকরণ, শিরোনাম এবং ফুটার যোগ করা, টেবিল যোগ করা এবং আরও অনেক কিছুর বৈশিষ্ট্য অন্তর্ভুক্ত রয়েছে।
Go API এর মাধ্যমে ওয়ার্ড ডকুমেন্টের বৈশিষ্ট্যগুলি অ্যাক্সেস করুন৷
func main() {
doc, err := document.Open("document.docx")
if err != nil {
log.Fatalf("error opening document: %s", err)
}
defer doc.Close()
cp := doc.GetOrCreateCustomProperties()
// You can read properties from the document
fmt.Println("AppVersion", *cp.GetPropertyByName("AppVersion").X().Lpwstr)
fmt.Println("Company", *cp.GetPropertyByName("Company").X().Lpwstr)
fmt.Println("DocSecurity", *cp.GetPropertyByName("DocSecurity").X().I4)
fmt.Println("LinksUpToDate", *cp.GetPropertyByName("LinksUpToDate").X().Bool)
fmt.Println("Non-existent", cp.GetPropertyByName("nonexistentproperty"))
// And change them as well
cp.SetPropertyAsLpwstr("Company", "Another company") // text, existing property
fmt.Println("Company", *cp.GetPropertyByName("Company").X().Lpwstr)
// Adding new properties
cp.SetPropertyAsLpwstr("Another text property", "My text value") // text
cp.SetPropertyAsI4("Another integer number property", 42) // int32
cp.SetPropertyAsR8("Another float number property", 3.14) // float64
cp.SetPropertyAsDate("Another date property", time.Now()) // date
doc.SaveToFile("document_customized.docx")
// For new documents all is the same
docNew := document.New()
defer docNew.Close()
cpNew := docNew.GetOrCreateCustomProperties()
cpNew.SetPropertyAsLpwstr("Another text property", "My text value") // text
cpNew.SetPropertyAsI4("Another integer number property", 42) // int23
cpNew.SetPropertyAsR8("Another float number property", 3.14) // float64
cpNew.SetPropertyAsDate("Another date property", time.Now()) // date
docNew.SaveToFile("document_new.docx")
}
Word DOCX ফাইলে ছবি সন্নিবেশ করান
ওপেন সোর্স লাইব্রেরি ইউনিঅফিস সফ্টওয়্যার ডেভেলপারদের মাইক্রোসফ্ট ওয়ার্ড ডকুমেন্টের ভিতরে ছবি ব্যবহার করার ক্ষমতা প্রদান করে। এটি আপনার পছন্দের জায়গায় ইমেজ ঢোকানো, বিদ্যমান ইমেজ পরিবর্তন করা, ইমেজের চারপাশে টেক্সট মোড়ানো, ইমেজ মুছে ফেলা এবং আরও অনেক কিছুর মতো কার্যকারিতা সমর্থন করে। একটি ছবি যোগ করার জন্য ছবির নাম এবং অবস্থান প্রদান করা প্রয়োজন।
Go API এর মাধ্যমে Word নথিতে ছবি পরিচালনা করুন
func main() {
doc := document.New()
defer doc.Close()
img1, err := common.ImageFromFile("gophercolor.png")
if err != nil {
log.Fatalf("unable to create image: %s", err)
}
img2data, err := ioutil.ReadFile("gophercolor.png")
if err != nil {
log.Fatalf("unable to read file: %s", err)
}
img2, err := common.ImageFromBytes(img2data)
if err != nil {
log.Fatalf("unable to create image: %s", err)
}
img1ref, err := doc.AddImage(img1)
if err != nil {
log.Fatalf("unable to add image to document: %s", err)
}
img2ref, err := doc.AddImage(img2)
if err != nil {
log.Fatalf("unable to add image to document: %s", err)
}
para := doc.AddParagraph()
anchored, err := para.AddRun().AddDrawingAnchored(img1ref)
if err != nil {
log.Fatalf("unable to add anchored image: %s", err)
}
anchored.SetName("Gopher")
anchored.SetSize(2*measurement.Inch, 2*measurement.Inch)
anchored.SetOrigin(wml.WdST_RelFromHPage, wml.WdST_RelFromVTopMargin)
anchored.SetHAlignment(wml.WdST_AlignHCenter)
anchored.SetYOffset(3 * measurement.Inch)
anchored.SetTextWrapSquare(wml.WdST_WrapTextBothSides)
run := para.AddRun()
for i := 0; i < 16; i++ {
run.AddText(lorem)
// drop an inline image in
if i == 13 {
inl, err := run.AddDrawingInline(img1ref)
if err != nil {
log.Fatalf("unable to add inline image: %s", err)
}
inl.SetSize(1*measurement.Inch, 1*measurement.Inch)
}
if i == 15 {
inl, err := run.AddDrawingInline(img2ref)
if err != nil {
log.Fatalf("unable to add inline image: %s", err)
}
inl.SetSize(1*measurement.Inch, 1*measurement.Inch)
}
}
doc.SaveToFile("image.docx")
}
ওয়ার্ড ডকুমেন্টে হেডার ও ফুটার যোগ করুন
শিরোনাম এবং পাদচরণ ব্যবহারকারীরা ডকুমেন্টের প্রতিটি পৃষ্ঠায় যেমন লেখকের নাম, নথির শিরোনাম, বা পৃষ্ঠা নম্বর দেখাতে চান এমন তথ্য অন্তর্ভুক্ত করতে ব্যবহার করা যেতে পারে। ইউনিঅফিস লাইব্রেরি সফ্টওয়্যার ডেভেলপারদের সহজে ওয়ার্ড ডকুমেন্টে হেডার এবং ফুটার যোগ করতে দেয়। এটি নথি বিভাগের উপর নির্ভর করে বিভিন্ন শিরোনাম এবং ফুটার থাকার অনুমতি দেয়। এটিতে জোড়, বিজোড় এবং প্রথম কার্যকারিতাগুলির জন্য সমর্থন অন্তর্ভুক্ত রয়েছে।
Go API এর মাধ্যমে Word নথিতে শিরোনাম এবং ফুটার যোগ করুন
func main() {
doc := document.New()
defer doc.Close()
img, err := common.ImageFromFile("gophercolor.png")
if err != nil {
log.Fatalf("unable to create image: %s", err)
}
hdr := doc.AddHeader()
// We need to add a reference of the image to the header instead of to the
// document
iref, err := hdr.AddImage(img)
if err != nil {
log.Fatalf("unable to to add image to document: %s", err)
}
para := hdr.AddParagraph()
para.Properties().AddTabStop(2.5*measurement.Inch, wml.ST_TabJcCenter, wml.ST_TabTlcNone)
run := para.AddRun()
run.AddTab()
run.AddText("My Document Title")
imgInl, _ := para.AddRun().AddDrawingInline(iref)
imgInl.SetSize(1*measurement.Inch, 1*measurement.Inch)
// Headers and footers are not immediately associated with a document as a
// document can have multiple headers and footers for different sections.
doc.BodySection().SetHeader(hdr, wml.ST_HdrFtrDefault)
ftr := doc.AddFooter()
para = ftr.AddParagraph()
para.Properties().AddTabStop(6*measurement.Inch, wml.ST_TabJcRight, wml.ST_TabTlcNone)
run = para.AddRun()
run.AddText("Some subtitle goes here")
run.AddTab()
run.AddText("Pg ")
run.AddField(document.FieldCurrentPage)
run.AddText(" of ")
run.AddField(document.FieldNumberOfPages)
doc.BodySection().SetFooter(ftr, wml.ST_HdrFtrDefault)
lorem := `Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin lobortis, lectus dictum feugiat tempus, sem neque finibus enim, sed eleifend sem nunc ac diam. Vestibulum tempus sagittis elementum`
for i := 0; i < 5; i++ {
para = doc.AddParagraph()
run = para.AddRun()
run.AddText(lorem)
}
doc.SaveToFile("header-footer.docx")
}
Word DOCX এ টেবিলের সাথে কাজ করা
ওপেন সোর্স লাইব্রেরি ইউনিঅফিস কম্পিউটার প্রোগ্রামারদের ওয়ার্ড ডকুমেন্টের ভিতরে টেবিল যোগ ও পরিবর্তন করতে সক্ষম করে। টেবিলগুলি খুব দরকারী এবং আরও ভাল উপায়ে ডেটা সংগঠিত এবং উপস্থাপন করতে ব্যবহার করা যেতে পারে। এটি সীমানা সহ এবং ছাড়াই একটি টেবিল যুক্ত করাকে সমর্থন করে এবং সেইসাথে সহজে একটি টেবিল শৈলী নির্মাণের অনুমতি দেয়। আপনি সহজেই একটি টেবিলে বিষয়বস্তু স্থাপন করতে পারেন এবং আপনার প্রয়োজন অনুযায়ী আকার সামঞ্জস্য করতে পারেন।