构建打印任务方式不同:

1:直接通过指定的打印机创建打印任务

DocPrintJob  job= myPrintService.createPrintJob();

2:手动创建打印任务,再与指定的打印机进行关联

PrinterJob job=PrinterJob.getPrinterJob();

job.setPrintServie(myPrintService);

执行打印任务方式不同:

1、简单,将指定文件路径变为打印数据,直接进行打印

PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();

Doc myDoc = new SimpleDoc(new File(""), flavor, null);

job.print(myDoc,pras);

2、复杂,需要将指定的文件转换为PDF流到内存,并指定好打印纸张相关属性,最后进行打印

PDDocument myDoc=PDDocument.load(new File(""));

Paper paper = new Paper();

paper.setSize(252, 141); // 打印的页面的属性。

paper.setImageableArea(0, 5, paper.getWidth(), paper.getHeight()); // 页面上用来打印的区域。 左上角的 X 坐标,Y 坐标,区域宽度,高度

PageFormat pageFormat = new PageFormat();

pageFormat.setPaper(paper);//为此 PageFormat 设置 Paper 对象

Book book = new Book();//Book 类提供文档的表示形式,该文档的页面可以使用不同的页面格式和页面 painter。此类使用 Pageable 接口与 PrinterJob 交互。

book.append(new PDFPrintable(document), pageFormat, document.getNumberOfPages());//将多个页面追加到此 Book 的尾部。

//查询 document,以获得页面数和 Pageable 实例 document 中保存的每个页面的 PageFormat 和 Printable。

job.setPageable(new PDFPageable(document, Orientation.PORTRAIT));

job.setPageable(book);

job.print();//打印一组页面。

java和打印机_java实现打印机打印的区别相关推荐

  1. java设置默认打印机_java 指定打印机 进行打印

    代码如下: package com.printer; import java.io.*; import java.util.Locale; import javax.print.*; import j ...

  2. java book打印机_Java调用打印机进行打印

    import java.io.*; import javax.print.*; import javax.print.attribute.*; import javax.print.attribute ...

  3. java 打印机_java调用打印机方式二

    一.主类: package org.jeecg.print; import java.awt.BasicStroke; import java.awt.Color; import java.awt.F ...

  4. java 打印机_java调用打印机接口

    全部代码: import java.awt.BorderLayout; import java.awt.Color; import java.awt.Graphics; import java.awt ...

  5. java打印输出万年历_Java基础之打印万年历的简单实现(案例)

    Java基础之打印万年历的简单实现(案例) 问题:输入年,月,打印对应年月的日历. 示例: 问题分析: 1,首先1970年是Unix系统诞生的时间,1970年成为Unix的元年,1970年1月1号是星 ...

  6. java输出钻石_Java:递归打印钻石

    如果给定大小,你将如何使用Java递归打印钻石? 大小为5会产生: ***** ***** **** **** *** *** ** ** * * * * ** ** *** *** **** *** ...

  7. java自动换行输出_Java PrintStream.println打印自动换行

    首页 > 基础教程 > IO流 > OutputStream类 Java PrintStream.println打印自动换行 定义 public void println() pub ...

  8. java 文件递归_java 递归,打印文件夹下所有的文件

    public class FileDemo { public static void main(String[] args) { File file=new File("D:\\eclips ...

  9. java serializable用法_JAVA序列化Serializable及Externalizable区别详解

    序列化简介 Java 的对象序列化将那些实现 Serializable 接口的对象转换成一个字节序列,并能在之后将这个字节序列完全恢复为原来的对象. 这就意味着 Java 对象在网络上的传输可以不依赖 ...

最新文章

  1. Windows下Git Bash 远程仓库
  2. 初识Activiti
  3. BZOJ5292 洛谷4457 LOJ2513:[BJOI2018]治疗之雨——题解
  4. Lua学习笔记5:类及继承的实现
  5. ubuntu 应用程序菜单_Ubuntu智能手机,塔式无人机飞行控制应用程序等
  6. Stream将List转换为Map
  7. android开发监听媒体播放器,Android开发之媒体播放工具类完整示例
  8. 存在out参数的webservices_Sentaurus Device材料参数的那些事
  9. centos 安装qrcode  二维码
  10. 字典式攻击及规避方案
  11. 《丁丁历险记系列之委托》-- 摘自http://www.cnblogs.com/xfxxx/archive/2010/04/03/1703839.html...
  12. HDLBITS 练习 卡诺图化简部分
  13. 含蓄的告别,google今日LOG
  14. 5-Selenium WebDriver三种等待--隐式等待-显式等待和流畅等待
  15. 公积金查询,公积金账号查询
  16. 虾皮shopee跨境电商靠谱吗
  17. DIMM DDR 区别和联系
  18. Android车载性能自动化测试Case设计
  19. mysql aborted connection_mysql Aborted connection错误
  20. sql(mysql快捷键)

热门文章

  1. python 多层包多模块_python Modules模块操作
  2. 有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具
  3. 了解计算机PS,2017年计算机等考一级PS辅导:了解Photoshop7.0中十大快捷操作
  4. 计算机可移动磁盘无法显示图片,手机插电脑不显示可移动磁盘的详细解决方法...
  5. 逆置单链表c语言程序,(数据结构C语言版)顺序表和单链表的逆置
  6. java中 移位运算_java中关于移位运算符的demo与总结(推荐)
  7. char类型是多少 mat_opencv之Mat数据类型
  8. oracle导出一个表数据库,excel怎么导出多个表格数据库数据-一个excel表格中有多个sheet,如何将其导入oracle数......
  9. jmeter的几种参数化使用方法
  10. Java 集合系列(一)