Skip to Main Content

Java SE (Java Platform, Standard Edition)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

PrintService in java not doing anything

User_05JKYMar 14 2021

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 java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
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)
is.close();

}
}

}

this is capture of the printer queue when i choosing printer in the dialog and click "print":
https://i.stack.imgur.com/UgyYR.png

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:

Desktop.getDesktop().print(f);

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

Comments

Post Details

Added on Mar 14 2021
0 comments
304 views