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文件并保存的更多相关文章

  1. WPF: 读取XPS文件或将word、txt文件转化为XPS文件

    读取XPS格式文件或将doc,txt文件转化为XPS文件,效果图如下: 1.XAML页面代码: <Window x:Class="WpfWord.MainWindow" xm ...

  2. WFP: 读取XPS文件或将word、txt文件转化为XPS文件

    读取XPS格式文件或将doc,txt文件转化为XPS文件,效果图如下: 1.XAML页面代码: <Window x:Class="WpfWord.MainWindow"    ...

  3. 怎样将word文件转化为Latex文件:word-to-latex-2.56具体解释

    首先推荐大家读一读这篇博文:http://blog.csdn.net/ibingow/article/details/8613556 --------------------------------- ...

  4. jupyter命令把.ipynb文件转化为.py文件

    jupyter nbconvert --to script *.ipynb 就能把当前文件夹下面的所有的.ipynb文件转化为.py文件

  5. 使用vivado将bit文件转化为mcs文件

    使用vivado将bit文件转化为mcs文件 1.在Tcl Console中运行脚本: write_cfgmem -force -format MCS -size 64 -interface spix ...

  6. 将caj文件转化为pdf文件进行全文下载脚本(ubuntu下亲测有用)

    最近ubuntu下caj阅读器,突然崩掉了,而偏偏要准备开题,在网上搜索原因未果,准备放弃时候,突然在网上看到一个脚本,说是很好用,可以在指定页面将caj文件转化为pdf文件,亲测有用,这里直接给出脚 ...

  7. Netlib文件转化为mps文件

    Netlib文件转化为mps文件 简单方法1 下载并执行: git clone https://github.com/mtanneau/Netlib_experiments.git cd Netlib ...

  8. plink格式文件转化为vcf文件(VCF versions convert)

    plink1.9版本支持转化为VCFv4.2格式 plink2.0版本支持转化为VCFv4.3格式 两个版本用到的命令不一样 对于plink1.9版本,转化为vcf文件的命令行为: plink --b ...

  9. 如何将freemarker文件转化为html文件

    最近在做静态的页面报表服务,将前端生成的ftl文件转化为html格式的文件,供后面合成pdf使用. freemarker基础可以参见:freemarker官方文档 前期准备:需要一个基础的ftl格式的 ...

随机推荐

  1. Vim 文本编辑器的基本使用

    Vim文本编辑器是Linux/Unix系统下最常用的工具之一,通过该工具可以很方便的建立.修改.编辑文档或者程序文件,其作用类似与windows系统下的记事本或者notepad++,因此熟练掌握该工具 ...

  2. Caddy – 方便够用的 HTTPS server 新手教程

    最近发现了一个 golang 开发的 HTTP server,叫做 Caddy,它配置起来十分简便,甚至可以 28 秒配置好一个支持 http2 的 server ,而且对各种 http 新特性都支持 ...

  3. 前端框架VUE----箭头函数

    箭头函数 基本语法: ES6允许使用“箭头”(=>)定义函数 var f = a = > a //等同于 var f = function(a){ return a; } 如果箭头函数不需 ...

  4. 细数那些不懂Spring底层原理带来的伤与痛

    1. 什么是spring? Spring 是个Java企业级应用的开源开发框架.Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用.Spring 框架目标是简化Jav ...

  5. 本地MySQL的root所创建用户登录发生[Access denied for user 'root1'@'localhost' (using password: YES)]错误的解决方案

    1.问题描述: 当在SQLyog中执行以下脚本: CREATE DATABASE IF NOT EXISTS sys; USE sys; CREATE USER root1 IDENTIFIED BY ...

  6. python 3.7 方向键乱码

    原因是缺少安装包libreadline-dev 第一步安装libreadline-dev包:sudo apt-get install libreadline-dev(centos安装:yum -y i ...

  7. pytorch种, 一维Conv1d, 二维Conv2d

    pytorch之nn.Conv1d详解 之前学习pytorch用于文本分类的时候,用到了一维卷积,花了点时间了解其中的原理,看网上也没有详细解释的博客,所以就记录一下. Conv1dclass tor ...

  8. 【题解】Luogu P5072 [Ynoi2015]盼君勿忘

    众所周知lxl是个毒瘤,Ynoi道道都是神仙题,题面好评 原题传送门 一看这题没有修改操作就知道这是莫队题 我博客里对莫队的简单介绍 既然是莫队,我们就要考虑每多一个数或少一个数对答案的贡献是什么 假 ...

  9. openstack cloud init set password

    设置代理和password #!/bin/bash cd /home/ubuntu wget otcloud-gateway.bj.intel.com/script.tar.gz ]; then cu ...

  10. python简说(二十一)开发接口

    一.flask举例 import flaskserver = flask.Flask(__name__)#新建一个服务,把当前这个python文件当做一个服务@server.route('/login ...