我需要在我的图像视图中预览doxc文件。我发现诸如Docx4j
之类的库,但没有发现创建预览的任何可能性。创建doxc预览的最简单方法是什么?除了将其放入webView
答案 0 :(得分:1)
在将它们显示到Webview时,可以使用以下代码生成.docx
或相关文件的缩略图。
您可以在ImageView中显示加载程序,并使用Picasso,Gilde或其他库加载图像。
您还可以在background task和WeakReference的ImageView对象中生成缩略图(建议),然后在指定的ImageView中显示该缩略图。
方法
加载.docx
文件后,只需获取Webview的快照并将其显示在您指定的ImageView中即可。
代码
//Bitmap Utility
public final class BitmapUtil{
public static Bitmap loadBitmapFromView(View v, int width, int height) {
Bitmap b = Bitmap.createBitmap(width , height, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
v.layout(0, 0, v.getLayoutParams().width, v.getLayoutParams().height);
v.draw(c);
return b;
}
}
//Then You can call this in Your Activity/Fragment's 'onCreate(...)' or 'onCreateView(...)' method:
setContentView(R.layout.YOUR_LAYOUT_FILE);
w = findViewById(R.id.YOUR_WEBVIEW_ID);
w.setWebViewClient(new WebViewClient()
{
public void onPageFinished(WebView view, String url){
try {
Bitmap bmp = BitmapUtil.loadBitmapFromView(view, 100, 100);
YOUR_IMAGE_VIEW.setImageBitmap(bmp);
} catch( Exception e ) {
Log.e("YOUR_TAG", "Error occurred while taking snapshot of webview!, Error = "+e.toString());
}
}
});
w.loadUrl("http://search.yahoo.com/search?p=android");
编辑:
您可以使用以下示例将.docx文件转换为html:https://github.com/orient33/androidDocxToHtml
这是示例活动:
https://github.com/orient33/androidDocxToHtml/blob/aaaaa/app/src/main/java/com/singuloid/docx2html/DocxShow.java
我希望这对您有帮助