用Java打印HTML文本

用Java打印HTML文本,java,printing,awt,Java,Printing,Awt,我正在尝试用Java打印HTML文本,代码如下: Print.printData(Print.findPrintService("HPE85171 (HP Officejet Pro 8600)"), html); //html is a HTML String public static PrintService findPrintService(String printerName) { System.out.println("")

我正在尝试用Java打印HTML文本,代码如下:

Print.printData(Print.findPrintService("HPE85171 (HP Officejet Pro 8600)"), html);  //html is a HTML String

public static PrintService findPrintService(String printerName) {
        System.out.println("");
        PrintService service = null;

        PrintService[] services = PrinterJob.lookupPrintServices();
        
        for (int index = 0; service == null && index < services.length; index++) {
            System.out.println(services[index].getName());
            if (services[index].getName().equalsIgnoreCase(printerName)) {

                service = services[index];
            }
        }
        System.out.println("");
        return service;
}

public static boolean printData(PrintService printService , String printText) {
        try {
            HashDocAttributeSet set = new HashDocAttributeSet();
            SimpleDoc doc = new SimpleDoc(printText.getBytes(), javax.print.DocFlavor.BYTE_ARRAY.AUTOSENSE, set);
            DocPrintJob job = printService.createPrintJob();
            job.print(doc, new HashPrintRequestAttributeSet());
            System.out.println("Job sent to printer succesfully");
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }
Print.printData(Print.findPrintService(“HPE85171(HP Officejet Pro 8600)”),html//html是一个html字符串
公共静态PrintService findPrintService(字符串printerName){
System.out.println(“”);
PrintService=null;
PrintService[]services=PrinterJob.lookupPrintServices();
for(int index=0;service==null&&index
问题是Windows打印机图标出现在系统托盘中,但其工具提示仅显示“0个要打印的文档”。 有人知道我怎么解决这个问题吗