java实现打印套打功能

2023-05-16

package test;

 

import java.awt.print.*;

import java.awt.*;

/*实现套打,把套打的格式当成一张图片,将要填入的数据按其在图片在坐标来定位*/

public class PrintTest implements Printable{

 

   private String[] value = null;// 所要打印的数据{ "001", "002", "003"};

 

   private int[][] position = null;// 每个数据在图片中的坐标 { { 10, 50 }, { 30, 70 }, { 50,  90 }};

 

   /**

    * implements Printable

    * PageFormat类描述了页面的定位信息、它的尺寸以及每英尺可绘制的区域(单位1/72nd)。

    */

   public int print(Graphics g, PageFormat pf, int pageIndex) {

       

       System.out.println(pageIndex);

       // 只打一页

       if (pageIndex > 0) {

           return Printable.NO_SUCH_PAGE;

       }

 

       Graphics2D g2d = (Graphics2D) g;

       for (int i = 0; i < value.length; i++) {

           String str = value[i];

           int[] temp = position[i];

           int x = temp[0];

           int y = temp[1];

          // 设置打印字体(字体名称、样式和点大小)

           Font font = new Font("新宋体", Font.PLAIN, 9);

           g2d.setFont(font); //设置字体

           g2d.drawString(str, x, y);

       }

       return Printable.PAGE_EXISTS;

    }

 

   public static void main(String[] args) {

       printReport();

    }

 

   public static void  printReport(){

 

       PrinterJob pj = PrinterJob.getPrinterJob();//创建一个打印任务

       PageFormat pf = PrinterJob.getPrinterJob().defaultPage();

       Paper paper = pf.getPaper();

 

       // 设置页面高和宽,A4纸为595,842

       double pageWidth = 595;

       double pageHeight = 810;

       paper.setSize(pageWidth, pageHeight);

 

       paper.setImageableArea(0, 0, pageWidth, pageHeight);

       pf.setOrientation(PageFormat.LANDSCAPE); //设置打印方向,LANDSCAPE为横向,打印方向默认为纵向

       pf.setPaper(paper);

       

       PrintTest  printTest=newPrintTest();

       printTest.setValue(new String []{"郑品", "", "√"});

       printTest.setPosition(new int [][]{{ 30, 180 }, { 90,180}, { 150,180}});

        

       pj.setPrintable(printTest, pf);

 

       if (pj.printDialog()) { //弹出打印对话框,打印对话框,用户可以通过它改变各种选项,例如:设置打印副本数目,页面方向,或者目标打印机。

 

           try {

                pj.print();

           } catch (PrinterException e) {

                e.printStackTrace();

           }

       }

    }

 

   /**

    * @return 返回 position。

    */

   public int[][] getPosition() {

       return position;

    }

 

   /**

    * @param position

    *            要设置的 position。

    */

   public void setPosition(int[][] position) {

       this.position = position;

    }

 

   /**

    * @return 返回 value。

    */

   public String[] getValue() {

       return value;

    }

 

   /**

    * @param value

    *            要设置的 value。

    */

