// 打印内容到指定位置

public void printContent(Map mymap )

{

printStr = "打印测试内容";// 获取需要打印的目标文本

if (printStr != null &&

printStr.length() > 0) // 当打印内容不为空时

{

PAGES = 1; //

获取打印总页数

// 指定打印输出格式

DocFlavor flavor =

DocFlavor.SERVICE_FORMATTED.PRINTABLE;

//

设置打印属性

PrintRequestAttributeSet pras = new

HashPrintRequestAttributeSet();

//

设置纸张大小,也可以新建MediaSize类来自定义大小

pras.add(MediaSizeName.ISO_A4);

DocAttributeSet das = new

HashDocAttributeSet();

// 指定打印内容

Doc doc = new

SimpleDoc(this, flavor, das);

// 定位默认的打印服务

PrintService printService = null;

printService =

PrintServiceLookup.lookupPrintServices(flavor, pras)[0];

System.out.println(printService);

// 创建打印作业

DocPrintJob job = printService.createPrintJob();

try

{

job.print(doc, pras); //

进行每一页的具体打印操作

}

catch (PrintException

pe)

{

pe.printStackTrace();

}

}

else

{

//

如果打印内容为空时,提示用户打印将取消

JOptionPane.showConfirmDialog(null,

"Sorry, Printer Job

is Empty, Print Cancelled!",

"Empty",

JOptionPane.DEFAULT_OPTION,

JOptionPane.WARNING_MESSAGE);

}

}

以上支持打印图片  如果要打印文本需要重写printable的print方法

public int print(Graphics gp, PageFormat pf, int page)throws

PrinterException{

Graphics2D g2 = (Graphics2D) gp;

g2.setPaint(Color.black); //

设置打印颜色为黑色

if (page >= PAGES) // 当打印页号大于需要打印的总页数时,打印工作结束

{

return Printable.NO_SUCH_PAGE;

}

g2.translate(pf.getImageableX(), pf.getImageableY());// 转换坐标,确定打印边界

Font font = new Font("宋体", Font.PLAIN, 24);// 创建字体

g2.setFont(font);

// 打印当前页文本

int printFontCount =

printStr.length();// 打印字数

int printFontSize = font.getSize();// Font

的磅值大小

float printX = 595 / 2; // 给定字符点阵,X页面正中

float printY

= 842 / 2; // 给定字符点阵,Y页面正中

float printMX = printX - (printFontCount *

printFontSize / 2);// 打印到正中间

float printMY = printY - printFontSize /

2;// 打印到正中间

g2.drawString(printStr, printMX, printMY); //

具体打印每一行文本,在指定位置

g2.drawString(printStr, printMX - printFontSize *

printFontCount,

printMY + printFontSize); // 具体打印每一行文本

g2.drawString(printStr, printMX + printFontSize *

printFontCount,

printMY + printFontSize); // 具体打印每一行文本

g2.drawString(printStr, printMX, printMY + printFontSize * 2); //

具体打印每一行文本

g2.drawString(printStr, printMX, printMY + printFontSize *

2);

g2.drawString(printStr, printMX, printMY + printFontSize *

2);

g2.drawString(printStr, printMX, printMY + printFontSize *

2);

return Printable.PAGE_EXISTS; // 存在打印页时,继续打印工作

}

