EPUB ডকুমেন্ট তৈরির জন্য ফ্রি Go লাইব্রেরি
EPUB ফাইল তৈরি করার জন্য ওপেন সোর্স Go লাইব্রেরি। এতে CSS, ছবি এবং ফন্ট যোগ করার সমর্থন অন্তর্ভুক্ত।
Go-EPUB একটি খুবই উপযোগী ওপেন সোর্স Go লাইব্রেরি যা সফটওয়্যার ডেভেলপারদের সহজে তাদের নিজস্ব Go অ্যাপ্লিকেশনের মধ্যে EPUB ফাইল তৈরি করতে সক্ষম করে। লাইব্রেরিটি খুবই ভালভাবে ডকুমেন্টেড এবং সব ত্রুটি বার্তা স্বয়ং ব্যাখ্যাযোগ্য। লাইব্রেরিতে মিডিয়া ফাইল হ্যান্ডল করার জন্য খুবই উপযোগী ফাংশনগুলি অন্তর্ভুক্ত রয়েছে, যেমন একটি URL থেকে মিডিয়া ফেচ করা, লোকাল FR থেকে মিডিয়া পাওয়া অথবা RFC 2397 এনকোডেড স্কিম থেকে মিডিয়া ফেচ করা।
Go-EPUB লাইব্রেরি ব্যবহার করা খুবই সহজ এবং EPUB ডকুমেন্ট হ্যান্ডল করার জন্য বেশ কয়েকটি গুরুত্বপূর্ণ ফিচার অন্তর্ভুক্ত করেছে, যেমন বৈধ EPUB 3.0 ফাইল তৈরি করা, EPUB ফাইলে ছবি যোগ করা, কাস্টম CSS সমর্থন, EPUB ফাইলের মধ্যে ভিডিও যোগ করা, ফন্ট যোগ করা এবং সর্বোচ্চ সামঞ্জস্যতার জন্য EPUB 2.0 টেবিল অফ কন্টেন্টস ব্যবহার করা।
Go-EPUB লাইব্রেরি EPUBCheck টুলকে সমর্থন করে যা ব্যবহারকারীদের EPUB-এ ভ্যালিডেশন ত্রুটি পরীক্ষা করতে দেয়। যদি EPUBCheck স্থানীয়ভাবে ইনস্টল করা থাকে, এটি Go টেস্টের সঙ্গে চালানো হবে। EPUBCheck ব্যবহার করতে নিশ্চিত করুন যে আপনার সিস্টেমে জাভা ইনস্টল করা আছে। যদি ব্যবহারকারীরা স্থানীয়ভাবে EPUBCheck ইনস্টল করতে না চান, তবে EPUB ডকুমেন্টগুলি ম্যানুয়ালি ভ্যালিডেট করা সম্ভব।
Go-EPUB দিয়ে শুরু করা
আপনার সিস্টেমে Go-EPUB লাইব্রেরি ইনস্টল করতে, দয়া করে নিম্নলিখিত কমান্ডটি চালান।
GitHub এর মাধ্যমে PDF ইনস্টল করুন
go get https://github.com/iditectweb/pdf.gitআপনি এটিকে ম্যানুয়ালি ইনস্টলও করতে পারেন; সর্বশেষ রিলিজ ফাইলগুলি সরাসরি GitHub রিপোজিটরি থেকে ডাউনলোড করুন।
Go API ব্যবহার করে EPUB ফাইল তৈরি করুন
ওপেন সোর্স Go-EPUB লাইব্রেরি তাদের নিজস্ব Go অ্যাপ্লিকেশনের মধ্যে মাত্র কয়েকটি Go কমান্ডের মাধ্যমে EPUB ডকুমেন্ট তৈরি করার সম্পূর্ণ কার্যকারিতা অন্তর্ভুক্ত করেছে। লাইব্রেরি ডকুমেন্ট তৈরি সংক্রান্ত বেশ কিছু গুরুত্বপূর্ণ বৈশিষ্ট্য প্রদান করেছে, যেমন লেখক নির্ধারণ, ডকুমেন্টে নতুন সেকশন যোগ করা, ডকুমেন্টের মধ্যে ছবি সন্নিবেশ করা, টেক্সট ফরম্যাটিং ও স্টাইল প্রয়োগ করা, পছন্দসই ফন্ট যোগ করা, এবং আরও অনেক কিছু।
Go লাইব্রেরি ব্যবহার করে নতুন EPUB ফাইল তৈরি করুন
// Create a new EPUB
e := epub.NewEpub("My title")
// Set the author
e.SetAuthor("Hingle McCringleberry")
// Add a section
section1Body := `সেকশন ১
এটি একটি প্যারাগ্রাফ।
`
e.AddSection(section1Body, "Section 1", "", "")
// Write the EPUB
err = e.Write("My EPUB.epub")
if err != nil {
// handle error
}
Go API মাধ্যমে EPUB ফাইলে ছবি যোগ করুন
ওপেন সোর্স Go-EPUB লাইব্রেরি প্রোগ্রামারদের তাদের Go অ্যাপ্লিকেশনের মধ্যে EPUB ডকুমেন্টে ছবি যোগ করার অনুমতি দেয়। লাইব্রেরিতে EPUB ফাইলে ছবি সন্নিবেশ করার জন্য বিভিন্ন পদ্ধতি রয়েছে, যেমন URL ব্যবহার করে, অথবা স্থানীয় ছবি ফাইলের সম্পূর্ণ পথ দিয়ে, অথবা এমবেডেড ডেটা URL দিয়ে। যেকোনো ক্ষেত্রে ছবি ফাইলটি পুনরুদ্ধার করে EPUB ডকুমেন্টে সংরক্ষণ করা হবে। অভ্যন্তরীণ ফাইলনামটি EPUB-এ ছবি ফাইল সংরক্ষণ করার সময় ব্যবহার করা হবে এবং সব ছবি ফাইলের মধ্যে এটি ইউনিক হতে হবে।
Go API ব্যবহার করে EPUB ফাইলে ছবি কীভাবে যোগ করবেন
e := epub.NewEpub("My title")
// Add an image from a local file
img1Path, err := e.AddImage("testdata/gophercolor16x16.png", "go-gopher.png")
if err != nil {
log.Fatal(err)
}
// Add an image from a URL. The filename is optional
img2Path, err := e.AddImage("https://golang.org/doc/gopher/gophercolor16x16.png", "")
if err != nil {
log.Fatal(err)
}
fmt.Println(img1Path)
fmt.Println(img2Path)
Go API মাধ্যমে EPUB ফাইলে CSS ও ফন্ট যোগ করুন
Go-EPUB লাইব্রেরি সফটওয়্যার ডেভেলপারদের তাদের EPUB ডকুমেন্টে কাস্টম CSS এবং পছন্দসই ফন্ট যোগ করার সক্ষমতা প্রদান করে। ছবি সমানভাবে, লাইব্রেরি আপনাকে URL, স্থানীয় ফাইলের পথ, অথবা এমবেডেড ডেটা URL ব্যবহার করে EPUB ফাইলে CSS বা ফন্ট সন্নিবেশ করার অনুমতি দেয়। দয়া করে মনে রাখবেন যে ফন্ট ফাইলটি EPUB-এ সংরক্ষণ করার সময় অভ্যন্তরীণ ফাইলনামটি ব্যবহার করা হবে।
Go API ব্যবহার করে EPUB ডকুমেন্টে CSS যোগ করুন
// Add CSS
css1Path, err := e.AddCSS("testdata/cover.css", "epub.css")
if err != nil {
log.Fatal(err)
}
// The filename is optional
css2Path, err := e.AddCSS("testdata/cover.css", "")
if err != nil {
log.Fatal(err)
}
// Use the CSS in a section
sectionBody := ` সেকশন ১
এটি একটি প্যারাগ্রাফ।
`
e.AddSection(sectionBody, "Section 1", "", css1Path)
fmt.Println(css1Path)
fmt.Println(css2Path)