今日长缨在手,何时缚住苍龙。这篇文章主要讲述Java Applet PDF打印相关的知识,希望能为你提供帮助。
我正在尝试构建一个java applet,它打印PDF文件并将其发送到标签打印机而不是默认值。我探索了desktop.print,但无法确定如何指定打印机。
【Java Applet PDF打印】这是我的代码,我试图寻找解决方案,但已经结束了。我已经签署了applet,它给我的错误只是说应用程序错误0
import java.io.*;
import java.net.*;
import javax.swing.*;
import java.awt.print.*;
import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.*;
public class printPDF extends JApplet {public void init(){
String uri = System.getProperty("user.home") + "\jobbase\print.pdf";
DocFlavor flavor = DocFlavor.INPUT_STREAM.PDF;
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
aset.add(new PrinterName("label", null));
aset.add(new Copies(1));
PrintService[] pservices =
PrintServiceLookup.lookupPrintServices(flavor, aset);
if (pservices.length >
0) {DocPrintJob printJob = pservices[0].createPrintJob();
try{
FileInputStream fis = new FileInputStream(uri);
Doc doc = new SimpleDoc(fis, flavor, null);
try {
printJob.print(doc, aset);
} catch (PrintException e) {
System.err.println(e);
}} catch(IOException ioe){
ioe.printStackTrace(System.out);
}
} else {
System.err.println("No suitable printers");
}
}
}
答案您不能将PDF发送到打印机,除非您知道它可以理解。大多数情况下,您需要在客户端上栅格化它。我写了一篇博客文章,解释了http://www.jpedal.org/PDFblog/2010/01/printing-pdf-files-from-java/的选项
另一答案您好,您可以查看此博客文章http://bfo.com/blog/2009/09/28/silently_print_a_pdf_from_a_web_browser.html
另一答案如果您知道打印机的名称,则可以实现此目的。在一个客户端我需要静音打印:如果有一个名为
appprinter
的打印机,我使用它,如果不是我尝试使用默认打印机。这很好。对于打印我使用ICEPDF。
Kate:感谢您的建议,老实说IcePDF非常简单,这个例子包含在源代码中,您可以从上面的链接下载。为了获得所需的PrinterService(aka打印机),您可以删除键盘请求的所有用户输入,只需使用具有所需名称的用户输入。
因此,在5.0.5版中:[install-folder] /examples/printservices/PrintService.java
- 删除用户对printservice的选择:第106到155行
- 改为:
PrintService selectedService=null; for (int j=0; j< services.length; j++) { if ("myprintername".equalsIgnoreCase(services[j].getName())) { selectedService=aux[j]; } }
最好的祝福。
推荐阅读
- 'appletviewer'未被识别为内部或外部命令,可操作程序或批处理文件
- 如何在Apple Connect中获取ProductID((在App中购买))
- 如何从applet增加发布请求内容限制
- 如何在窗口更改时动态调整applet组件的大小()
- Javacard可共享接口(lookupAID返回AID但getAppletShareableInterface返回null)
- applet - 浏览器不显示java applet
- Applet加载来自不同域的jar;从坛子加载资源(例如图像)有问题
- JApplet(设置框架的大小)
- 无法读取AppletViewer属性文件 - Applet