मैं वीबी 9 (वीएस -2008) और लुसेन.NET का उपयोग कर डेस्कटॉप खोज इंजन विकसित कर रहा हूं। लुसेन.NET में इंडेक्सर केवल कच्चे टेक्स्ट डेटा स्वीकार करता है और माइक्रोसॉफ्ट ऑफिस (डीओसी, डॉक्स, पीपीटी, पीपीटीएक्स) और पीडीएफ दस्तावेजों से सीधे कच्चे पाठ को निकालना संभव नहीं है। ऐसी फ़ाइलों से कच्चे पाठ डेटा निकालने का सबसे अच्छा तरीका क्या है?माइक्रोसॉफ्ट ऑफिस और पीडीएफ दस्तावेज़ों का विश्लेषण करने का सबसे अच्छा तरीका क्या है?
उत्तर
आप विंडोज डेस्कटॉप खोज की तरह, IFilter इंटरफेस को लागू करने वाले घटकों का उपयोग कर सकते हैं।
मैं केवल एमएस ऑफ़िस दस्तावेज़ों को यहां के बारे में बात कर सकते हैं। ऐसा करने के कई तरीके हैं:
- COM स्वचालन
- कन्वर्टर्स का उपयोग का उपयोग करते हुए जो उत्पादन एक और अधिक सुलभ प्रारूप
- में दस्तावेज़ 3 पक्ष के पुस्तकालयों का उपयोग करना
- माइक्रोसॉफ्ट के OpenXML SDK
COM स्वचालन के पास हमेशा विश्वसनीय नहीं होने का नुकसान होता है, मुख्य रूप से क्योंकि मोडल पॉपअप संवाद के कारण एप्लिकेशन लटकते हैं।
कन्वर्टर्स Word के लिए उपलब्ध हैं। आप माइक्रोसॉफ्ट से उपलब्ध टेक्स्ट कनवर्टर एसडीके देख सकते हैं जो आपको स्टैंड-अलोन एप्लिकेशन में वर्ड के साथ आने वाले दस्तावेज़ कन्वर्टर्स का उपयोग करने की अनुमति देगा। कुछ सी कोडिंग की आवश्यकता है लेकिन चूंकि आप उसी रूपांतरण इंजन का उपयोग कार्यालय के रूप में कर रहे हैं, इसलिए आपको उच्च-निष्ठा के परिणाम मिलेंगे। एसडीके http://support.microsoft.com/kb/111716 से प्राप्त किया जा सकता है।
तीसरे पक्ष के पुस्तकालयों का उपयोग करने वाले तीसरे विकल्प के लिए आप SourceForge पर अपाचे पीओआई या b2xtranslator project पर एक नज़र डालना चाहते हैं। उत्तरार्द्ध एक सी # लाइब्रेरी प्रदान करता है जो आपको बाइनरी वर्ड दस्तावेज़ों से टेक्स्ट निकालने की अनुमति देता है। पावरपॉइंट विकास अभी भी शुरुआती स्टेडियम में है लेकिन टेक्स्ट निष्कर्षण पहले ही काम कर रहा है।
अंतिम विकल्प माइक्रोसॉफ्ट के ओपनएक्सएमएल एसडीके का उपयोग करना होगा। यह पसंदीदा/सबसे आसान तरीका हो सकता है। नमूने के लिए Google खोजें।
शब्द::
"C:\Program Files\Microsoft Office\Office12\wordconv.exe" -oice -nme <input file> <output file>
एक्सेल:
"C:\Program Files\Microsoft Office\Office12\excelcnv.exe" -oice <input file> <output file>
PowerPoint:
तुम भी पहले Office संगतता पैक (डाउनलोड और Microsoft से स्थापित) का उपयोग कर उन्हें परिवर्तित करके बाइनरी दस्तावेजों को संभाल सकता"C:\Program Files\Microsoft Office\Office12\ppcnvcom.exe" -oice <input file> <output file>
पीडीएफ के लिए आप मेरी कंपनी के .NET PDF Reader घटक का उपयोग कर सकते हैं जो fe एटर्स टेक्स्ट निष्कर्षण।
यह ठीक कोड आप एक PDF से पाठ निकाल लिए लिखने है:
public String ReadTextFromPages(Stream s)
{
using (PdfTextDocument doc = new PdfTextDocument(s))
{
PdfTextReader rdr = doc.GetPdfTextReader();
return rdr.ReadToEnd();
}
}
मैं सिर्फ यह करने के लिए जोड़ सकते हैं - यह सब के प्यार के लिए पवित्र है, Foxit PDF IFilter का उपयोग करें। 32-बिट संस्करण मुफ्त है। यह एडोब की तुलना में बहुत तेज़ और अधिक स्थिर है। http://www.foxitsoftware.com/pdf/ifilter/index.html। –