将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格式的 ...
随机推荐
- Redis入门——Java接口
1. maven配置 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis&l ...
- java 泛型E T ?的区别
Java泛型中的标记符含义: E - Element (在集合中使用,因为集合中存放的是元素) T - Type(Java 类) K - Key(键) V - Value(值) N - Number ...
- Firefox 功能笔记
1.复制标签 说明:复制标签功能即新开一个与当前页一样的标签页,这个功能在Chrome中点击标签右键复制即可,但是在firefox中没有 Firefox中实现:Ctrl+拖动标签页
- TCP协议的三次握手
TCP协议是面向连接的通信协议,即在传输数据前先在发送端和接收端建立逻辑连接,然后再传输数据,它提供了两台计算机之间可靠无差错的数据传输. l IP地址:用来唯一表示我们自己的电脑的,是一个网络标示 ...
- Linux基础命令---arp
arp arp指令用来管理系统的arp缓冲区,可以显示.删除.添加静态mac地址.ARP以各种方式操纵内核的ARP缓存.主要选项是清除地址映射项并手动设置.为了调试目的,ARP程序还允许对ARP缓存进 ...
- 转:[C# 开发技巧]如何防止程序多次运行
转载自:http://www.cnblogs.com/zhili/p/OnlyInstance.html 一.引言 最近发现很多人在论坛中问到如何防止程序被多次运行的问题的,如: http://soc ...
- pyspider操作千万级库,pyspider在对接量级较大库的策略
pyspider操作千万级库,pyspider在对接量级较大库的策略 如果是需要pyspider正常的流程去执行,那必然是会在on_strat()时任务执行超时,可能只读取出几万条或十几万条数据就会被 ...
- JustOj 1927: 回文串
题目描述 回文串是从左到右或者从右到左读起来都一样的字符串,试编程判别一个字符串是否为回文串. 输入 输入一个字符串.串长度<255. 输出 判别输入的字符串是否为回文串,是输出"Y& ...
- nfs共享文件搭建
Linux NFS服务器的安装与配置详解 一.NFS服务简介 NFS是Network File System(网络文件系统).主要功能是通过网络让不同的服务器之间可以共享文件或者目录.NFS客户端 ...
- 利用Oracle GoldenGate记录源系统所有表的操作
通过goldengate,可以实现目标表和源表不同结构之间的实时复制,包括记录源系统所有表的变更操作,供ETL或其它审计系统使用. 记录信息包括表名.操作时间.操作SCN,事务标记,操作类型到一个流水 ...