Я разрабатываю приложение, которое будет принимать файлы .doc или .docx как входные данные и извлекать их слова в таблицу базы данных.Как извлечь текст справа налево из файлов .doc и .docx с помощью Apache POI в java?
Я пробовал Apache POI для этой цели, и я успешно справился с этим с документами в текстовом формате слева направо (например, на английском языке).
Вот код:
// FilterDOC Method Which Tacke A Document As Input and Return A Generic
// List Withs Its Words
public static void parseDoc(File SelectedFile, FileReader in) {
try {
// Create a POI File System object
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(
SelectedFile));
// Create a document for this file
HWPFDocument doc = new HWPFDocument(fs);
// Create a WordExtractor to read the text of the word document
WordExtractor we = new WordExtractor(doc);
String ExtractedText = we.getText();
// Removing New Empty Lines
String RemoveEmptyLines = ExtractedText.replaceAll("[\n\r]", "");
// Filtering document of any symbols
String[] Wordlist = RemoveEmptyLines
.split("[:\\,\\.\\}\\?\\{\\[\\]\\‘\\_\\*\\&\\%\\#\\$\\@\\!\\~\\/\\//\\|\\?\\“\\:-\\;\\W\\s+]");
List<String> lines = new ArrayList<String>();
for (String line : Wordlist) {
if (line != null && !line.trim().isEmpty()
&& !line.equals("\\W\\s+")) {
lines.add(line.trim());
}
}
// output the document
for (String string : lines) {
System.out.println(string);}
in.close();
}
catch (IOException e){
System.out.println("IO Exception !!"+ e.getMessage()); }
}
Как я могу использовать ту же библиотеку документов с написанием справа налево в текстовом формате (например, арабский)?
Не могли бы вы пояснить, что проблема в том, что вы видите? Нет текста? Неверные символы? Неправильное направление? – Gagravarr