अपाचे पीओआई का उपयोग करते समय एमएस वर्ड फाइलों से प्राप्त होने वाले तार (प्रोग्रामेटिक रूप से) एक ही पाठ नहीं हैं, जब मैं एमएस वर्ड के साथ फाइलें खोलता हूं।जावा: अपाचे पीओआई: क्या मुझे एमएस वर्ड (.doc) फ़ाइलों से साफ टेक्स्ट मिल सकता है?
निम्नलिखित कोड का उपयोग करते समय:
File someFile = new File("some\\path\\MSWFile.doc");
InputStream inputStrm = new FileInputStream(someFile);
HWPFDocument wordDoc = new HWPFDocument(inputStrm);
System.out.println(wordDoc.getText());
उत्पादन में कई 'अमान्य' अक्षर के साथ एक पंक्ति (हाँ, 'बक्से'), और कई अवांछित तार, जैसे "FORMTEXT
", "HYPERLINK \l "_Toc##########"
है "('#' अंकों की जा रहा है)," PAGEREF _Toc########## \h 4
", आदि
निम्नलिखित कोड" फिक्स "एकल लाइन समस्या है, लेकिन सभी में अमान्य वर्ण और अवांछित पाठ का कहना है:
File someFile = new File("some\\path\\MSWFile.doc");
InputStream inputStrm = new FileInputStream(someFile);
WordExtractor wordExtractor = new WordExtractor(inputStrm);
for(String paragraph:wordExtractor.getParagraphText()){
System.out.println(paragraph);
}
मुझे नहीं पता कि मैं टेक्स्ट निकालने के लिए गलत विधि का उपयोग कर रहा हूं, लेकिन POI's quick-guide पर देखकर मैं यही आया हूं। यदि मैं हूं, तो सही दृष्टिकोण क्या है?
यदि यह आउटपुट सही है, तो क्या अवांछित पाठ से छुटकारा पाने के लिए कोई मानक तरीका है, या क्या मुझे अपना खुद का फ़िल्टर लिखना होगा?
तरह पैरा दूसरा समाधान में काम नहीं किया पर सीधे इसका इस्तेमाल न मेरे परीक्षण TIKA-1.2 FORMCHECKBOX और .doc फ़ाइलों से अन्य चीजें लौटा दी। हालांकि .docx फ़ाइलें ठीक काम किया। – Simon
मैं आपको सबसे हालिया Tika संस्करण, 1.3 के साथ प्रयास करने का सुझाव दूंगा। यदि समस्या अभी भी होती है, तो कृपया [एक बग उठाएं] (https://issues.apache.org/jira/browse/TIKA) और इसे दिखाते हुए एक नमूना फ़ाइल अपलोड करें, ताकि हम जांच कर सकें! – Gagravarr
यह अभी भी मेरे लिए Tika 1.3 में होता है, इसके लिए यह क्या लायक है। – damd