Advertisement
Guest User

Untitled

a guest
Oct 14th, 2014
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.80 KB | None | 0 0
  1. public void merge() throws IOException, Exception
  2. {
  3. List<String> tifs = new ArrayList<>(fileList.keySet());
  4. Collections.sort(tifs);
  5. for (String key : tifs)
  6. {
  7. List<File> files = fileList.get(key);
  8.  
  9. // Sorter når der et behov for at listen er sorteret, ikke mens der hentes ud
  10. Collections.sort(files);
  11. boolean firstPage = true;
  12. // TIFFOldJPEGDecompressor tiffReader = new TIFFOldJPEGDecompressor();
  13. // ImageReader reader = tiffReader
  14. TIFFImageReaderSpi tiffReader = new TIFFImageReaderSpi();
  15. ImageReader reader = tiffReader.createReaderInstance();
  16. TIFFImageWriterSpi tiffWriter = new TIFFImageWriterSpi();
  17. ImageWriter writer = tiffWriter.createWriterInstance();
  18.  
  19. // this.compression = BaselineTIFFTagSet.COMPRESSION_NONE;
  20. // if (compression == BaselineTIFFTagSet.COMPRESSION_OLD_JPEG)
  21. // {
  22. // System.out.println("Old JPEG compressin.");
  23. // }
  24.  
  25. // TIFFOldJPEGDecompressor tiffReader = new TIFFOldJPEGDecompressor();
  26. // ImageReader reader = tiffReader.createReaderInstance();
  27. // TIFFImageWriterSpi tiffWriter = new TIFFImageWriterSpi();
  28. // ImageWriter writer = tiffWriter.createWriterInstance();
  29. // ImageWriteParam writeParam = writer.getDefaultWriteParam();
  30. writeParam.setCompressionMode(TIFFImageWriteParam.MODE_EXPLICIT);
  31. //
  32. writeParam.setTIFFCompressor(compressor);
  33. writeParam.setCompressionType(compressor.getCompressionType());
  34. // writeParam.setCompressionQuality(0.5f);
  35.  
  36. FileImageOutputStream fileImageOutputStream = new FileImageOutputStream(new File(too.getPath() + "\\" + key + ".tif"));
  37. writer.setOutput(fileImageOutputStream);
  38. int pageIndex = 0;
  39. for (File page : files)
  40. {
  41. reader.setInput(new FileImageInputStream(page));
  42. IIOMetadata metadata = reader.getImageMetadata(0);
  43. if (firstPage)
  44. {
  45. //Her læse den første side med header.
  46. writer.write(null, new IIOImage(reader.readAsRenderedImage(0, null), null, metadata), writeParam);
  47. firstPage = false;
  48. }
  49. else
  50. {
  51. // Her læser den så de næste sider
  52. writer.writeInsert(pageIndex, new IIOImage(reader.readAsRenderedImage(0, null), null, metadata), writeParam);
  53. }
  54. pageIndex++;
  55. }
  56. writer.dispose();
  57. }
  58. JOptionPane.showMessageDialog(rootPane, "Done!");
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement