Skip to main content

Merge Tiff Files Input Streams Using Java

SOLVED : Merge Tiff Input Stream list and combine as a single Tiff input stream using java Solution :
public static InputStream mergeTiffFiles(InputStream[] contentElements) throws IOException
  {
   List<BufferedImage> images = new ArrayList<BufferedImage>();
   SeekableStream ss =null;
   try
   { 
     if(contentElements.length==1)
     {
       return contentElements[0];
     }
     //Iterate over each content element positioned at 0,1,2 in Filenet
     for(InputStream contentElement:contentElements)
     {
       ImageDecoder decoder = ImageCodec.createImageDecoder("tiff", contentElement, null);

       int numPages = decoder.getNumPages();
       //Iterate over each page of the given document and add it to list of buffered images
       for(int j = 0; j < numPages; j++)
       {
         PlanarImage op = new NullOpImage(decoder.decodeAsRenderedImage(j), null, null, OpImage.OP_IO_BOUND);
         images.add(op.getAsBufferedImage());
       }
     }
     //write the merged stream to the file combined.tif in the same folder location
     TIFFEncodeParam params = new TIFFEncodeParam();
     FileOutputStream out = new FileOutputStream("combined.tif");
     ImageEncoder encoder = ImageCodec.createImageEncoder("tiff", out, params);
     List<BufferedImage> imageList = new ArrayList<BufferedImage>(); 
     for (int i = 1; i < images.size(); i++)
     {
       imageList.add(images.get(i));
     }
     params.setExtraImages(imageList.iterator());
     encoder.encode(images.get(0));
     out.close();
     // Read the merged tif file and delete after convert to Input stream
     File mergedFile = new File("combined.tif");    
     ss = new FileSeekableStream(mergedFile);
     mergedFile.delete();
    
   }
   catch (Exception e)
   {
     throw new DMFException(Constant.ERROR_WHILE_MERGING_TIFF, e);
   }
    
   return ss;
  }

Comments

Popular posts from this blog

Angular cli ng command is not working

Problem : angular cli command  ng is not working

C:\Windows\System32>ng
'ng' is not recognized as an internal or external command,
operable program or batch file.

Solution :

update .npmrc file at C:\Users\{USERNAME}
with the below line

prefix=${APPDATA}\npm

warning: LF will be replaced by CRLF in

Problem :

The file will have its original line endings in your working directory







Solution:

step1) open .gitconfig file

step2) paste the below code


[core]
autocrlf = false
[filter "lfs"]
required = true
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process


How to remove entity in jhipster and create fresh entities

Problem Statement : Not able to delete jhipster entity and wanted to entities freshly

Solution :

Step 1) Open command prompt and point to the jhipster project root

Step 2) Run  jhipster remove-entity

Step 3) Run jhipster

Step 4) Then import new jdl  using below command

jhipster import-jdl jhipster-jdl.jh

Step 5 ) Then Run  mvnw


Still Problem  : One of the entity may not load data and shows 500 error

Drop the tables in h2 database and let and do mvnw again.

To connect to local database Goto -> Administration -->Database --> Connect