程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

如何通过java或javascript在客户端打印出任意文本内容?

发布于2023-12-25 22:24     阅读(163)     评论(0)     点赞(29)     收藏(5)


我有一个用 Java 编码的网络应用程序。我需要通过选择打印机在客户端打印出文本内容(不是网页)。我可以在服务器端用 Java 做到这一点,但我应该如何在客户端克服呢?

我应该选择 JavaScript 还是 applet?我可以让解决方案在所有打印机中选择一台打印机吗?

提前致谢...


解决方案


您可以使用小程序进行客户端打印。`

public void paint(Graphics g) {
    TextArea display = new TextArea(1, 80);
    try {
        PrintService printService = getPrintService("printerName");
        if(printService == null)
            printService = PrintServiceLookup
                .lookupDefaultPrintService();

        printData(printService , "Printing text");
        g.drawString(
                " \n The Print was Successfull..  ",
                10, 10);
    } catch (Exception e) {
        System.out.println("Exception was thrown. Exception is \t : " + e);
    }
}

将文本打印到选定的打印设备

private boolean printData(PrintService printService , String printText) {
    try {
        SimpleDoc doc;
        doc = new SimpleDoc(printText.getBytes(),
                javax.print.DocFlavor.BYTE_ARRAY.AUTOSENSE, null);
        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;
    }
}

此代码用于在所有打印机中选择一台打印机

private PrintService getPrintService(String name) {
    PrintService pService = null;
    if (name == null || name.trim().length() == 0)
        return null;
    PrintService pServices[] = PrintServiceLookup.lookupPrintServices(null, null);;
    int i = 0;
    do {
        if (i >= pServices.length)
            break;
        String pServiceName = pServices[i].getName();
        if (name.equalsIgnoreCase(pServiceName)) {
            pService = pServices[i];
            break;
        }
        i++;
    } while (true);
    return pService;
}`


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/685774/2cd238b609cf1958f14e/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

29 0
收藏该文
已收藏

评论内容:(最多支持255个字符)