Forum Stats

  • 3,757,549 Users
  • 2,251,244 Discussions


PrintService in java not doing anything

User_05JKY Member Posts: 1 Green Ribbon

i trying to print some doc that i have with java application.

but when i choosing the printer its adding the file to the printer queue but nothing happend after the queue cleared.

this is my code:





  import javax.print.*;

  import javax.print.attribute.HashPrintRequestAttributeSet;

  import javax.print.attribute.PrintRequestAttributeSet;

  import javax.print.attribute.standard.JobName;


  public class test {


   public static void main(String[] args) throws PrintException, IOException {

   PrintRequestAttributeSet attrs = new HashPrintRequestAttributeSet();


   PrintService[] services = PrintServiceLookup.lookupPrintServices(DocFlavor.SERVICE_FORMATTED.PAGEABLE, attrs);

   PrintService service = PrintServiceLookup.lookupDefaultPrintService();


   PrintService selection = ServiceUI.printDialog(null, 200, 200, services, service, null, attrs); 

   if(selection != null)


   String fileName = "C:\\Temp\\test.docx";

   File f = new File(fileName);


   InputStream is = new FileInputStream(f);


   DocPrintJob job = selection.createPrintJob();


   SimpleDoc doc = new SimpleDoc(is, DocFlavor.INPUT_STREAM.AUTOSENSE, null);


   PrintRequestAttributeSet jAttrs = new HashPrintRequestAttributeSet();

   jAttrs.add(new JobName(fileName, null));


   job.print(doc, jAttrs);


   if(is != null)







this is capture of the printer queue when i choosing printer in the dialog and click "print":

and in my printer there is no information about printing job...

when i print this file from the pc and not from the app its working perfect.

and when i using this java code: 


its printing perfect.

but its not what i want, i want that the user will choose printer in the dialog.