Отображение файла MS Word в представлении (скажем, TextView) в Android
Я хочу отобразить.docx файл вView
в Android. Файл содержит математические символы, а также изображения между текстом. Я хочу отобразить много таких файлов и пролистать их черезswipe
жест. Я успешно сделал то же самое для.текст файлы. И теперь можно очень легко перейти на следующую страницу по смахиванию. Код для.текст Файл выглядит следующим образом:
public String readTxt(String fileName)
{
try {
InputStream is;
is = context.getAssets().open(fileName + ".txt");
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
int i;
i = is.read();
while (i != -1)
{
byteArrayOutputStream.write(i);
i = is.read();
}
is.close();
return byteArrayOutputStream.toString();
}
catch (IOException e)
{
e.printStackTrace();
}
return fileName;
}
Этот код возвращает текст, который я затем отображаю в моемTextView
, Таким образом, мне нужно всего лишь изменить имя файла динамически и при пролистывании текста изменения.
Теперь я хочу изменить этот код, чтобы отображать файлы MS Word (.docx), которые содержат текст, изображения и математические символы.
Я уже проверил много похожих тем по этой теме на переполнение стека, а также на других форумах: это ссылки, которые многие люди предложили в качестве ответов на похожие вопросы, и я уже попробовал:Link1 а такжеlink2
Также во многих других темах люди рекомендовалиJopendocument, Я также прочитал об этом и узнал, что Android не поддерживает открытый формат документов. так что этот вариант кажется маловероятным. Но если у вас есть обходной путь или хорошее подробное объяснение относительно добавления библиотеки JOpenDocument в проект и отображения расширенного текста, пожалуйста, поделитесь этим решением, потому что я его много искал, но не смогне могу найти.
Существует также еще одна библиотека под названиемOliveDocLibrary для отображения файлов богатых слов на Android. здесьссылка на сайт откуда я скачал lib. Демонстрация, включенная в этот пакет загрузки, работает просто отлично. Но библиотека является пробной версией. Поэтому сейчас я пытаюсь работать с этой библиотекой и посмотреть, куда она идет. Но я все еще в поисках лучших вариантов.
Любая помощь по этому поводу приветствуется. Любые указатели, кроме упомянутых выше, приветствуются.
Обновить:
Я получил предложение, в котором говорилось об использованииApache POI(HWPF более конкретно) в первой награде я начал по этому вопросу. После изучения Apache POI в течение некоторого времени я получил несколько кодов, которые записывали в файл doc, читали файл doc, обновляли листы Excel и т. Д.
Такой пример кода (для Java), который я нашел в интернете, выглядит примерно так:
import java.io.*;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.extractor.WordExtractor;
public class ReadDocFile {
public static void main(String[] args) {
File file = null;
WordExtractor extractor = null ;
try {
file = new File("c:\\New.doc");
FileInputStream fis=new FileInputStream(file.getAbsolutePath());
HWPFDocument document=new HWPFDocument(fis);
extractor = new WordExtractor(document);
String [] fileData = extractor.getParagraphText();
for(int i=0;i