gpt4 book ai didi

java - Java Applet 可以使用打印机吗?

转载 作者:搜寻专家 更新时间:2023-10-30 21:25:23 24 4
gpt4 key购买 nike

Java Applet 能否将文本/html 轻松打印到标准打印机驱动程序(适用于所有常见平台 Win/Mac/Linux)?

是否需要签名?

最佳答案

要打印,您需要使用 Signed Applets或者,如果未签名的小程序尝试打印,系统将提示用户询问是否允许权限。

下面是一些使用 JEditorPane 打印 HTML 的示例代码:

public class HTMLPrinter implements Printable{
private final JEditorPane printPane;

public HTMLPrinter(JEditorPane editorPane){
printPane = editorPane;
}

public int print(Graphics graphics, PageFormat pageFormat, int pageIndex){
if (pageIndex >= 1) return Printable.NO_SUCH_PAGE;

Graphics2D g2d = (Graphics2D)graphics;
g2d.setClip(0, 0, (int)pageFormat.getImageableWidth(), (int)pageFormat.getImageableHeight());
g2d.translate((int)pageFormat.getImageableX(), (int)pageFormat.getImageableY());

RepaintManager rm = RepaintManager.currentManager(printPane);
boolean doubleBuffer = rm.isDoubleBufferingEnabled();
rm.setDoubleBufferingEnabled(false);

printPane.setSize((int)pageFormat.getImageableWidth(), 1);
printPane.print(g2d);

rm.setDoubleBufferingEnabled(doubleBuffer);

return Printable.PAGE_EXISTS;
}
}

然后将其发送到打印机:

HTMLPrinter target = new HTMLPrinter(editorPane);
PrinterJob printJob = PrinterJob.getPrinterJob();
printJob.setPrintable(target);
try{
printJob.printDialog();
printJob.print();
}catch(Exception e){
e.printStackTrace();
}

关于java - Java Applet 可以使用打印机吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/438397/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com