试试如下代码import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.*;
import java.io.*;public class PrintFileTest{    public static String TMP_FILE="C:\\172.gif";
    public static void main(String[] args){
      String filename = TMP_FILE;
      PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
      DocFlavor flavor = DocFlavor.INPUT_STREAM.GIF;
      PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras);
      PrintService defaultService =   PrintServiceLookup.lookupDefaultPrintService();
      PrintService service = ServiceUI.printDialog(null, 200, 200,printService, defaultService, flavor, pras);
      if (service != null) {
        try
        {
          DocPrintJob job = service.createPrintJob();
          FileInputStream fis = new FileInputStream(filename);
          DocAttributeSet das = new HashDocAttributeSet();
          Doc doc = new SimpleDoc(fis, flavor, das);
          job.print(doc, pras);
     //     Thread.sleep(10000);
        }catch(Exception e)
        {
          e.printStackTrace();
        }
      }
      System.exit(0);
    }
}下面是的PDF是Java中那两个打印包的用法,还有例子,大家可以下下来看看。
http://java.sun.com/j2se/1.4.2/pdf/JPS_PDF.pdf