HTML दस्तावेज़ों को टेक्स्ट में बदलने के लिए मुफ्त Go लाइब्रेरी
HTML2Text एक बहुत सरल ओपन सोर्स Go लाइब्रेरी है जो Go ऐप्स के भीतर HTML मार्कअप को मानव-पठनीय साधारण टेक्स्ट में बदल सकती है।
आज के डिजिटल परिदृश्य में, सामग्री को कई फ़ॉर्मेट और प्लेटफ़ॉर्म पर सुलभ होना आवश्यक है। HTML2Text जॉ Taylor द्वारा बनाई गई एक शक्तिशाली Go लाइब्रेरी है जो एक मूलभूत चुनौती को हल करती है: HTML सामग्री को पठनीय, अच्छी तरह स्वरूपित साधारण टेक्स्ट में बदलना। मूल रूप से यह सुनिश्चित करने के लिए विकसित की गई थी कि HTML ईमेल सभी प्राप्तकर्ताओं द्वारा पढ़ी जा सके—जिसमें वे भी शामिल हैं जिनके क्लाइंट में HTML अक्षम है या जिन्हें पहुँच संबंधी आवश्यकताएँ हैं—यह लाइब्रेरी अब सामग्री रूपांतरण पर काम करने वाले डेवलपर्स के लिए एक बहुमुखी उपकरण बन गई है।
यह लाइब्रेरी जटिल HTML संरचनाओं, जिसमें तालिकाएँ, सूचियाँ और लिंक शामिल हैं, को साफ़, मार्कडाउन-स्वादित साधारण पाठ में परिवर्तित करती है, जबकि तार्किक संरचना और पठनीयता को बनाए रखती है। लाइब्रेरी की कई महत्वपूर्ण विशेषताएँ हैं, जैसे इंटेलिजेंट HTML-टू-टेक्स्ट रूपांतरण, सुंदर फ़ॉर्मेटिंग के साथ तालिका रेंडरिंग, अनुकूलन योग्य रूपांतरण विकल्प, कमांड लाइन इंटरफ़ेस, आदि। HTML2Text शुद्ध Go में लिखा गया है, बिना किसी बाहरी निर्भरता के, जिससे यह सामान्य HTML दस्तावेज़ों के लिए तेज़, स्ट्रीमिंग‑फ्रेंडली डिज़ाइन के साथ मेमोरी‑कुशल और वेब सर्वरों में समवर्ती उपयोग के लिए थ्रेड‑सेफ़ है। इसके सरल API, लचीले विकल्पों, और हजारों परियोजनाओं में सिद्ध ट्रैक रिकॉर्ड के साथ, HTML2Text आपके Go टूलकिट में एक स्थान का हकदार है।
HTML2Text के साथ शुरूआत
HTML2Text को स्थापित करने का अनुशंसित और सबसे आसान तरीका GitHub का उपयोग करना है। कृपया सुगम स्थापना के लिए निम्नलिखित कमांड का उपयोग करें।
GitHub के माध्यम से HTML2Text लाइब्रेरी स्थापित करें
go get jaytaylor.com/html2textलाइब्रेरी को Go 1.x या उससे नया चाहिए और इसमें कोई बाहरी निर्भरताएँ नहीं हैं, जिससे आपका प्रोजेक्ट हल्का रहता है। आप इसे मैन्युअल रूप से भी स्थापित कर सकते हैं; नवीनतम रिलीज़ फ़ाइलें सीधे GitHub रिपॉज़िटरी से डाउनलोड करें।
Go के माध्यम से बेसिक HTML से टेक्स्ट रूपांतरण
ओपन सोर्स HTML2Text लाइब्रेरी सॉफ़्टवेयर डेवलपर्स को उनके Go एप्लिकेशन में HTML फ़ाइल को टेक्स्ट फ़ॉर्मेट में लोड और कनवर्ट करना आसान बनाती है। HTML2Text केवल टैग्स को हटाता नहीं है—यह HTML संरचना को समझदारी से व्याख्या करता है ताकि हेडिंग्स, पैराग्राफ़ और लिस्ट्स की सिमैंटिक समझ के साथ मानव-पठनीय आउटपुट उत्पन्न हो, लिंक को संरक्षित करता है जिसमें लिंक टेक्स्ट के बाद कोष्ठकों में URL दिखाया जाता है, व्हाइटस्पेस को सामान्यीकृत करता है जिससे अत्यधिक लाइन ब्रेक्स के बिना पठनीयता बनी रहती है, और UTF-8 सहित BOM (बाइट ऑर्डर मार्क) के साथ कैरेक्टर एन्कोडिंग समर्थन प्रदान करता है। यहाँ एक पूर्ण उदाहरण है जो लाइब्रेरी का उपयोग करके Go एप्लिकेशन में HTML को टेक्स्ट फ़ॉर्मेट में लोड और कनवर्ट करने की अनुमति देता है।
Go लाइब्रेरी के माध्यम से सरल HTML सामग्री को टेक्स्ट फ़ॉर्मेट में कैसे बदलें?
package main
import (
"fmt"
"jaytaylor.com/html2text"
)
func main() {
html := `
हमारी सेवा में आपका स्वागत है
हमारे विशेषताएँ पृष्ठ
के बारे में अधिक जानकारी के लिए देखें कि हम क्या पेश करते हैं।
- 24/7 समर्थन
- नि:शुल्क परीक्षण
- उद्यम योजनाएँ
`
text, err := html2text.FromString(html, html2text.Options{})
if err != nil {
panic(err)
}
fmt.Println(text)
}
सुंदर फ़ॉर्मेटिंग के साथ टेबल रेंडरिंग
HTML2Text की प्रमुख विशेषताओं में से एक इसकी क्षमता है कि वह HTML तालिकाओं को ASCII-आधारित टेक्स्ट तालिकाओं के रूप में प्रस्तुत कर सकता है। साधारण टेक्स्ट में तालिकाएँ अक्सर बिखरे हुए डेटा सूप में बदल जाती हैं। PrettyTables सुविधा ASCII कला का उपयोग करके तालिकीय संरचना को संरक्षित रखती है, जिससे संख्यात्मक डेटा, मूल्य तालिकाएँ, या तुलना चार्ट किसी भी संदर्भ में पढ़ने योग्य बनते हैं। ये ईमेल के माध्यम से भेजे गए स्वचालित रिपोर्ट, कमांड-लाइन टूल आउटपुट, या SMS सूचनाओं के लिए आदर्श हैं जहाँ डेटा संरचना महत्वपूर्ण होती है। निम्नलिखित कोड उदाहरण दिखाता है कि सॉफ़्टवेयर डेवलपर्स Go कमांड्स का उपयोग करके HTML तालिका को स्वरूपित ASCII तालिका में कैसे बदल सकते हैं।
Go के माध्यम से HTML तालिका को स्वरूपित ASCII तालिका में कैसे बदलें?
func sendMonthlyReport(userEmail string, metricsHTML string) {
// Convert HTML table to formatted ASCII table
textReport, _ := html2text.FromString(metricsHTML, html2text.Options{
PrettyTables: true, // Preserves table structure visually
})
// Even in plain text, the data remains organized:
// +----------------+-----------+
// | METRIC | VALUE |
// +----------------+-----------+
// | Page Views | 24,589 |
// | Conversion Rate| 2.4% |
// +----------------+-----------+
sendEmail(userEmail, "Monthly Report", textReport)
}
Go लाइब्रेरी के माध्यम से ईमेल फॉलबैक जेनरेशन
HTML2Text के सबसे सामान्य उपयोग मामलों में से एक है HTML ईमेल टेम्पलेट्स को उनके सादे टेक्स्ट समकक्ष में बदलना। ईमेल क्लाइंट्स की HTML रेंडरिंग क्षमताएँ बहुत भिन्न होती हैं। कुछ सुरक्षा-सचेत उपयोगकर्ता HTML को पूरी तरह से बंद कर देते हैं, जबकि पुराने क्लाइंट्स या दृष्टिबाधित उपयोगकर्ताओं के लिए स्क्रीन रीडर अक्सर सादे टेक्स्ट के साथ बेहतर काम करते हैं। टेक्स्ट विकल्प प्रदान करना केवल अच्छी प्रथा नहीं है—यह पहुँच और डिलीवरी के लिए आवश्यक है। स्वचालित रूप से सिंक्रनाइज़्ड सादे टेक्स्ट संस्करण उत्पन्न करके, आप सुनिश्चित करते हैं कि प्रत्येक प्राप्तकर्ता आपकी सामग्री पढ़ सके, स्पैम फ़िल्टर ट्रिगर को कम करे, और WCAG जैसे पहुँच मानकों का पालन करे।
Go लाइब्रेरी के माध्यम से ईमेल संदेश का प्लेन टेक्स्ट बैकफ़ॉल कैसे जनरेट करें?
func sendTransactionalEmail(userEmail, htmlContent string) error {
// Generate plain text fallback
textContent, err := html2text.FromString(htmlContent, html2text.Options{})
if err != nil {
return fmt.Errorf("failed to create text alternative: %v", err)
}
// Send multipart email (both HTML and text)
email := &Email{
To: userEmail,
HTMLBody: htmlContent,
TextBody: textContent, // Critical for users with HTML disabled
}
return emailService.Send(email)
}
HTML से टेक्स्ट में लिंक के साथ काम करना
HTML2Text लाइब्रेरी ने HTML से टेक्स्ट रूपांतरण के दौरान लिंक को संभालने के लिए पूर्ण समर्थन शामिल किया है। लिंक HTML सामग्री में विशेष रूप से महत्वपूर्ण होते हैं, और html2text सुनिश्चित करता है कि लिंक टेक्स्ट और URL दोनों संरक्षित रहें। लिंक टेक्स्ट सामान्य रूप से प्रदर्शित होता है, जबकि वास्तविक URL को कोष्ठकों में जोड़ा जाता है, जिससे सादे टेक्स्ट संस्करण के पाठक अभी भी लिंक किए गए संसाधनों तक पहुंच सकें। निम्नलिखित उदाहरण दर्शाता है कि इसे कैसे प्राप्त किया जाए।
Go एप्लिकेशन में HTML को टेक्स्ट में बदलते समय लिंक को कैसे प्रबंधित करें?
package main
import (
"fmt"
"log"
"jaytaylor.com/html2text"
)
func main() {
htmlContent := `
हमारे उत्पाद कैटलॉग देखें
या हमारे समर्थन पृष्ठ पर जाएँ।
`
text, err := html2text.FromString(htmlContent)
if err != nil {
log.Fatal(err)
}
fmt.Println(text)
}