将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();
}

原文地址:https://www.cnblogs.com/goujh/p/8434573.html

时间: 2024-08-01 21:00:49

将tiff文件转化为jpg文件并保存的相关文章

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

最近ubuntu下caj阅读器,突然崩掉了,而偏偏要准备开题,在网上搜索原因未果,准备放弃时候,突然在网上看到一个脚本,说是很好用,可以在指定页面将caj文件转化为pdf文件,亲测有用,这里直接给出脚本链接和安装方式,,甚是感谢 原文地址:https://www.cnblogs.com/ilym/p/8588235.html

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

jupyter nbconvert --to script *.ipynb 就能把当前文件夹下面的所有的.ipynb文件转化为.py文件 原文地址:https://www.cnblogs.com/xinmomoyan/p/10700041.html

Netlib文件转化为mps文件

Netlib文件转化为mps文件 下载地址 建立emps.c文件内容如下 /* Expand compressed LP programs (in netlib format) to MPS format. * This is similar to the Fortran program emps.f , except that it * understands command-line arguments, including the -m option, * which causes "my

将verilog文件转化为bsf文件

Block Symbol File——块符号文件,后缀为.bsf. Block Design File——块设计文件,后缀为.bdf. bdf文件针对整个设计,相当于电路原理图,而bsf文件针对设计中某一个功能实现,相当于原理图中的某个元件. 通过将verilog HDL文件转化得到bsf文件,加入到bdf文件中,有利于系统的模块化和可视化设计. 下面介绍如何转化: 打开verilog HDL文件,通过File--Create/Update--Create Symbole Files For C

使用pyqt5将QT的ui文件转化为py文件

QT是目前非常常用的GUI设计工具,其面向对象的编程属性使得对于界面的调节和控件的响应事件编辑非常方便. pyqt5是基于python环境的一套函数库,可以将QT的ui文件转换成py文件,方便与python语言的算法统一管理 下面是生成py格式的ui文件的简单流程 首先利用QTDesigner生成一个我们需要的ui文件,如下图所示 接下来将ui文件转换成python代码文件,在cmd中将当前路径设置为ui文件所在的位置,使用pyuic5命令 pyuic5 -o ui.py bus_direct.

如何将html文件转化为jsp文件

今天在敲DRP(资源分销系统的时候),原来的系统的有一部分页面上的代码,但是他是html的,而我在做的时候需要将他转化为jsp的页面,本来是一个很小的问题,一个百度F2就能解决的问题,我弄了半个多小时!哎,自己太笨了! 先讲一下将html页面,转化为jsp页面的两种方式! 第一种方式,先new一个jsp页面,然后将原来的按个html里的内容,复制出来,然后将 jsp文件中的除下边代码以后的代码覆盖掉就可以了! <span style="font-size:24px;">&l

C++ 利用 libxl 将 Excel 文件转化为 Xml 文件

在游戏开发工作中,策划和运营一般会用Excel来编写配置文件,但是程序读取配置,最方便的还是xml文件.所以最好约定一个格式,然后在二者之间做一个转化. 本文利用libxl来读取Excel文件,利用 timyxml2 来写入xml文件 libxl3.65破解版 : http://pan.baidu.com/s/1boYaeRl  提取码:3xbe tinyxml2 源码: https://github.com/leethomason/tinyxml2 #include <stdio.h> #i

在webstorm 将less文件转化为css文件

首先要在webstorm中下载node.js 然后安装less文件 LEss文件安装在:http://www.1024i.com/demo/less/C:\Users\Administrator\AppData\Roaming\npm\node_modules\less\bin\lessc用于引入.less文件 less文件的修改 cd到你的less文件路径下E:\9dayshixun>cd 20161210 E:\9dayshixun\20161210>cd less E:\9dayshix

Java Poi包将xlsx文件转化为csv文件

1:首先导入poi-3.12-beta1同级目录下的所有包,然后再导入ooxml-lib文件夹下的所有包 2: //前面的是源文件的路径,要全 .后面的是目标文件夹,不要写文件的具体名字 ToCSV tcsv = new ToCSV(); tcsv.convertExcelToCSV("C:\\Users\\Administrator\\Desktop\\BigData\\Simpheno.xlsx", "C:\\Users\\Administrator\\Desktop\\