   public void setValue(String[] value) {

       this.value = value;

    }

}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java实现打印套打功能 的相关文章

  • Python中的命名规范

    变量命名准则 您应当尽量使自己的变量命名含义清晰 xff0c 不要使用混乱的字母 数字 表情等意义不明的字符来命名变量一般来说 xff0c 您不应当使自己的风格频发变换 如果可能 xff0c 请将整个项目保持统一风格此文章根据本人习惯与编码
  • Linux下达梦数据库的安装与卸载

    文章目录 Linux下达梦数据库的安装与卸载1 安装前准备工作1 1 下载安装包1 2 检查Linux Unix 系统信息1 3 创建安装用户1 4 Linux Unix 下检查操作系统限制1 5 设置JAVA环境 2 安装DM2 1 解压
  • 递归算法实现角谷定理

    问题重述 xff1a 角谷定理 输入一个自然数 xff0c 若为偶数 xff0c 则把它除以 2 xff0c 若为奇数 xff0c 则把它乘以 3 加 1 经过如此有限次运算后 xff0c 总可以得到自然数值 1 求经过多少次可得到自然数
  • windows系统关闭node进程

    taskkill f t im node exe Node js是一个开源的 跨平台的JavaScript运行时环境 xff0c 它允许开发者在服务器端使用JavaScript进行编程 Node js的诞生极大地扩展了JavaScript的
  • 我的GPT-4 API 接入之旅

    3月15日open ai推出GPT 4 https platform openai com docs models gpt 4 chatgpt免费体验入口 xff1a http chat xutongbao top 需要排队 28号加入等候
  • IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

    git exe pull progress v no rebase 34 origin 34 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 6
  • 制作高清chatgpt logo

    lt DOCTYPE html gt lt html lang 61 34 en 34 gt lt head gt lt meta charset 61 34 UTF 8 34 gt lt meta http equiv 61 34 X U
  • react开发前端登录、注册、找回密码页面的详细教程

    登录 注册 找回密码是前端项目经常遇到的需求 光标自动定位到输入框 回车登录 图形验证码 邮箱验证码 60秒倒计时 字段校验 字段提示语 上传头像 密码显示隐藏这些功能都会在本文中详细介绍 xff0c 注意 使用的ui库是antd 目录 光
  • azure windows服务器,远程桌面链接,ftp文件上传下载

    解决方案 xff1a FTP 安装filezilla 打开21端口 参考链接 xff1a Windows11 10 使用RDP远程桌面时提示 您的凭据不工作 登录没有成功可能的一种原因 CSDN博客 使用 SSH 连接到运行 Windows
  • LED的使用纯汇编和C语言的点亮

    概述 我们通过观察原理图可以发现LED灯有四个分别连接在GPM4 1 GPM4 2 GPM4 3 GPM4 4上面 xff0c 这时候我们去查询我们板子4412的说明书 xff0c 去寻址寄存器的配置 初始化的时候我们需要将他配置为输出模式
  • Promise异步编程

    目录 一 Promise的含义 二 基本用法 三 reject的用法 四 执行顺序 五 项目中使用promise获取后端数据 六 catch的用法 七 finally的用法 八 Promise all 九 Promise all 有一个是失
  • 介绍一下ES6 promise

    ES6 Promise 是 ECMAScript 2015 xff08 简称 ES6 xff09 引入的一种处理异步操作的编程模式 Promise 可以简化异步编程 xff0c 并使代码更易于维护 一个 Promise 对象代表一个尚未完成
  • ChatGPT的N种用法(持续更新中。。。)

    目录 前言 一 写代码 二 给软件系统命名 三 查询发展历史 四 写英语短文 五 入党申请报告指导 国企员工思想汇报 六 给小孩起名字 七 给小说写推荐阅读 八 根据小说生成剧本 九 写离婚协议 十 翻译 十一 润色文章 十二 用英文撰写电
  • ChatGPT资料汇总学习

    x1f9e0 Awesome ChatGPT ChatGPT资料汇总学习 xff0c 持续更新 ChatGPT再一次掀起了AI的热潮 xff0c 是否还会像BERT一样成为AI进程上的里程碑事件 xff0c 还是噱头炒作 xff0c 持续关
  • Stable Diffusion 本地部署教程不完全指南

    ChatGPT免费体验入口网址 http chat xutongbao top 参考链接 xff1a ERROR Could not find a version that satisfies the requirement torch 6
  • Stable Diffusion +ChatGPT+文本转语音+剪映制作视频

    目录 chatgpt免费体验入口网址 模型下载 huggingface co civitai com 使用Deliberate模型案例 StableDeffusion做的图片 xff0c chatGPT出的文案 xff0c 微软文本转语音配
  • 如何使用 ChatGPT 生成 Stable diffusion 提示词

    chatgpt免费体验入口网址 xff1a http chat xutongbao top 一 教chatgpt写提示词 StableDiffusion是一款利用深度学习的文生图模型 xff0c 支持通过使用提示词来产生新的图像 xff0c
  • Stable Diffusion+Deliberate模型绘制图片

    chatgpt免费体验入口网址 xff1a http chat xutongbao top 正向提示词 1 chinese gril with headphones natural skin texture 24mm 4k textures
  • prompt交易平台

    chatgpt免费体验入口网址 xff1a http chat xutongbao top prompt交易平台 https promptbase com prompt需要花钱购买 也可以售卖自己的prompt 关注公众号领福利
  • New Bing来了

    chatgpt免费体验入口网址 xff1a http chat xutongbao top 参考链接 xff1a https mp weixin qq com s x8RUxofqS43xkZM 5xnTAw

