将tiff文件转化为jpg文件并保存

jar包准备 jai-codec和jai-core
主要过程
private boolean parseTifFile(FileItem item) {
logger.info("-------parseTifFile---start----");
try {
InputStream ins = item.getInputStream();
ImageDecodeParam imageDecodeParam = new TIFFDecodeParam();
JPEGEncodeParam param1 = new JPEGEncodeParam();
ImageDecoder imageDecoder = ImageCodec.createImageDecoder("tiff", ins, imageDecodeParam);
int size = imageDecoder.getNumPages();//tif页数
String ApplicationPath = SysVar.getVar("ApplicationPath");//ui所在目录/data/app/Claim-YS2/ui/
String des = SysVar.getVar("TiffAndJPG");//scanningCopy/folder/
String name = item.getName();//投保意向书-李帅.tif
name = name.substring(0,name.lastIndexOf(".tif"));//投保意向书-李帅
// deleteAllFiles(file);//删除image目录以删除原来可能存在的图片
for(int i = 0; i < size; i++){
RenderedImage renderedImage = imageDecoder.decodeAsRenderedImage(i);//单个图片
ParameterBlock arg = new ParameterBlock();
String despath = ApplicationPath + des + "jpg/" + this.mBatchNo + "/" + i + ".jpg";
File file = new File(despath);
if (!file.exists()) {
file.getParentFile().mkdirs();
file.createNewFile();//如果不存在,新建空图片
}
arg.addSource(renderedImage);
arg.add(file.toString());
arg.add("JPEG");
arg.add(param1);
RenderedOp r = JAI.create("filestore", arg);
r.dispose();
//保存于数据库中,这里属于lis框架的内容
T_SAVE_FILESchema tSaveFile = new T_SAVE_FILESchema();
tSaveFile.setBatchNo(this.mBatchNo);
tSaveFile.setName(name + "_" + i + ".jpg");//xxx_0.jpg
tSaveFile.setUrl(despath);
tSaveFile.setFileType("JPEG");
tSaveFile.setMakeDate(PubFun.getCurrentDate());
tSaveFile.setMakeTime(PubFun.getCurrentTime());
this.tMap.put(tSaveFile, "DELETE&INSERT");
}
} catch (Exception ex) {
ex.printStackTrace();
this.tCErrors.addOneError(ex.getMessage());
return false;
}
logger.info("-------parseTifFile----end----");
return true;
}
循环删除某个文件夹下的所有文件
public static void deleteAllFiles(File file){
if(file == null || !file.exists())
return ;
if(file.isDirectory()){
File[] files = file.listFiles();
if(files != null){
for(File f : files)
deleteAllFiles(f);
}
}
file.delete();
}
将tiff文件转化为jpg文件并保存的更多相关文章
- WPF: 读取XPS文件或将word、txt文件转化为XPS文件
读取XPS格式文件或将doc,txt文件转化为XPS文件,效果图如下: 1.XAML页面代码: <Window x:Class="WpfWord.MainWindow" xm ...
- WFP: 读取XPS文件或将word、txt文件转化为XPS文件
读取XPS格式文件或将doc,txt文件转化为XPS文件,效果图如下: 1.XAML页面代码: <Window x:Class="WpfWord.MainWindow" ...
- 怎样将word文件转化为Latex文件:word-to-latex-2.56具体解释
首先推荐大家读一读这篇博文:http://blog.csdn.net/ibingow/article/details/8613556 --------------------------------- ...
- jupyter命令把.ipynb文件转化为.py文件
jupyter nbconvert --to script *.ipynb 就能把当前文件夹下面的所有的.ipynb文件转化为.py文件
- 使用vivado将bit文件转化为mcs文件
使用vivado将bit文件转化为mcs文件 1.在Tcl Console中运行脚本: write_cfgmem -force -format MCS -size 64 -interface spix ...
- 将caj文件转化为pdf文件进行全文下载脚本(ubuntu下亲测有用)
最近ubuntu下caj阅读器,突然崩掉了,而偏偏要准备开题,在网上搜索原因未果,准备放弃时候,突然在网上看到一个脚本,说是很好用,可以在指定页面将caj文件转化为pdf文件,亲测有用,这里直接给出脚 ...
- Netlib文件转化为mps文件
Netlib文件转化为mps文件 简单方法1 下载并执行: git clone https://github.com/mtanneau/Netlib_experiments.git cd Netlib ...
- plink格式文件转化为vcf文件(VCF versions convert)
plink1.9版本支持转化为VCFv4.2格式 plink2.0版本支持转化为VCFv4.3格式 两个版本用到的命令不一样 对于plink1.9版本,转化为vcf文件的命令行为: plink --b ...
- 如何将freemarker文件转化为html文件
最近在做静态的页面报表服务,将前端生成的ftl文件转化为html格式的文件,供后面合成pdf使用. freemarker基础可以参见:freemarker官方文档 前期准备:需要一个基础的ftl格式的 ...
随机推荐
- 20165305 苏振龙《Java程序设计》第四周课上测试补做
第一次测试 第二次测试 第三次测试 上传代码 第四次测试 总结 之前我一直在git bash进行程序设计,但是对于我来说操作起来有点困难,所以我改用了虚拟机,之后之前一直困扰我的问题在虚拟机下就没有了 ...
- go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE
go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE Go语言是谷歌2009发布的专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速 ...
- [转载]dbms_lob用法小结
http://blog.sina.com.cn/s/blog_713978a50100prkt.html CLOB里存的是2进制 判定长度 DBMS_LOB.GETLENGTH(col1)获取文本 ...
- C#中对Web.Config、App.Config字符串加密与解密的方法
我们平常的项目里面的配置文件通常都是明文形式的存在,现在就是为了项目安全性增强,同时又显得高逼格点, 我们可以采用加密的方式,而我们C#很强大,因为他内置的一些指令方式,很方便而且使用起来还不用解密, ...
- kali linux常用软件配置记录
首先膜一波,认真细致,简明有效. 感谢原博主的分享,留作参考. https://www.cnblogs.com/youfang/p/5272746.html
- tomcat 启动时遇到org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs
当发生这样的错误的时候 org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet ...
- yocto doc
Yocto Project Overview and Concepts Manual https://www.yoctoproject.org/docs/2.6.1/overview-manual/o ...
- Error: could not open `C:\Java\jre7\lib\amd64\jvm.cfg'
在运行cmd黑窗口时候出现:Error: could not open `C:\Java\jre7\lib\amd64\jvm.cfg'这样的错误的时候,本人没有删除任何文件,只是重新配置了一下jdk ...
- yii2 mysql根据多个字段的数据计算排序
mysql根据多个字段的数据计算排序 select *,num1+num2*10+num3*100 num from $tableName order by num desc yii2框架活动记录ac ...
- Linux 流量监控工具 iftop
Linux 流量监控工具 iftop Iftop工具主要用来显示本机网络流量情况及各相互通信的流量集合,如单独同哪台机器间的流量大小,非常适合于代理服务器和iptables服务器使用,这样可以方便的查 ...