`

转载java实现打印功能

阅读更多
原文地址:JAVA实现打印功能作者:foxfire9527

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Component;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;

import java.awt.Toolkit;
import java.awt.print.Book;
import java.awt.print.PageFormat;
import java.awt.print.Paper;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;






public class PrintTest   implements Printable{
 
   public int print(Graphics gra, PageFormat pf, int pageIndex) throws PrinterException {
       System.out.println("pageIndex="+pageIndex);
       Component c = null;
      //print string
      String str = "中华民族是勤劳、勇敢和富有智慧的伟大民族。";
      //转换成Graphics2D
      Graphics2D g2 = (Graphics2D) gra;
      //设置打印颜色为黑色
      g2.setColor(Color.black);

      //打印起点坐标
      double x = pf.getImageableX();
      double y = pf.getImageableY();
     
      switch(pageIndex){
         case 0:
           //设置打印字体(字体名称、样式和点大小)(字体名称可以是物理或者逻辑名称)
           //Java平台所定义的五种字体系列:Serif、SansSerif、Monospaced、Dialog 和 DialogInput
           Font font = new Font("新宋体", Font.PLAIN, 9);
           g2.setFont(font);//设置字体
           //BasicStroke   bs_3=new   BasicStroke(0.5f); 
           float[]   dash1   =   {2.0f};
           //设置打印线的属性。
           //1.线宽 2、3、不知道,4、空白的宽度,5、虚线的宽度,6、偏移量
           g2.setStroke(new   BasicStroke(0.5f,   BasicStroke.CAP_BUTT,   BasicStroke.JOIN_MITER,   2.0f,   dash1,   0.0f));
           //g2.setStroke(bs_3);//设置线宽
           float heigth = font.getSize2D();//字体高度
           System.out.println("x="+x);
           // -1- 用Graphics2D直接输出
           //首字符的基线(右下部)位于用户空间中的 (x, y) 位置处
           //g2.drawLine(10,10,200,300);
         
           Image src = Toolkit.getDefaultToolkit().getImage("E:\\myworkspace\\hospital\\WebRoot\\images\\02.jpg");
           g2.drawImage(src,(int)x,(int)y,c);
           int img_Height=src.getHeight(c);
           int img_width=src.getWidth(c);
           //System.out.println("img_Height="+img_Height+"img_width="+img_width) ;
         
           g2.drawString(str, (float)x, (float)y+1*heigth+img_Height);
           g2.drawLine((int)x,(int)(y+1*heigth+img_Height+10),(int)x+200,(int)(y+1*heigth+img_Height+10));
         
           g2.drawImage(src,(int)x,(int)(y+1*heigth+img_Height+11),c);
         
         return PAGE_EXISTS;
         default:
         return NO_SUCH_PAGE;
      }
    
   }


public static void main(String[] args) {
  
    //    通俗理解就是书、文档
    Book book = new Book();
    //    设置成竖打
    PageFormat pf = new PageFormat();
    pf.setOrientation(PageFormat.PORTRAIT);
    //    通过Paper设置页面的空白边距和可打印区域。必须与实际打印纸张大小相符。
    Paper p = new Paper();
    p.setSize(590,840);//纸张大小
    p.setImageableArea(10,10, 590,840);//A4(595 X 842)设置打印区域,其实0,0应该是72,72,因为A4纸的默认X,Y边距是72
    pf.setPaper(p);
    //    把 PageFormat 和 Printable 添加到书中,组成一个页面
    book.append(new PrintTest(), pf);

     //获取打印服务对象
     PrinterJob job = PrinterJob.getPrinterJob();    
     // 设置打印类
     job.setPageable(book);
   
     try {
         //可以用printDialog显示打印对话框,在用户确认后打印;也可以直接打印
         boolean a=job.printDialog();
         if(a)
         {      
         job.print();
         }
     } catch (PrinterException e) {
         e.printStackTrace();
     }
   }
   }
分享到:
评论

相关推荐

    java实现自动静默打印功能(csdn)————程序.pdf

    Java 实现自动静默打印功能 在本篇文章中,我们主要讨论如何使用 Java 实现自动静默打印功能,实现无需弹出打印窗口即可直接打印的功能。下面将详细介绍实现思路、技术知识、技术细节和具体代码实现。 一、实现...

    java实现打印.rar

    这个"java实现打印.rar"压缩包包含了一些示例代码,旨在帮助开发者理解如何在Java中实现打印功能。以下是对这些示例文件及其可能涉及的知识点的详细解释: 1. **IwbFrameEmployee.java**: 这个文件很可能包含一个...

    Java实现打印功能编程资料

    Java实现打印功能

    Java实现打印功能.doc

    ### Java 实现打印功能知识点详解 #### 一、概述 在现代办公环境中,打印文档是一项基本需求。Java 提供了一套完整的打印API,允许开发者在Java应用程序中集成打印功能。本文将详细介绍如何利用Java实现打印功能,...

    记事本打印和页面设置功能Java实现

    在深入探讨具体实现之前,我们先来了解一下实现打印功能所需要的一些基础知识: 1. **`Graphics`** 类:这是Java中用于绘制的基本类,它提供了一系列的方法来处理屏幕或打印设备上的图像。 2. **`Graphics2D`** 类...

    java打印功能的实现

    这个包包含了Java打印功能的主要类和接口,如`PrinterJob`类用于创建和管理打印任务,`PageFormat`类用于定义页面布局,`Printable`接口则需要被实现以定义打印内容的生成逻辑。 3. **`PrinterJob`类** `...

    java打印功能实现demo

    这个"java打印功能实现demo"示例旨在教你如何利用Java的内置打印服务API来完成这一任务。以下是一些关键知识点: 1. **Java Print Service API**: Java Print Service API是Java标准版(Java SE)的一部分,它...

    java 打印pdf文件 也可批量打印

    本文详细介绍了如何使用Java实现PDF文件的打印功能,包括单个文件的打印以及批量打印的方法。通过这些方法,开发者可以根据实际需求灵活选择合适的打印策略。同时,文中也介绍了Adobe Reader的相关命令行参数,以...

    手机实现蓝牙打印功能(java)

    J2ME 实现蓝牙打印功能 dos.write(0x1D); dos.write(0x0C); //送黑标纸至打印起始位置

    java实现针式打印机套打功能

    总之,Java和SpringBoot为我们提供了强大的工具来实现针式打印机的套打功能,无论是简单的文档打印还是复杂的多联单据处理,都能通过编程灵活控制。关键在于理解打印服务模型,正确配置打印参数,并进行充分的测试以...

    Java实现斑马打印机ZPL指令打印,源码,可运行

    在Java环境下,我们可以编写程序来发送ZPL指令到斑马打印机,实现打印任务。本项目提供了可运行的源码,使得开发者无需依赖ts24.lib库就能处理中文和二维码打印。 首先,理解ZPL指令是实现斑马打印机打印的基础。...

    JAVA调用zpl条码打印机打印实现中文打印。

    本文将深入探讨如何使用Java编程语言来调用ZPL(Zebra Programming Language)条码打印机,实现中文打印以及网络打印的功能。 ZPL是Zebra公司为它的条码打印机设计的一种编程语言,用于创建和控制打印任务。ZPL主要...

    Java web 打印,Java pdf打印,Java打印

    根据提供的文件信息,本文将详细解析与Java Web打印、Java PDF打印相关的技术点及实现方法。主要内容包括: 1. Java Web打印的基本概念。...希望这些内容能够帮助你更好地理解和实现Java Web打印功能。

    java打印 java定位打印

    在Java中,打印功能主要通过`System.out.println()`方法实现,而定位打印则涉及到更复杂的文本格式化技巧。下面将详细阐述这两个概念。 一、Java打印 1. `System.out.println()`: 这是Java中最基础的打印方法,...

    Java实现条形码打印

    目前比较通用的用Java实现条形码打印的集成插件主要有:barbecue和barcode4j. 但是用barbecue,条形码可以显示出来,可是下面对应数字却不能显示出来,当然可以自己手动加上去,不过那就不是一张图片里面的了,并且...

    java打印组件非常好用的java打印组件

    Java打印组件是Java开发中用于处理打印任务的关键工具,它使得开发者能够轻松地在应用程序中实现文档和数据的打印功能。在Java中,主要通过Java Print Service API来提供打印服务,这是一个强大的接口,允许程序员...

    Java实现POS打印机无驱打印

    ### Java实现POS打印机无驱打印的关键技术点 #### 一、背景及行业需求 随着信息技术的发展,越来越多的企业开始采用数字化管理方案,特别是在餐饮业中,从前台点餐到后厨打印出单,整个流程的自动化程度直接影响着...

    Java web 打印,Java pdf打印,Java 打印

    综上所述,这个项目涉及了Java Web打印的自定义实现,利用Java技术直接调用PDF打印,而非依赖浏览器功能。开发者使用了MyEclipse作为开发工具,并可能借助了特定库如iText或PDFBox来生成和打印PDF。而“mimeograph”...

    Java语言中实现打印功能的分析与应用.pdf

    Java语言实现打印功能的分析与应用主要涉及到三种方式:使用Java自带的API、程序员自定义开发打印控件以及使用WEB打印控件。本文将对这三种方式的特点和实现方法进行深入探讨。 首先,Java自带的API是实现打印功能...

    JAVA打印机插件java打印失败打印机工具

    在Java编程环境中,打印机插件是用于实现程序与物理打印机之间的通信的重要组件。"JAVA打印机插件java打印失败打印机工具"这个标题暗示了一个问题:在尝试使用Java进行打印时遇到了失败,可能涉及到打印机插件或者...

Global site tag (gtag.js) - Google Analytics