как показать или прочитать файл docx

Я новичок в рендеринге файлов в Android, и я хочу рендерить или отображать файл DOCX в моем приложении.

Я уже извлек текст из файла DOCX, но теперь я хочу также извлечь изображения из файла DOCX.

Я нашел несколько способов отображения изображений на чистом Java, но есть ли хорошие примеры для Android?

Я пытался этот код для получения изображений, но не работает ...

<code>public void extractImages(Document xmlDoc)
{
    NodeList binDataList = xmlDoc.getElementsByTagName("w:drawings");
    String fileName = "";
    Node currentNode;
    for(int i = 0; i < binDataList.getLength(); i++)
    {
        currentNode = binDataList.item(i);
        if(currentNode.getNodeType() == Node.ELEMENT_NODE && ((Element)currentNode).hasAttribute("w:name"))
        {               
            File newImageFile = new File(picDirectory, ((Element)currentNode).getAttribute("w:name").replaceFirst("wordml://", ""));
            if(newImageFile.exists())
            {

            }
            else
            {
                if(writeImage(newImageFile, currentNode))
                {
                    //Print some success message
                }
            }
        }
    }
</code>

Ответы на вопрос(3)

AndroidDocxToHtml, который я сделал, чтобы продемонстрировать использование docx4j на Android.

Пара предостережений.

Во-первых, этот проект включает не все зависимости docx4j, а только те, которые необходимы для преобразования docx в HTML. Поэтому, если вы хотите заняться другими делами, вам могут понадобиться другие зависимости.

Во-вторых, docx4j требует JAXB - смотритеэтот пост в блоге повторно JAXB на Android - и JAXB context init при запуске приложения занимает некоторое время в зависимости от устройства. Есть способы обойти это, но с дополнительными усилиями.

Если все, что вы хотите сделать, это извлечь изображения, и вам все равно, как они соотносятся с текстом, вы можете просто искать части изображения. Вы могли бы использоватьOpenXML4J для этого и избегать JAXB.

BitmapFactory заводские методы.

BitmapFactory класс имеет методы для созданияBitmap из байтового массива, файла или InputStream.

Как только у вас естьBitmap объект, который вы можете отобразить, установив его наImageView в вашем макете, используяsetImageBitmap метод.

затем вы можете исследовать структуру папок, где находятся изображения и т. Д.

ВАШ ОТВЕТ НА ВОПРОС