Converting to PDF-creating problem
Hi,
I want to convert MS Office files to PDF. I'm calling a java program
through a servlet for this.
But a blank PDF file is created.
CODE:
package pack;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterJob;
import java.io.FileInputStream;
import javax.print.Doc;
import javax.print.DocFlavor;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.SimpleDoc;
import javax.print.attribute.DocAttributeSet;
import javax.print.attribute.DocAttribute;
import javax.print.attribute.HashDocAttributeSet;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.standard.Copies;
import javax.print.attribute.standard.JobName;
import javax.print.attribute.standard.OrientationRequested ;
public class Printjob {
static public void printPDFPages(String fileLocation) {
try {
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet
();
pras.add(new Copies(1));
pras.add(new JobName(fileLocation, null));
PrintService ps1 = null;
PrintService pss[] = PrintServiceLookup.lookupPrintServices
(null, null);
String printerName = "PDFCreator";
for (int i = 0; i < pss.length; i++)
{
if (pss[i].getName().equalsIgnoreCase(printerName))
{
ps1 = pss[i];
break;
}
}
System.out.println("Default printer: "+ps1.getName());
System.out.println("Printing to " + ps1);System.out.println
("Filename " + fileLocation);
DocAttributeSet attributeSet = new HashDocAttributeSet ();
FileInputStream fin = new FileInputStream(fileLocation);
Doc doc = new SimpleDoc(fin,
DocFlavor.INPUT_STREAM.AUTOSENSE,null);
ps1.createPrintJob().print(doc, pras);
fin.close();
Thread.sleep(30000);
System.out.println("All Done !!");
} catch (Exception ie) {ie.printStackTrace();}
}
}
Please tell where I'm going wrong?