OneNote पार्सिंग - दस्तावेज़ में टेक्स्ट ब्लॉब्स पर कैसे जाएं?


16

मैं .oneफ़ाइल एक्सटेंशन के लिए एक पार्सर बना रहा हूं , जो समाप्त होने पर मैं अपाचे टीका प्रोजेक्ट में जोड़ दूंगा।

यहाँ APL 2.0 लाइसेंस प्राप्त ओपन सोर्स प्रोजेक्ट जो मैं बना रहा हूँ: https://github.com/nddipiazza/onenote-parat-vava

मैंने यहाँ विनिर्देश दस्तावेज का उपयोग किया: https://docs.microsoft.com/en-us/openspecs/office_file_formats/ms-one/73d22548-a613-4350-8c23-07d15767650

एक प्रारंभिक बिंदु के रूप में, मैंने इस खुले स्रोत C ++ प्रोजेक्ट से कोड पर पोर्ट किया: https://github.com/dropbox/oneno-inser

मुझे दस्तावेजों के पार्सिंग में एक लंबा रास्ता मिल गया है, लेकिन मैंने एक सड़क ब्लॉक मारा है।

यहाँ वह OneNote फ़ाइल है जिसका उपयोग मैं पार्स करने के लिए कर रहा हूं: https://drive.google.com/file/d/1uROTEnKeBKU08CG_K5zdDTGHa178LgBK/view?usp/sharing

यहाँ इस दस्तावेज़ से अनुभाग है

मैं अपने पार्स किए गए परिणामों में Section1TextArea1 और Section1TextArea2 को देखने में असमर्थ हूं। इसलिए मुझे कुछ महत्वपूर्ण डेटा पार्सिंग तत्व या कुछ याद आ रहे हैं।

यह निश्चित रूप से OneNote फ़ाइल में ही है। मैं इसे हेक्स दर्शक में देख सकता हूं:

सामग्री के हेक्स संपादक दृश्य

यहाँ JSON पार्स आउटपुट है: https://gist.github.com/nddipiazza/02d2252d357b3b02a6b9ab1050474267

मुझे लगता है कि इस मालिकाना प्रारूप को पार्स करने के लिए आवश्यक दस्तावेज में कुछ बहुत महत्वपूर्ण जानकारी गायब है।

वास्तविक पाठ सामग्री नहीं मिलने के कारण मुझे कौन सा प्रमुख तत्व याद आ रहा है?

जवाबों:


2

मैं यह समझ गया। यह समझने की बात थी कि OneNote में संपत्ति मूल्य या तो हो सकते हैं:

  • बाइनरी सामग्री
  • Ascii पाठ सामग्री
  • UTF-16LE सामग्री।

वहाँ भर में छिड़का हुआ है।

इसके अलावा, मैं अभी आगे गया और पूरे रूट फ़ाइल पेड़ को पार्स किया। यह बहुत सारे डुप्लिकेट पाठ का परिणाम देगा, लेकिन मुझे वास्तव में परवाह नहीं है।

परियोजना परीक्षण मामलों और यहाँ तय के साथ अद्यतन की जाती है: https://github.com/nddipiazza/onenote-parser-java/tree/master/src/main/java/org/apache/tika/onstote

अपडेट करें:

बस Apache tika PR बनाया: https://github.com/apache/tika/pull/300

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.