java 打印图片_java 实现打印(图片和文本)相关推荐

  1. java web 打印图片_java web打印总结

    the contents you don't want to print 如果需要设置不打印区域,加入如下样式: 其实就是引用了noprint样式的控件不打印: 下面是media的相关 media类型 ...

  2. java ocr引擎_java 实现 OCR 图片文字识别

    OCR图像识别技术的JAVA实现 最近有个需求需要用图像识别,学习记录一下. 目前网络上的开源的图像识别技术有很多,例如 OCRE(OCR Easy).Clara OCR.OCRAD.TESSERAC ...

  3. java批量打印标签_java批量打印

    下面是实现java批量打印功能的具体工具类,其中的Info类和UserClass为具体的快递面单中要打印的信息,以参数的方式传递过来,循环调用java PrinterJob服务进行打印:这里的快递尺寸 ...

  4. java pdf添加图片水印图片_Java 在PDF中添加文本水印、图片水印(基于Spire.Cloud.SDK for Java)...

    Spire.Cloud.SDK for Java提供了接口pdfWartermarkApi可用于添加文本水印addTextWartermark()和图片水印addImageWartermark()到P ...

  5. java 图片转jpg图片_JAVA转换jpg图片为渐进式图片

    很早之前看到一篇<web前端图片极限优化策略>,了解有jpg分为baseline-jpeg和preogressive-jpeg. 具体的区别如下: baseline-jpeg: 在文件较大 ...

  6. JAVA MYSQL从数据库中提取图片_java web将图片存到储数据库和从数据库中读取图片...

    (Notice:以下所有经验也是我根据网上的经验整理的,如有侵权可以联系我删除,Wx:IT_Ezra,QQ 654303408. 有问题讨论也可联系我,QQ同上.) 一.分析一下基本流程 从前台页面获 ...

  7. java输出钻石_Java程序打印钻石形状

    可以通过先打印三角形再打印倒三角形来打印菱形.一个例子如下:* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  ...

  8. java 下载url图片_java下载url图片链接

    1.从之前写的一篇中改写了代码,从远程的url链接中下载图片,并对各种浏览器的中文文件名进行展示 /** * 根据url路径下载图片 * @param filename 处理下载时显示设置好的中文名 ...

  9. java pdf 水印_Java 在PDF中添加水印——文本/图片水印

    水印是一种十分常用的防伪手段,常用于各种文档.资料等.常见的水印,包括文字类型的水印.图片或logo类型的水印.以下java示例,将分别使用inserttextwatermark(pdfpagebas ...

最新文章

  1. R语言merge函数全连接dataframe数据(Full (outer) join)、merge函数进行全连接必须将参数all设置为true(all=TRUE)、默认merge函数通过公共列名合并数
  2. 细水长flow之f-VAEs:Glow与VAEs的联姻
  3. 为什么选择Nginx
  4. 2018-2019-1 20189213《Linux内核原理与分析》第四周作业
  5. 记录一则expdp任务异常处理案例
  6. 关于heapsize heapgrowthlimit
  7. Linux系统管理(11)——linux下jdk的安装及环境变量配置
  8. 教大家防止Jar包被反编译
  9. Android应用实现开机自启动
  10. 去哪儿能找到那种直接翻译好的外文文献去阅读呢?
  11. 数据FIFO的读写和信息FIFO的基本使用方法
  12. html中评论的星星怎么写,css 评分效果的星星示例
  13. @UPC 6605 @福建OI2018 [FJOI2018] @ 洛谷 P4578 所罗门王的宝藏 (矩阵行列规律)
  14. msp430开发环境安装
  15. 这份公众号运营攻略,可以帮你系统地运营好公众号
  16. 针对正方教务开发大学App(查成绩,课表,一键评教,图书馆,正方系统)
  17. 3dmax顶点动画导入unity_从3dmax如何导入物体到unity3d
  18. (每日一练c语言)写入字符串到文件txt
  19. 计算机网络和http权威指南 读书笔记
  20. PHP在线客服即时通讯源码

热门文章

  1. 参与知乎 live — 编写优雅的前端业务代码总结
  2. “讲得清,控得住,降得下”——红辽公司备件全生命周期管理创新实践
  3. 库克和他的“后乔布斯”时代苹果
  4. Chapter-5_统计推断_贝叶斯学派
  5. 考研概率论常用重要的结论
  6. bak文件转换成sql文件_数据库bak文件转sql
  7. 华为运营商级路由器配置示例 | EVdPdNd VPLS over SRv6 BE(CE双归接入)
  8. 如何修改文件的 “创建时间” 和 “修改时间” (macOS, Linux, Windows) 2023 修正版
  9. java初学者的建议
  10. Elastic Job入门示例