java 打印图片_java 实现打印(图片和文本)
// 打印内容到指定位置
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 实现打印(图片和文本)相关推荐
- java web 打印图片_java web打印总结
the contents you don't want to print 如果需要设置不打印区域,加入如下样式: 其实就是引用了noprint样式的控件不打印: 下面是media的相关 media类型 ...
- java ocr引擎_java 实现 OCR 图片文字识别
OCR图像识别技术的JAVA实现 最近有个需求需要用图像识别,学习记录一下. 目前网络上的开源的图像识别技术有很多,例如 OCRE(OCR Easy).Clara OCR.OCRAD.TESSERAC ...
- java批量打印标签_java批量打印
下面是实现java批量打印功能的具体工具类,其中的Info类和UserClass为具体的快递面单中要打印的信息,以参数的方式传递过来,循环调用java PrinterJob服务进行打印:这里的快递尺寸 ...
- java pdf添加图片水印图片_Java 在PDF中添加文本水印、图片水印(基于Spire.Cloud.SDK for Java)...
Spire.Cloud.SDK for Java提供了接口pdfWartermarkApi可用于添加文本水印addTextWartermark()和图片水印addImageWartermark()到P ...
- java 图片转jpg图片_JAVA转换jpg图片为渐进式图片
很早之前看到一篇<web前端图片极限优化策略>,了解有jpg分为baseline-jpeg和preogressive-jpeg. 具体的区别如下: baseline-jpeg: 在文件较大 ...
- JAVA MYSQL从数据库中提取图片_java web将图片存到储数据库和从数据库中读取图片...
(Notice:以下所有经验也是我根据网上的经验整理的,如有侵权可以联系我删除,Wx:IT_Ezra,QQ 654303408. 有问题讨论也可联系我,QQ同上.) 一.分析一下基本流程 从前台页面获 ...
- java输出钻石_Java程序打印钻石形状
可以通过先打印三角形再打印倒三角形来打印菱形.一个例子如下:* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ...
- java 下载url图片_java下载url图片链接
1.从之前写的一篇中改写了代码,从远程的url链接中下载图片,并对各种浏览器的中文文件名进行展示 /** * 根据url路径下载图片 * @param filename 处理下载时显示设置好的中文名 ...
- java pdf 水印_Java 在PDF中添加水印——文本/图片水印
水印是一种十分常用的防伪手段,常用于各种文档.资料等.常见的水印,包括文字类型的水印.图片或logo类型的水印.以下java示例,将分别使用inserttextwatermark(pdfpagebas ...
最新文章
- R语言merge函数全连接dataframe数据(Full (outer) join)、merge函数进行全连接必须将参数all设置为true(all=TRUE)、默认merge函数通过公共列名合并数
- 细水长flow之f-VAEs:Glow与VAEs的联姻
- 为什么选择Nginx
- 2018-2019-1 20189213《Linux内核原理与分析》第四周作业
- 记录一则expdp任务异常处理案例
- 关于heapsize heapgrowthlimit
- Linux系统管理(11)——linux下jdk的安装及环境变量配置
- 教大家防止Jar包被反编译
- Android应用实现开机自启动
- 去哪儿能找到那种直接翻译好的外文文献去阅读呢?
- 数据FIFO的读写和信息FIFO的基本使用方法
- html中评论的星星怎么写,css 评分效果的星星示例
- @UPC 6605 @福建OI2018 [FJOI2018] @ 洛谷 P4578 所罗门王的宝藏 (矩阵行列规律)
- msp430开发环境安装
- 这份公众号运营攻略,可以帮你系统地运营好公众号
- 针对正方教务开发大学App(查成绩,课表,一键评教,图书馆,正方系统)
- 3dmax顶点动画导入unity_从3dmax如何导入物体到unity3d
- (每日一练c语言)写入字符串到文件txt
- 计算机网络和http权威指南 读书笔记
- PHP在线客服即时通讯源码
热门文章
- 参与知乎 live — 编写优雅的前端业务代码总结
- “讲得清,控得住,降得下”——红辽公司备件全生命周期管理创新实践
- 库克和他的“后乔布斯”时代苹果
- Chapter-5_统计推断_贝叶斯学派
- 考研概率论常用重要的结论
- bak文件转换成sql文件_数据库bak文件转sql
- 华为运营商级路由器配置示例 | EVdPdNd VPLS over SRv6 BE(CE双归接入)
- 如何修改文件的 “创建时间” 和 “修改时间” (macOS, Linux, Windows) 2023 修正版
- java初学者的建议
- Elastic Job入门示例