我需要发送pdf文档以在Web应用程序的服务器端进行打印,打印机完全支持pdf打印等,它也可以联网到服务器. pdf也存储在服务器上.

我想要的是单击按钮,打印出pdf文件,目前我的代码如下:

//Server side printing

public class PrintDocument {

public void printText(String text) throws PrintException, IOException {

//Looks for all printers

//PrintService[] printServices = PrinterJob.lookupPrintServices();

PrintService service = PrintServiceLookup.lookupDefaultPrintService();

InputStream is = new ByteArrayInputStream(text.getBytes("UTF8"));

PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();

pras.add(new Copies(1));

DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;

Doc doc = new SimpleDoc(is, flavor, null);

DocPrintJob job = service.createPrintJob();

PrintJobWatcher pjw = new PrintJobWatcher(job);

job.print(doc, pras);

pjw.waitForDone();

is.close();

}

}

class PrintJobWatcher {

boolean done = false;

PrintJobWatcher(DocPrintJob job) {

job.addPrintJobListener(new PrintJobAdapter() {

public void printJobCanceled(PrintJobEvent pje) {

allDone();

}

public void printJobCompleted(PrintJobEvent pje) {

allDone();

}

public void printJobFailed(PrintJobEvent pje) {

allDone();

}

public void printJobNoMoreEvents(PrintJobEvent pje) {

allDone();

}

void allDone() {

synchronized (PrintJobWatcher.this) {

done = true;

System.out.println("Printing has successfully completed, please collect your prints)");

PrintJobWatcher.this.notify();

}

}

});

}

public synchronized void waitForDone() {

try {

while (!done) {

wait();

}

} catch (InterruptedException e) {

}

}

}

但是我有几个问题/问题,如何将pdf放入要打印的输入流中,我可以选择诸如双面打印之类的选项,又如何从JSF Web应用程序内部调用它

谢谢

java 远程打印机_使用Java打印到网络打印机相关推荐

  1. java 虚拟打印机_纯java虚拟打印机

    import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.print.PageFor ...

  2. java 远程打印机_如何使用Java在网络打印机上打印?

    如果Java AWT Printing未注册到运行打印应用程序的Windows / Active Directory用户,则它将无法通过路径找到该打印机.您必须通过Windows"设备和打印 ...

  3. java windows 打印机_使用Java中的客户端计算机打印机(不是部署应用程序的服务器)进行打印...

    我使用Spring开发了一个使用Java 8的应用程序 . 用户故事是客户端应该选择要打印的许多文档(PDF),然后按一个按钮并将它们全部打印到默认的客户端机器打印机(浏览器中的Ctrl P功能在尝试 ...

  4. 配置Java远程监控授权(Java Mission Control)

    配置Java远程监控授权(Java Mission Control) 转载URL:  http://www.icoolxue.com/blog/show/9 最近公司做的项目有比较严重的内存溢出问题, ...

  5. java socket 打印机_思普瑞特,小票打印机和标签打印机java网络驱动设计与实现...

    网络打印走的socket连接,主流的java, php, c, c#等语言都支持socket,所以实现打印机的网络打印几乎是和语言无关的 打印机默认端口是9100 使用socket连接上打印机后,将打 ...

  6. java robot 对象_用Java Robot对象实现服务器屏幕远程监视

    用Java Robot对象实现服务器屏幕远程监视 作者:李鲁群 摘要: 有时候,在Java应用程序开发中,如:远程监控或远程教学,常常需要对计算机的屏幕进行截取,由于屏幕截取是比较接近操作系统的操作, ...

  7. linux java远程调试_[转]JPDA:Java平台调试架构(常用的远程调试方法)

    原文出处:http://www.javaeye.com/topic/75128 最近使用WTP的Server功能很不爽,连tomcat服务器时java类中的任何改动都要重启服务器,一怒之下就改用JPD ...

  8. java远程关机_通过jsch实现对linux服务器的shell客户端远程控制关机完整示例代码分享...

    一.前言 由于前些阵子想找个ssh客户端 for android实现在手机上可以远程控制Centos服务器实现在手机上远程关机操作,找了一圈没有合适的,因此自己想通过linux的客户端接入包jsch实 ...

  9. java 线程转储_获取Java线程转储的常用方法(推荐)

    1. 线程转储简介 线程转储(Thread Dump)就是JVM中所有线程状态信息的一次快照. 线程转储一般使用文本格式, 可以将其保存到文本文件中, 然后人工查看和分析, 或者使用工具/API自动分 ...

最新文章

  1. java中的assert
  2. 数据结构例程——线性表顺序存储的应用
  3. 【山西】2021年下半年软考报考时间及通知
  4. asp.net MVC3 弹出窗口里嵌一个View代码
  5. 【ASP.NET开发】.NET三层架构简单解析
  6. Android之android.os.NetworkOnMainThreadException异常
  7. slf4j 桥接与被桥接_合成和桥接方法
  8. 编写junit 测试_使用JUnit和Repeat注​​释编写有效的负载测试
  9. Mars——基于矩阵的统一分布式计算框架
  10. ipa 上传卡在鉴权_Application Loader上传app,一直卡在“正在通过 App Store 进行鉴定”...
  11. Java等调用python深度学习训练的模型(待完成)
  12. 百度网盘搜索功能伪增强
  13. 一次全链路压测-总结
  14. SharePoint 使用 CMOS 上传、下载、删除文件,新增文件夹
  15. 软件测试面试中会问的几个方面
  16. 电脑连不上网络,怎么办?
  17. P1000 超级玛丽游戏
  18. highCharts滚动条在火狐浏览器中的坑
  19. Flask项目学习(一)——sayHello
  20. 多租户实现之基于Mybatis、Mycat的共享数据库,共享数据架构

热门文章

  1. 在MATLAB中如何读取心音信号,基于Matlab的心音信号分析比较研究_问答库
  2. asp.net中对URL的一些操作
  3. 小知识:linux中的./configure --prefix和--host的作用
  4. NC57相关表一些记录
  5. codeforces 324# E. Anton and Ira (暴力枚举+贪心)
  6. Linux内核之 内核同步
  7. 数字水印算法分类以及区别(含有变换域python代码链接)
  8. lua游戏脚本实例源码_在nginx中使用强大的lua实现定向需求
  9. Android动态壁纸详解
  10. 元强化学习系列(1)之:元学习入门基础