`

Applet打印

 
阅读更多



 效果如上图:

 

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.awt.print.PrinterJob;
import java.awt.print.*;

public class drawfarcode extends Applet implements Printable, ActionListener
{
	
	private static final long serialVersionUID = 1L;
	private String farcodevalue;

	public drawfarcode()
	{
	}

	public void init()
	{
		Frame f1 = new Frame();
		f1.setLayout(new BorderLayout());
		f1.setBackground(Color.white);
		f1.setSize(700, 200);
		Button prnbutton = new Button("打印");
		this.add("South", prnbutton);
		prnbutton.addActionListener(this);
		farcodevalue = "123";
	}

	public void actionPerformed(ActionEvent e)
	{
		PrinterJob printJob = PrinterJob.getPrinterJob();
		printJob.setPrintable(this);
		if (printJob.printDialog())
		{
			try
			{
				printJob.print();
			}
			catch (PrinterException ex)
			{
				ex.printStackTrace();
			}

		}
	}

	public void paint(Graphics g)
	{
		int startX = 100;
		int startY = 50;
		int height = 50;
		int width = 1; //最小线条宽度   
		String curFar;
		int curX = startX;
		g.setColor(Color.black);
		for (int i = 0; i < farcodevalue.length(); i++)
		{
			curFar = farcodevalue.substring(i, i + 1);
			if (curFar.equals("0"))
			{
				g.fillRect(curX, startY, width, height);
				g.fillRect(curX + 2 * width, startY, width, height);
				g.fillRect(curX + 5 * width, startY, 2 * width, height);
				g.fillRect(curX + 8 * width, startY, 2 * width, height);
				g.fillRect(curX + 11 * width, startY, width, height);
				curX = curX + 13 * width;
			}
			else if (curFar.equals("1"))
			{
				g.fillRect(curX, startY, 2 * width, height);
				g.fillRect(curX + 3 * width, startY, width, height);
				g.fillRect(curX + 6 * width, startY, width, height);
				g.fillRect(curX + 8 * width, startY, width, height);
				g.fillRect(curX + 10 * width, startY, 2 * width, height);
				curX = curX + 13 * width;
			}
			else if (curFar.equals("2"))
			{
				g.fillRect(curX, startY, width, height);
				g.fillRect(curX + 2 * width, startY, 2 * width, height);
				g.fillRect(curX + 6 * width, startY, width, height);
				g.fillRect(curX + 8 * width, startY, width, height);
				g.fillRect(curX + 10 * width, startY, 2 * width, height);
				curX = curX + 13 * width;
			}
			else if (curFar.equals("3"))
			{
				g.fillRect(curX, startY, 2 * width, height);
				g.fillRect(curX + 3 * width, startY, 2 * width, height);
				g.fillRect(curX + 7 * width, startY, width, height);
				g.fillRect(curX + 9 * width, startY, width, height);
				g.fillRect(curX + 11 * width, startY, width, height);
				curX = curX + 13 * width;
			}
		}
	}

	public int print(Graphics g, PageFormat pf, int pi) throws PrinterException
	{
		if (pi >= 1)
		{
			return Printable.NO_SUCH_PAGE;
		}
		g.setClip(0, 0, 600, 800);
		paint(g);
		return Printable.PAGE_EXISTS;
	}
}

 注意:

      如果嵌入网页中点击按钮没反应,则需要做数字签名。其实,数字签名很简单的了。。。其中有几篇转载的文章就是说这个的。。。。就几个步骤照做就行。。。

  • 大小: 5.3 KB
  • 大小: 8.2 KB
分享到:
评论

相关推荐

    jasperreport+applet客户端打印demo

    在"jasperreport+applet客户端打印demo"中,我们探讨的是如何利用JasperReport结合Java Applet技术实现客户端的打印功能。 首先,JasperReport提供了丰富的模板设计功能,通过JRXML文件可以定义报告的布局、样式、...

    applet和servlet的通讯,并打印

    本文将详细探讨Applet与Servlet之间的通信以及如何利用这种通信机制实现文件的打印功能。 Applet是Java的一种小程序,它可以在用户的Web浏览器中运行,为用户提供交互式体验。而Servlet则是Java Web应用中的服务器...

    zebra Applet打印

    在IT行业中,Zebra Applet打印是指利用Zebra公司提供的Java Applet技术来实现打印机的直接控制,主要用于条形码、二维码以及各种标签的打印。Zebra是一家知名的条码和标签打印机制造商,其产品广泛应用于物流、零售...

    Java报表工具打印方案集锦

    目前,Java报表工具采用的主要打印技术有三种:Applet打印、导出成PDF/Excel打印和控件打印。 1. **Applet打印**: - Applet打印由于是基于Java实现,与Java后台和报表设计器有较好的兼容性和维护性。但是,这种...

    解决报表打印各类问题集锦

    ##### 如何使用Applet打印数据结果 - **前提准备**:用户端需安装Java运行环境(JRE)。 - **操作步骤**: 1. 在报表预览页面选择Applet打印选项。 2. 系统自动启动Applet程序。 3. Applet从服务器获取报表数据并...

    jasperreports-applet-5.1.0.jar

    《JasperReports Applet 5.1.0:报表打印技术新视角》 JasperReports是Java领域中广泛使用的开源报表工具,它提供强大的报告设计和数据可视化功能。在5.1.0版本中,引入了applet技术,使得用户能够通过浏览器实现...

    Java燗applet+jasperReport 实现web端打印

    ### Java Applet + JasperReport 实现Web端打印 #### 背景介绍 在Web开发领域,特别是企业级应用中,精确打印与批量打印是非常重要的功能之一。这不仅关乎用户体验,还涉及到业务流程的顺利执行。传统的Web打印...

    0002_Applet理解_demo

    - 使用`JasperPrintManager.printReport(print, true)`方法打印或预览报告。其中`print`参数即为先前加载的`JasperPrint`对象。 3. **整体流程概述** - 用户访问包含Applet的网页(例如`...

    jasperreports-5.6.0+applet实现客户端打印所需的jar包

    在本场景中,我们关注的是JasperReports 5.6.0版本与Java Applet结合来实现客户端打印的功能。Applet是Java的一个古老特性,允许在Web浏览器中运行小型Java程序,为用户提供交互性。 首先,`jasperreports-5.6.0`是...

    WEB报表系统功能设计.doc

    WEB报表系统功能设计 WEB报表系统功能设计是基于FineReport的报表系统,可以实现多种复杂的报表处理、图表分析和数据可视化等功能。...同时也支持APPLET打印,PDF打印,以适应用户不同的打印需求。

    jaserreport结合struts 的打印实例源码

    结合struts做的jasperreport打印实例,在jsp上实现翻页功能,pdf,excel,word转换功能以及applet打印和预览功能.这是eclipse工程打包文件,下载后解压通过eclipse进行部署,供入门者参考学习使用.

    Jacob在Applet里的应用

    将Jacob与Applet结合使用,可以让Java Applets利用COM组件,从而在Web环境中访问特定于Windows系统的功能,如自动化Office文档处理、打印服务等。 在Java Applet中应用Jacob的关键知识点包括: 1. **Jacob库的引入...

    runqian_report4.jar、runqianReport4Applet.jar

    在报表场景中,Applet常用于实现报表的在线预览、打印和导出。此JAR包包含的类和资源使得用户无需安装额外软件,即可在Web浏览器上进行报表操作,提升了用户体验。 在实际开发中,可能会遇到与原版润乾报表JAR包不...

    FineReport应该怎么升级.docx

    - fr-applet-7.1.jar: 如果需要使用Applet打印,放置在%FR_Home%/WebReport目录下。 - commons-codec-1.6.jar: 升级到7.1.1时,需要将其放到%FR_Home%/WebReport/WEB-INF/lib目录下。 3. **重启应用**: 更新jar包...

    快逸报表4.0技术白皮书_产品教程_V2.0.pdf

    - **精确打印**:通过独特的APPLET打印控件,快逸报表能够实现精确的套打、分栏等功能,确保打印结果与屏幕显示完全一致。 #### 六、总结 快逸报表4.0以其简洁易用的界面、丰富的报表类型和强大的功能特性,成为了...

    报表工具FineReport升级教程.docx

    - `fr-applet-7.1.jar`:如果需要支持Applet打印功能,则应将其放置在`%FR_Home%/WebReport`目录下。 - `commons-codec-1.6.jar`:升级到特定版本(例如7.1.1)时,还需要将此jar包放置在`%FR_Home%/WebReport/WEB...

    FCRA2020最新题库.docx

    10. **报表打印**:除了常见的PDF打印外,FineReport还支持Applet打印等方式,其中静默打印功能可以让用户在没有安装打印机的情况下完成打印任务。 11. **模板导出**:导出模板时如果需要包含内置数据,则会作为一...

Global site tag (gtag.js) - Google Analytics