//	Decompiled by DJ v3.5.5.77 Copyright 2003 Atanas Neshkov  Date: 16/05/08 10:44:58
//	Home Page : http://members.fortunecity.com/neshkov/dj.html  - Check often for new version!
//	Decompiler options: packimports(3) 


import com.lowagie.text.*;
import com.lowagie.text.pdf.PdfPageLabels;
import com.lowagie.text.pdf.PdfWriter;
import java.io.*;
import java.util.*;

public class PhotoAlbum 
{

	 public PhotoAlbum()
	 {
	 }
	 
	 public void addFiles(File dirFile, TreeSet set){
		File afile[] = dirFile.listFiles();
		if(afile == null)
			 throw new NullPointerException("listFiles() returns null");
		for(int k = 0; k < afile.length; k++){
			if(afile[k].isFile() && afile[k].getName().endsWith("tif")){
				set.add(afile[k]);
			}
			if (afile[k].isDirectory()){
				addFiles(afile[k], set);
			}
		}
	 }


	 public void execute(String dNum)
	 {
		  try
		  {
				File file = new File (dNum);
				String name = file.getName();
				File file1 = new File ("/var/opt/image_migration/testtiff/photoalbum" + name +".pdf");
				Document document = new Document();
				PdfWriter pdfwriter = PdfWriter.getInstance(document, new FileOutputStream(file1));
				pdfwriter.setViewerPreferences(PdfWriter.PageModeUseNone);
				PdfPageLabels pdfpagelabels = new PdfPageLabels();
				TreeSet treeset = new TreeSet();
				
				addFiles(file, treeset);

//			File afile[] = file.listFiles();
//			if(afile == null)
//				 throw new NullPointerException("listFiles() returns null");
//			for(int k = 0; k < afile.length; k++){
//				if(afile[k].isFile() && afile[k].getName().endsWith("tif")){
//					treeset.add(afile[k]);
//				}
//				if (afile[k].isDirectory()){
//					execute(afile[k].getAbsolutePath());
//				}
//			}


//				File afile[] = file.listFiles();
//				if(afile == null)
//					 throw new NullPointerException("listFiles() returns null");
//				for(int k = 0; k < afile.length; k++){
//					if(afile[k].isFile()){
//						treeset.add(afile[k]);
//					}
//				}

				for(Iterator iterator = treeset.iterator(); iterator.hasNext();)
				{
					 File file2 = (File)iterator.next();
					 System.out.println("Testing image: " + file2.getName());
					 try
					 {
						  Image image = Image.getInstance(file2.getAbsolutePath());
						  int i = image.getDpiX();
						  if(i == 0){
							i = 72;
						  }
						  int j = image.getDpiY();
						  if(j == 0){
							j = 72;
						  }
						  float f = (72F * image.getPlainWidth()) / (float)i;
						  float f1 = (72F * image.getPlainHeight()) / (float)j;
						  image.scaleAbsolute(f, f1);
						  document.setPageSize(new Rectangle(f, f1));
						  if(document.isOpen()){
							document.newPage();
						  }
						  else{
							document.open();
						  }
						  image.setAbsolutePosition(0.0F, 0.0F);
						  document.add(image);
						  String s = file2.getName();
						  if(s.lastIndexOf('.') > 0)
								s = s.substring(0, s.lastIndexOf('.'));
						  pdfpagelabels.addPageLabel(pdfwriter.getPageNumber(), 5, s);
						  System.out.println("Added image: " + file2.getName());
					 }
					 catch(Exception exception1)
					 {
						  System.err.println(exception1.getMessage());
					 }
				}

				if(document.isOpen())
				{
					 pdfwriter.setPageLabels(pdfpagelabels);
					 document.close();
				} else
				{
					 System.err.println("No images were found in directory " + file.getAbsolutePath());
				}
		  }
		  catch(Exception exception)
		  {
				System.err.println(exception.getMessage());
		  }
	 }

	 public static void main(String args[])
	 {
		  PhotoAlbum photoalbum = new PhotoAlbum();
		  photoalbum.execute("/isiv_migratie/d004/d878/");
	 }

}