Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void merge() throws IOException, Exception
- {
- List<String> tifs = new ArrayList<>(fileList.keySet());
- Collections.sort(tifs);
- for (String key : tifs)
- {
- List<File> files = fileList.get(key);
- // Sorter når der et behov for at listen er sorteret, ikke mens der hentes ud
- Collections.sort(files);
- boolean firstPage = true;
- // TIFFOldJPEGDecompressor tiffReader = new TIFFOldJPEGDecompressor();
- // ImageReader reader = tiffReader
- TIFFImageReaderSpi tiffReader = new TIFFImageReaderSpi();
- ImageReader reader = tiffReader.createReaderInstance();
- TIFFImageWriterSpi tiffWriter = new TIFFImageWriterSpi();
- ImageWriter writer = tiffWriter.createWriterInstance();
- // this.compression = BaselineTIFFTagSet.COMPRESSION_NONE;
- // if (compression == BaselineTIFFTagSet.COMPRESSION_OLD_JPEG)
- // {
- // System.out.println("Old JPEG compressin.");
- // }
- // TIFFOldJPEGDecompressor tiffReader = new TIFFOldJPEGDecompressor();
- // ImageReader reader = tiffReader.createReaderInstance();
- // TIFFImageWriterSpi tiffWriter = new TIFFImageWriterSpi();
- // ImageWriter writer = tiffWriter.createWriterInstance();
- // ImageWriteParam writeParam = writer.getDefaultWriteParam();
- writeParam.setCompressionMode(TIFFImageWriteParam.MODE_EXPLICIT);
- //
- writeParam.setTIFFCompressor(compressor);
- writeParam.setCompressionType(compressor.getCompressionType());
- // writeParam.setCompressionQuality(0.5f);
- FileImageOutputStream fileImageOutputStream = new FileImageOutputStream(new File(too.getPath() + "\\" + key + ".tif"));
- writer.setOutput(fileImageOutputStream);
- int pageIndex = 0;
- for (File page : files)
- {
- reader.setInput(new FileImageInputStream(page));
- IIOMetadata metadata = reader.getImageMetadata(0);
- if (firstPage)
- {
- //Her læse den første side med header.
- writer.write(null, new IIOImage(reader.readAsRenderedImage(0, null), null, metadata), writeParam);
- firstPage = false;
- }
- else
- {
- // Her læser den så de næste sider
- writer.writeInsert(pageIndex, new IIOImage(reader.readAsRenderedImage(0, null), null, metadata), writeParam);
- }
- pageIndex++;
- }
- writer.dispose();
- }
- JOptionPane.showMessageDialog(rootPane, "Done!");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement