ITPUB??ì3
ITPUB论坛 » Java入门与认证版 » 如何用java为文件生成缩略图


标题: 如何用java为文件生成缩略图
离线 juan002
中级会员



精华贴数 0
个人空间 0
技术积分 2342 (633)
社区积分 0 (1435007)
注册日期 2007-6-21
论坛徽章:18
生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠
生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠

发表于 2008-5-13 15:20 
如何用java为文件生成缩略图

我想在网页上点击链接打开一个本地文件的缩略图,包括MS Office文档,PDF,HTML,XML,TXT,RTF等等,就是此类文件,然后希望能够在直接点击打开它之前,可以通过缩略图判断是不是自己实际想要的文件,可以理解为预览。

我有两个想法
1. 读取文件,然后按照文件的原有格式在弹出的<div>中显示:例如使用POI解析word,然后显示。
2. 将文件转换为图片,然后将图片BufferedImage和ImageIO做成缩略图,然后将图片显示在弹出的<div>上。

第一种想法,我可以通过POI解析文件的格式,但是没有找到方法将解析出来的流在网页上按照原有格式显示。
第二种想法,还没有找到将文件转换为图片的方法(不用剪贴板,用java code实现),可以做一个虚拟打印机,但是很有困难。

请问谁做过这种需求吗?有什么解决方法吗?

我查了一下:和google desk的(预览 + 缩略图)功能一样的需求。


只看该作者    顶部
离线 juanpeng
中级会员



精华贴数 0
个人空间 0
技术积分 2788 (517)
社区积分 0 (1435006)
注册日期 2007-6-21
论坛徽章:26
开发板块每日发贴之星开发板块每日发贴之星生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠
生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠

发表于 2008-5-13 15:20 
public static boolean scale(String imagepath,String newpath){
// 返回一个 BufferedImage,作为使用从当前已注册 ImageReader 中自动选择的 ImageReader 解码所提供 File 的结果

BufferedImage image=null;
try {
image = ImageIO.read(new File(imagepath));
} catch (IOException e) {
System.out.println("读取图片文件出错!"+e.getMessage());
return false;
}

// Image Itemp = image.getScaledInstance(300, 300, image.SCALE_SMOOTH);
double Ratio = 0.0;

if ((image.getHeight() > 300) ||(image.getWidth() > 300)) {
if (image.getHeight() > image.getWidth())
//图片要缩放的比例
Ratio = 300.0 / image.getHeight();
else
Ratio = 300.0 / image.getWidth();
}
// 根据仿射转换和插值类型构造一个 AffineTransformOp。
AffineTransformOp op = new AffineTransformOp(AffineTransform
.getScaleInstance(Ratio, Ratio), null);
// 转换源 BufferedImage 并将结果存储在目标 BufferedImage 中。
image = op.filter(image,null);
//image.getScaledInstance(300,300,image.SCALE_SMOOTH);


FileOutputStream out=null;
try {
out = new FileOutputStream(newpath);
ImageIO.write((BufferedImage)image,"bmp",out);
out.close();
} catch (Exception e) {
System.out.println("写图片文件出错!!"+e.getMessage());
return false;
}
return true;
}


只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问