Code for printing an html file.
I have the following code for printing an html file from within a program.
I pass a String with the html code in textString.
I get this error message:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: services must be non-null and non-empty
at javax.print.ServiceUI.printDialog(Unknown Source)
at PrintHtml.printHtml(PrintHtml.java:24)
Please help as I don't understand what is incorrect.
Thanks,
RON C
Code:
import javax.print.Doc;
import javax.print.DocFlavor;
import javax.print.DocPrintJob;
import javax.print.PrintException;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.ServiceUI;
import javax.print.SimpleDoc;
import javax.print.attribute.DocAttributeSet;
import javax.print.attribute.HashDocAttributeSet;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
class PrintHtml
{
public void printHtml(String textString)
{
DocFlavor flavor = DocFlavor.STRING.TEXT_HTML;
PrintService[] services = PrintServiceLookup.lookupPrintServices(
flavor, null);
PrintService defaultService = PrintServiceLookup
.lookupDefaultPrintService();
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
PrintService service = ServiceUI.printDialog(null, 50, 50, services,
defaultService, flavor, pras);
if (service != null)
{
DocPrintJob job = service.createPrintJob();
DocAttributeSet das = new HashDocAttributeSet();
Doc doc = new SimpleDoc(textString, flavor, das);
try
{
job.print(doc, pras);
}
catch (PrintException pe)
{
}
}
}
}