如何显示或读取DOCX文件(how to Show or Read docx file)

2019-06-24 04:37发布

我是新来的android的渲染文件,我想呈现或显示在我的应用程序的docx文件。

我已经提取的docx文件中的文本,但现在我想从中提取的docx文件影像。

我已经找到了几种显示在纯Java的图像,但是否有针对Android任何好的例子吗?

我想这个代码来获取图像,但没有工作...

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
                }
            }
        }
    }

Answer 1:

看看AndroidDocxToHtml ,我做在Android上使用docx4j证明。

需要注意几个问题。

首先,该项目并不包括所有docx4j依赖关系,只为DOCX到HTML转换所需要的人。 所以,如果你想要做其他的事情,你可能需要别人的依赖关系。

其次,docx4j需要JAXB -看到这个博客帖子重新JAXB在Android上 -和JAXB一个环境初始应用程序启动时需要根据设备上一段时间。 有办法解决这个问题,但额外的努力。

如果你想要做的是提取图像,你不关心他们如何涉及到的文字,你可以只是看图像部分。 您可以使用OpenXML4J是什么,以及避免JAXB。



Answer 2:

你可以只需要解压缩文件(重命名为.zip并打开它),那么你可以调查的文件夹结构,其中图像位于等等。



Answer 3:

创建Android中的图像最简单的方法是使用BitmapFactory工厂方法。

BitmapFactory类具有用于创建方法Bitmap从一个字节数组,一个文件或一个InputStream。

一旦你有一个Bitmap对象,你可以通过设置其上显示它ImageView使用在你的布局setImageBitmap方法。



文章来源: how to Show or Read docx file