Sil*_*ler 11 java android ms-word docx
我是新手在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
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
看一下AndroidDocxToHtml,我在Android上使用docx4j进行演示.
几个警告.
首先,该项目不包括所有docx4j依赖项,只包括docx到HTML转换所需的依赖项.因此,如果您想要做其他事情,您可能需要其他依赖项.
其次,docx4j需要JAXB - 请参阅此博客文章在Android上使用 JAXB - 并且应用启动时的JAXB上下文init需要一段时间,具体取决于设备.有办法解决这个问题,但要付出额外的努力.
如果您只想提取图像,而不关心它们与文本的关系,您可以只查找图像部分.您可以使用OpenXML4J,并避免使用JAXB.
在Android中创建图像的最简单方法是使用BitmapFactory工厂方法.
所述BitmapFactory类具有用于创建方法Bitmap从一个字节数组,一个文件或一个InputStream.
获得Bitmap对象后,可以ImageView使用该setImageBitmap方法在布局中将其设置为对象.
| 归档时间: |
|
| 查看次数: |
3146 次 |
| 最近记录: |