随机推荐

  • select监听多个socket的例子

    先贴上代码 xff0c 回头再仔细编辑 server cpp include lt sys types h gt include lt sys socket h gt include lt netinet in h gt include l
  • chatgpt提示词

    chatgpt免费入口 http chat xutongbao top 担任雅思写作考官 我希望你假定自己是雅思写作考官 xff0c 根据雅思评判标准 xff0c 按我给你的雅思考题和对应答案给我评分 xff0c 并且按照雅思写作评分细则给
  • ffmpeg命令行拉TCP的RTSP流的方法及使用测试记录——RTP over RTSP(TCP)

    1 启动EasyDarwin流媒体服务器 xff0c 然后启动RTSP推流 xff08 1080P 43 h264编码 xff09 xff1a demo dev video0 1920 1080 0 注 xff1a demo 为本地自写的推
  • Linux定时备份文件

    一 编写脚本 创建脚本 写入命令 执行脚本文件 二 设置定时执行本脚本 安装crond 修改crontab内容 重新启动crond服务 一 编写脚本 编写一个脚本文件 xff0c 使脚本可以执行备份命令 例如 xff0c 将文件目录 hom
  • Swift编程语言 FAQ

    作为苹果在WWDC 2014上发布的新编程语言 xff0c Swift绝对是当前的热门话题 Swift由苹果开发者工具部门总监克里斯 拉特纳 xff08 Chris Lattner xff09 耗时四年开发而成 xff0c 苹果宣称Swif
  • 简单理解混淆矩阵—Matlab详细代码注解

    本人计算机小白一枚 xff0c 将自己学到的知识点整理出来 xff0c 一方面是对自己学习的小总结 xff0c 另一方面是欢迎大家批评指正 如果觉得写得还可以 xff0c 大家可以转发关注此博客 xff0c 谢谢 xff01 后续会有新算法
  • ubuntu下/boot空间被占满的解决方法

    ubuntu下 boot空间被占满的解决方法 在安装Ubuntu的时候 xff0c 给 boot文件目录分配空间的时候 xff0c 是100M xff0c boot可以单独分成一个区 xff0c 也可以不单独分 xff0c 在 xff08
  • scikit-learn sklearn 0.18 官方文档中文版

    本人计算机小白一枚 xff0c 将自己学到的知识点整理出来 xff0c 一方面是对自己学习的小总结 xff0c 另一方面是欢迎大家批评指正 如果觉得写得还可以 xff0c 大家可以转发关注此博客 xff0c 谢谢 xff01 后续会有新算法
  • 机器学习面试问题汇总—史上最详细

    本人计算机小白一枚 xff0c 将自己学到的知识点整理出来 xff0c 一方面是对自己学习的小总结 xff0c 另一方面是欢迎大家批评指正 如果觉得写得还可以 xff0c 大家可以转发关注此博客 xff0c 谢谢 xff01 后续会有新算法
  • 从第一个人开始报数(从1到3报数),凡报到3的人退出圈子

    有n个人围成一圈 xff0c 顺序排号 从第一个人开始报数 xff08 从1到3报数 xff09 xff0c 凡报到3的人退出圈子 xff0c 问最后留下的是原来第几号的那位 xff08 1 lt 61 n lt 61 1000000 xf
  • Windows10 Xrdp远程桌面连接ubuntu 20.04,一步到位!

    https blog csdn net avinswang article details 93601312 utm medium 61 distribute pc relevant none task blog BlogCommendFr
  • 远程桌面无响应解决方案

    问题1 mstsc链接远程桌面后 发现只有桌面背景 xff08 桌面图标不见了 xff0c 任务栏不见了 xff0c 鼠标无处可点 xff09 问题2 远程桌面卡住了 问题分析 针对于问题1 xff0c 是因为关闭了explorer exe
  • 公用网络切换为专用网络的详细步骤

    win10连接的网络显示为公用网络 xff0c 一般来说公用网络的安全性不高 xff0c 专用网络安全性会比公用网络要高 具体方法如下 1 我的电脑安装的是win10系统 xff0c 网络状态为 xff1a 公用网络 2 把Windows1
  • mysql使用SSL连接配置学习(一)

    参考 xff1a https www jb51 net article 100432 htm https www cnblogs com mysql dba p 7061300 html 一 SSL介绍 SSL xff08 Secure S
  • 富文本回显

    今天遇了富文本的回显问题 xff0c 查了好多网页 xff0c 最后总结回显最简单方法 xff0c 留个纪念 lt c forEach items 61 34 bidNoticeList 34 varStatus 61 34 status
  • 弹出详细信息窗口

    lt DOCTYPE html PUBLIC 34 W3C DTD HTML 4 01 Transitional EN 34 gt lt html gt lt head gt lt meta charset 61 34 GB 2312 34
  • 字符串中特殊字符处理

    public String htmlReplace String str str 61 str replace 34 amp ldquo 34 34 34 str 61 str replace 34 amp rdquo 34 34 34 s
  • Android开发环境配置

    环境为jdk11 43 android studio2021 jdk11的安装 xff1a 参考https blog csdn net qq 22136439 article details 103295019 注意 xff1a 1 jdk
  • java中文字符乱码编码转换大全

    System out println new String myFileName getBytes 34 gbk 34 System out println new String myFileName getBytes 34 utf 8 3
  • java实现打印套打功能

    package test import java awt print import java awt 实现套打 xff0c 把套打的格式当成一张图片 xff0c 将要填入的数据按其在图片在坐标来定位 public class PrintTe