导航:首页 > 编程语言 > jsp打印指定二维码源代码

jsp打印指定二维码源代码

发布时间:2023-08-26 05:44:38

jsp生成的二维码,怎么在wed项目中读取

package com.cityctrl.util;

import java.awt.BasicStroke;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Shape;
import java.awt.geom.RoundRectangle2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.OutputStream;
import java.util.Hashtable;
import java.util.Random;

import javax.imageio.ImageIO;

import com.google.zxing.BarcodeFormat;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.DecodeHintType;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.Result;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.common.HybridBinarizer;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;

/**
* 二维码工具
*
*/
public class QRCodeUtil {

private static final String CHARSET = "utf-8";
private static final String FORMAT_NAME = "JPG";
// 二维码尺寸
private static final int QRCODE_SIZE = 300;
// LOGO宽度
private static final int WIDTH = 60;
// LOGO高度
private static final int HEIGHT = 60;

private static BufferedImage createImage(String content, String imgPath,
boolean needCompress) throws Exception {
Hashtable<EncodeHintType, Object> hints = new Hashtable<EncodeHintType, Object>();
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
hints.put(EncodeHintType.CHARACTER_SET, CHARSET);
hints.put(EncodeHintType.MARGIN, 1);
BitMatrix bitMatrix = new MultiFormatWriter().encode(content,
BarcodeFormat.QR_CODE, QRCODE_SIZE, QRCODE_SIZE, hints);
int width = bitMatrix.getWidth();
int height = bitMatrix.getHeight();
BufferedImage image = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);
for (int x = 0; x < width; x++) {
for (int y = 0; y < height; y++) {
image.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000
: 0xFFFFFFFF);
}
}
if (imgPath == null || "".equals(imgPath)) {
return image;
}
// 插入图片
QRCodeUtil.insertImage(image, imgPath, needCompress);
return image;
}

/**
* 插入LOGO
*
* @param source
* 二维码图片
* @param imgPath
* LOGO图片地址
* @param needCompress
* 是否压缩
* @throws Exception
*/
private static void insertImage(BufferedImage source, String imgPath,
boolean needCompress) throws Exception {
File file = new File(imgPath);
if (!file.exists()) {
System.err.println(""+imgPath+" 该文件不存在!");
return;
}
Image src = ImageIO.read(new File(imgPath));
int width = src.getWidth(null);
int height = src.getHeight(null);
if (needCompress) { // 压缩LOGO
if (width > WIDTH) {
width = WIDTH;
}
if (height > HEIGHT) {
height = HEIGHT;
}
Image image = src.getScaledInstance(width, height,
Image.SCALE_SMOOTH);
BufferedImage tag = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);
Graphics g = tag.getGraphics();
g.drawImage(image, 0, 0, null); // 绘制缩小后的图
g.dispose();
src = image;
}
// 插入LOGO
Graphics2D graph = source.createGraphics();
int x = (QRCODE_SIZE - width) / 2;
int y = (QRCODE_SIZE - height) / 2;
graph.drawImage(src, x, y, width, height, null);
Shape shape = new RoundRectangle2D.Float(x, y, width, width, 6, 6);
graph.setStroke(new BasicStroke(3f));
graph.draw(shape);
graph.dispose();
}

/**
* 生成二维码(内嵌LOGO)
*
* @param content
* 内容
* @param imgPath
* LOGO地址
* @param destPath
* 存放目录
* @param needCompress
* 是否压缩LOGO
* @throws Exception
*/
public static void encode(String content, String imgPath, String destPath,
boolean needCompress) throws Exception {
BufferedImage image = QRCodeUtil.createImage(content, imgPath,
needCompress);
mkdirs(destPath);
String file = new Random().nextInt(99999999)+".jpg";
ImageIO.write(image, FORMAT_NAME, new File(destPath+"/"+file));
}

/**
* 当文件夹不存在时,mkdirs会自动创建多层目录,区别于mkdir.(mkdir如果父目录不存在则会抛出异常)
* @author lanyuan
* Email: [email protected]
* @date 2013-12-11 上午10:16:36
* @param destPath 存放目录
*/
public static void mkdirs(String destPath) {
File file =new File(destPath);
//当文件夹不存在时,mkdirs会自动创建多层目录,区别于mkdir.(mkdir如果父目录不存在则会抛出异常)
if (!file.exists() && !file.isDirectory()) {
file.mkdirs();
}
}

/**
* 生成二维码(内嵌LOGO)
*
* @param content
* 内容
* @param imgPath
* LOGO地址
* @param destPath
* 存储地址
* @throws Exception
*/
public static void encode(String content, String imgPath, String destPath)
throws Exception {
QRCodeUtil.encode(content, imgPath, destPath, false);
}

/**
* 生成二维码
*
* @param content
* 内容
* @param destPath
* 存储地址
* @param needCompress
* 是否压缩LOGO
* @throws Exception
*/
public static void encode(String content, String destPath,
boolean needCompress) throws Exception {
QRCodeUtil.encode(content, null, destPath, needCompress);
}

/**
* 生成二维码
*
* @param content
* 内容
* @param destPath
* 存储地址
* @throws Exception
*/
public static void encode(String content, String destPath) throws Exception {
QRCodeUtil.encode(content, null, destPath, false);
}

/**
* 生成二维码(内嵌LOGO)
*
* @param content
* 内容
* @param imgPath
* LOGO地址
* @param output
* 输出流
* @param needCompress
* 是否压缩LOGO
* @throws Exception
*/
public static void encode(String content, String imgPath,
OutputStream output, boolean needCompress) throws Exception {
BufferedImage image = QRCodeUtil.createImage(content, imgPath,
needCompress);
ImageIO.write(image, FORMAT_NAME, output);
}

/**
* 生成二维码
*
* @param content
* 内容
* @param output
* 输出流
* @throws Exception
*/
public static void encode(String content, OutputStream output)
throws Exception {
QRCodeUtil.encode(content, null, output, false);
}

/**
* 解析二维码
*
* @param file
* 二维码图片
* @return
* @throws Exception
*/
public static String decode(File file) throws Exception {
BufferedImage image;
image = ImageIO.read(file);
if (image == null) {
return null;
}
BufferedImageLuminanceSource source = new BufferedImageLuminanceSource(
image);
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
Result result;
Hashtable<DecodeHintType, Object> hints = new Hashtable<DecodeHintType, Object>();
hints.put(DecodeHintType.CHARACTER_SET, CHARSET);
result = new MultiFormatReader().decode(bitmap, hints);
String resultStr = result.getText();
return resultStr;
}

/**
* 解析二维码
*
* @param path
* 二维码图片地址
* @return
* @throws Exception
*/
public static String decode(String path) throws Exception {
return QRCodeUtil.decode(new File(path));
}

public static void main(String[] args) throws Exception {
String text = "userid:37115,equipmentid:E8000031023CCA1,callnumber:BJ5352,type:5";
//QRCodeUtil.encode(text, "D:/document/1自己的/车翼达手台APP图标/手台APP图标_60x60.png", "D:/document/1自己的/out", true);
QRCodeUtil.encode(text,"D://saomiao");
//File afile = new File("C:\\apache-tomcat-7.0.47\\webapps\\acts_h5\\file\\20170531160340.png");
//System.out.println("解析后的内容:++"+decode(afile));
}
}

❷ A4纸张有6个不干胶区域,把生成的二维码打印到其中的一个区域,改如何通过JSP做到这个打印效果啊

使用安徽天冠可变数据打印软件,可以打印动态的二维码,并可以随意设置位置、大小。该公司还提供二维码生成和识别

❸ JSP如何添加打印功能

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>emu's sample of printing with title</title>
<style>
@media screen{.onlyPrint{display:none}}
@media print{.onlyShow{display:none} .onlyPrint{page-break-before:always}}
</style>
<SCRIPT LANGUAGE="JavaScript">
<!--
// 这里定义每页能打印多少行
//模拟数据
function prepare()
{
var ar = new Array()
for (var i=parseInt(linesPerPage.value);i<(show.children.length-1); i+=parseInt(linesPerPage.value))
{
var tr = show.insertBefore(show.firstChild.cloneNode(true),show.children[i]);
tr.className = "onlyPrint"
ar[ar.length] = tr;
}
preView();
for (var i=ar.length-1;i>-1;i--)
show.deleteRow(ar[i].rowIndex)
}
function pageSetup(){try{WB.ExecWB(8,1)}catch(e){alert("您的浏览器不支持此功能")}}
function preView(){try{WB.ExecWB(7,1)}catch(e){alert("您的浏览器不支持此功能")}}
//-->
</SCRIPT>
</head>
<body>
<OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WB width=0 VIEWASTEXT></OBJECT>
<center class=onlyShow>
设定每页打印
<input id=linesPerPage size=4 value=10>行
<button onclick='pageSetup()'>页面设置</button>
<button onClick='prepare()'>打印预览</button><BR><BR>
</center>
<table bgcolor=balck cellspacing=1 cellpadding=3 align=center>
<tbody bgcolor=white id=show>
<tr>
<td>员工号</td><td>姓名</td><td>职务</td><td>部门</td><td>扣税</td><td>上月结余</td><td>实发工资</td><td>应发工资</td><td>应扣款</td></tr>
<tr><td>0009</td><td>sdfa</td><td>副总裁</td><td>技术部</td><td>150.57</td><td>0.0</td><td>3706.61</td><td>3857.18</td><td>150.57</td></tr>
<tr><td>1000</td><td>赵志燕</td><td>总裁</td><td>技术部</td><td>0.0</td><td>0.0</td><td>2204.98</td><td>2221.62</td><td>16.64</td></tr>
<tr><td>1001</td><td>赵志平</td><td>副总裁</td><td>金工车间</td><td>122.74</td><td>0.0</td><td>3599.18</td><td>3739.52</td><td>140.33</td></tr>
<tr><td>1002</td><td>赵志勇</td><td>副总裁</td><td>生产部</td><td>324.6</td><td>0.0</td><td>5532.95</td><td>5857.56</td><td>324.6</td></tr>
<tr><td>1003</td><td>赵志华</td><td>副总裁</td><td>质量管理部</td><td>859.69</td><td>0.0</td><td>11155.8</td><td>12016.21</td><td>860.41</td></tr>
<tr><td>1004</td><td>赵志强</td><td>总经理</td><td>注塑班</td><td>726.58</td><td>0.0</td><td>9757.66</td><td>10484.84</td><td>727.18</td></tr>
<tr><td>1005</td><td>赵小燕</td><td>副总经理</td><td>计划调度室</td><td>8.98</td><td>0.0</td><td>2036.64</td><td>2045.62</td><td>8.98</td></tr>
<tr><td>1006</td><td>赵小平</td><td>副总经理</td><td>采购部</td><td>125.02</td><td>0.0</td><td>3438.49</td><td>3563.52</td><td>125.02</td></tr>
<tr><td>1007</td><td>赵小勇</td><td>副总经理</td><td>销售部</td><td>309.29</td><td>0.0</td><td>5372.26</td><td>5681.56</td><td>309.29</td></tr>
<tr><td>1008</td><td>赵小华</td><td>经理助理</td><td>用户服务部</td><td>0.0</td><td>0.0</td><td>11148.49</td><td>12008.21</td><td>859.71</td></tr>
<tr><td>1009</td><td>赵小强</td><td>经理助理</td><td>质量管理部</td><td>726.32</td><td>0.0</td><td>9754.92</td><td>10481.84</td><td>726.92</td></tr>
<tr><td>1010</td><td>赵燕</td><td>经理助理</td><td>海外市场部</td><td>8.98</td><td>0.0</td><td>2036.64</td><td>2045.62</td><td>8.98</td></tr>
<tr><td>1011</td><td>赵平</td><td>部门经理</td><td>营销部</td><td>125.02</td><td>0.0</td><td>3438.49</td><td>3563.52</td><td>125.02</td></tr>
<tr><td>1012</td><td>赵勇</td><td>部门经理</td><td>开发部</td><td>309.29</td><td>0.0</td><td>5372.26</td><td>5681.56</td><td>309.29</td></tr>
<tr><td>1013</td><td>赵华</td><td>部门经理</td><td>公司</td><td>859.0</td><td>0.0</td><td>11148.49</td><td>12008.21</td><td>859.71</td></tr>
<tr><td>1014</td><td>赵强</td><td>部门经理</td><td>总裁办公室</td><td>726.32</td><td>0.0</td><td>9754.92</td><td>10481.84</td><td>726.92</td></tr>
<tr><td>1015</td><td>赵海燕</td><td>部门经理</td><td>企业发展部</td><td>8.98</td><td>0.0</td><td>2036.64</td><td>2045.62</td><td>8.98</td></tr>
<tr><td>1016</td><td>赵海平</td><td>部门经理</td><td>质量管理部</td><td>125.02</td><td>0.0</td><td>3438.49</td><td>3563.52</td><td>125.02</td></tr>
<tr><td>1017</td><td>赵海勇</td><td>部门经理</td><td>计划财经部</td><td>309.29</td><td>0.0</td><td>5372.26</td><td>5681.56</td><td>309.29</td></tr>
<tr><td>1018</td><td>赵海华</td><td>部门经理</td><td>人事行政部</td><td>859.0</td><td>0.0</td><td>11148.49</td><td>12008.21</td><td>859.71</td></tr>
<tr><td>1019</td><td>赵海强</td><td>部门经理</td><td>技术科</td><td>726.32</td><td>0.0</td><td>9754.92</td><td>10481.84</td><td>726.92</td></tr>
<tr><td>1020</td><td>赵健燕</td><td>部门经理</td><td>小冲压</td><td>8.98</td><td>0.0</td><td>2036.64</td><td>2045.62</td><td>8.98</td></tr>
<tr><td>1021</td><td>赵健平</td><td>部门经理</td><td>大冲压</td><td>125.02</td><td>0.0</td><td>3438.49</td><td>3563.52</td><td>125.02</td></tr>
<tr><td>1022</td><td>赵健勇</td><td>部门经理</td><td>计划调度室</td><td>309.29</td><td>0.0</td><td>5372.26</td><td>5681.56</td><td>309.29</td></tr>
<tr><td>1023</td><td>赵健华</td><td>部门经理</td><td>生产部</td><td>859.0</td><td>0.0</td><td>11148.49</td><td>12008.21</td><td>859.71</td></tr>
<tr><td>1024</td><td>赵健强</td><td>部门经理</td><td>质量管理部</td><td>726.32</td><td>0.0</td><td>9754.92</td><td>10481.84</td><td>726.92</td></tr>
<tr><td>1026</td><td>赵国平</td><td>部门经理</td><td>管理组</td><td>125.02</td><td>0.0</td><td>3438.49</td><td>3563.52</td><td>125.02</td></tr>
<tr><td>1027</td><td>赵国勇</td><td>部门经理</td><td>采购部</td><td>309.29</td><td>0.0</td><td>5372.26</td><td>5681.56</td><td>309.29</td></tr>
<tr><td>1028</td><td>赵国华</td><td>部门经理</td><td>业务员</td><td>859.0</td><td>0.0</td><td>11148.49</td><td>12008.21</td><td>859.71</td></tr>
<tr><td>1029</td><td>赵国强</td><td>部门经理</td><td>销售部</td><td>726.32</td><td>0.0</td><td>9754.92</td><td>10481.84</td><td>726.92</td>

</tr>
</tbody>
</table>
</body>
</html>

❹ jsp中如何实现打印功能

// JavaScript Document
function printArea
{(function($) {
var printAreaCount = 0;
$.fn.printArea = function()
{
var ele = $(this);
var idPrefix = "printArea_";
//removePrintArea( idPrefix + printAreaCount );
printAreaCount++;
var iframeId = idPrefix + printAreaCount;
var iframeStyle = 'position:absolute;width:0px;height:0px;left:-500px;top:-500px;';
iframe = document.createElement('IFRAME');
$(iframe).attr({ style : iframeStyle,
id : iframeId
});
document.body.appendChild(iframe);
var doc = iframe.contentWindow.document;
doc.open();
$(document).find("link")
.filter(function(){
return $(this).attr("rel").toLowerCase() == "stylesheet";
})
.each(function(){
doc.write('<link type="text/css" rel="stylesheet" href="' +
$(this).attr("href") + '" >');
});
doc.write('<div class="' + $(ele).attr("class") + '">' + $(ele).html() + '</div>');
doc.close();
var frameWindow = iframe.contentWindow;
frameWindow.close();
frameWindow.focus();
frameWindow.print();
};
//var removePrintArea = function(id)
//{
//$( "iframe#" + id ).remove();
//};
})(jQuery);
(function($) {
var printAreaCount = 0;
$.fn.printAreaTwice = function()
{
var ele = $(this);
var idPrefix = "printArea_";
//removePrintArea( idPrefix + printAreaCount );
printAreaCount++;
var iframeId = idPrefix + printAreaCount;
var iframeStyle = 'position:absolute;width:0px;height:0px;left:-500px;top:-500px;';
iframe = document.createElement('IFRAME');
$(iframe).attr({ style : iframeStyle,
id : iframeId
});
document.body.appendChild(iframe);
var doc = iframe.contentWindow.document;
$(document).find("link")
.filter(function(){
return $(this).attr("rel").toLowerCase() == "stylesheet";
})
.each(function(){
doc.write('<link type="text/css" rel="stylesheet" href="' +
$(this).attr("href") + '" >');
});
doc.write('<div class="' + $(ele).attr("class") + '">' + $(ele).html() + '</div></br></br>');
doc.write('<div class="' + $(ele).attr("class") + '">' + $(ele).html() + '</div>');
doc.close();
var frameWindow = iframe.contentWindow;
frameWindow.close();
frameWindow.focus();
frameWindow.print();
};
//var removePrintArea = function(id)
//{
//$( "iframe#" + id ).remove();
//};
})(jQuery);
}
<input type="button" onclick="$('#ceshi').printArea()">
<div id="ceshi">
<table><tr><td>12234</td></tr></table>
</div>

❺ jsp页面如何用代码(java语言)实现打印功能

如一楼所说,你的jsp源文件的java代码是在服务器上执行的,客户端接收到的只有html
用JavaScript打印吧
<input
id="btnPrint"
type="button"
value="打印"
onclick="javascript:window.print();"
/>
可以用样式控制,你想让那块打印就打印啊,样式如下:
<style
type="text/css"
media=print>
.noprint{display
:
none
}
</style>
然后使用样式就可以:
<p
class="noprint">不需要打印的地方</p>

❻ 如何实现Jsp连接打印机打印功能

方法有很多,当然实现的难易也不同。

打印的页面部分,再通过JavaScript函数print()调用浏览器自带的打印功能,也可以直接实现打印。
以下通过实例进行说明。

< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns="http://www.w3.org/1999/xhtml">
< head>
< meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
< title>JSP中实现打印功能</title>
< style type="text/css">
< !--
.STYLE5 {color: #993399; font-size: xx-large; }
.STYLE6 {font-size: xx-large}
-->
< /style>
< !-- 将不用打印出来的地方隐藏了-->
< style type="text/css" media="print">
< !--
.dis{display:none;}
-->
< /style>
< /head>

< body>
< table width="616" height="350" border="1" align="center">
<tr>
<td colspan="2"> <span class="STYLE6">bbbbb </span></td>
</tr>
<tr>
<td><span class="STYLE5">aaa</span></td>
<td bgcolor="#99CCCC"><span class="STYLE6">bbbb</span></td>
</tr>
<tr>
<td><span class="STYLE5">aaa</span></td>
<td bgcolor="#99CCCC"><span class="STYLE6">bbbb</span></td>
</tr>
<tr>
<td><span class="STYLE5">aaa</span></td>
<td bgcolor="#99CCCC"><span class="STYLE6">bbbbb</span></td>
</tr>
< /table>
<p class="dis" align="center">
<OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id="WebBrowser" width=0> </OBJECT>
< input name=Button onClick=document.all.WebBrowser.ExecWB(1,1) type=button value=打开>
< input name=Button onClick=document.all.WebBrowser.ExecWB(2,1) type=button value=关闭所有>
< input name=Button onClick=document.all.WebBrowser.ExecWB(4,1) type=button value=另存为>
< input name=Button onClick=document.all.WebBrowser.ExecWB(6,1) type=button value=打印>
< input name=Button onClick=document.all.WebBrowser.ExecWB(6,6) type=button value=直接打印>
< input name=Button onClick=document.all.WebBrowser.ExecWB(7,1) type=button value=打印预览>
< input name=Button onClick=document.all.WebBrowser.ExecWB(8,1) type=button value=页面设置>
< input name=Button onClick=document.all.WebBrowser.ExecWB(10,1) type=button value=属性>
< input name=Button onClick=document.all.WebBrowser.ExecWB(17,1) type=button value=全选>
< input name=Button onClick=document.all.WebBrowser.ExecWB(22,1) type=button value=刷新>
< input name=Button onClick=document.all.WebBrowser.ExecWB(45,1) type=button value=关闭>
</p>
< /body>
< /html>

❼ 如何在jsp页面实现打印功能

jsp实现打印功能,需要调用windows对象,实例如下:

<scriptlanguage=JavaScript>
if(window.print){document.write('<inputtype=buttonname=printvalue="打印页内面"'+'onClick="javascript:window.print()">');}
</script>嵌入这段容代码

❽ 怎样在jsp中实现打印功能

不知道你说的是前端在浏览器控制台打印还是服务器的控制台打印。
浏览器打印在js用console.log。
服务器打印的话
<%System.out.print("");%>

❾ java代码的打印信息控件怎么做或者有现成的代码也行。

一: 首先理清业务逻辑

两个窗口, 第一个主窗口, 是用于填写信息的, 点击按钮后,跳转到第二个窗口,.

第二个对话框窗口 ,用于显示需要打印的信息, 以及打印到文档


二: 确定需要的技术, java图像界面主要使用awt和swing

swing里面的控件比较丰富, 且功能强大 .


三: 效果图片

importjava.awt.*;
importjava.awt.event.*;
importjava.io.*;
importjavax.swing.*;
//定义一个主窗口类
{
publicstaticfinalStringFILE_PATH="c:\print.txt";//常量,用于指定信息的保存路径
//定义主要的组件
privatefinalJTextFieldjtf1,jtf2,jtf3;
privatefinalJCheckBoxjcb1,jcb2,jcb3;
privatefinalJRadioButtonjrb1,jrb2;

publicMainFrame(){
setTitle("信息提交窗口");//设置窗口标题
setSize(350,320);//设置窗口大小
setLocationRelativeTo(null);//让窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);//当主窗口关闭的时候退出jvm虚拟机
JPaneljp=newJPanel(newGridLayout(5,1,2,1));//定义主显示面板,布局为表格布局5行1列,水平间距2,垂直间距1

JPaneljp1=newJPanel();//第一行的组件面板
JLabeljl1=newJLabel("姓名");
jtf1=newJTextField(10);
jp1.add(jl1);
jp1.add(jtf1);

JPaneljp2=newJPanel();//第二行的组件面板
JLabeljl2=newJLabel("学号");
jtf2=newJTextField(10);
jp2.add(jl2);
jp2.add(jtf2);

JPaneljp3=newJPanel();//第三行的组件面板
JLabeljl3=newJLabel("性别");
jrb1=newJRadioButton("男");
jrb2=newJRadioButton("女");
jrb1.setSelected(true);
ButtonGroupbgs=newButtonGroup();
bgs.add(jrb1);
bgs.add(jrb2);
jp3.add(jl3);
jp3.add(jrb1);
jp3.add(jrb2);

JPaneljp4=newJPanel();//第四行的组件面板
JLabeljl4=newJLabel("选择爱好");
jcb1=newJCheckBox("游泳");
jcb2=newJCheckBox("篮球");
jcb3=newJCheckBox("跑步");
jp4.add(jl4);
jp4.add(jcb1);
jp4.add(jcb2);
jp4.add(jcb3);

JPaneljp5=newJPanel();//第五行的组件面板
JLabeljl5=newJLabel("自我介绍");
jtf3=newJTextField(22);
jp5.add(jl5);
jp5.add(jtf3);

//添加到主显示面板
jp.add(jp1);
jp.add(jp2);
jp.add(jp3);
jp.add(jp4);
jp.add(jp5);
jp.setBorder(BorderFactory.createTitledBorder("填写资料"));//设置主显示面板的边框

JButtonjb=newJButton("跳转到打印页");
jb.addActionListener(newActionListener(){//按钮事件

publicvoidactionPerformed(ActionEvente){//获取组件的信息
StringBuildersb=newStringBuilder();//用于连接信息
Stringname=jtf1.getText();
sb.append("姓名:"+name+" ");
Stringnum=jtf2.getText();
sb.append("学号:"+num+" ");
Stringsex;
if(jrb1.isSelected()){
sex="男";
}else{
sex="女";
}
sb.append("性别:"+sex+" ");
Stringaihao="";
if(jcb1.isSelected()){
aihao+=jcb1.getText();
}
if(jcb2.isSelected()){
aihao+=""+jcb2.getText();
}
if(jcb3.isSelected()){
aihao+=""+jcb3.getText();
}
sb.append("爱好:"+aihao+" ");
Stringjieshao=jtf3.getText();
sb.append("自我介绍:"+jieshao+" ");
newPrintDailog(sb.toString(),FILE_PATH).setVisible(true);//打开打印页面,并设置为可见
}
});

getContentPane().add(newJLabel("信息填写",JLabel.CENTER),BorderLayout.NORTH);
getContentPane().add(jp);
getContentPane().add(jb,BorderLayout.SOUTH);
}

publicstaticvoidmain(String[]args){
newMainFrame().setVisible(true);
}
}

//定义一个对话框窗口类
{
Stringinfo;//用于接受信息
StringfilePath;//文档的路径
privatefinalJLabeljl2;
publicPrintDailog(Stringinfo,finalStringfilePath){
this.info=info;
this.filePath=filePath;
setModal(true);//模态为真,如果不关闭这个对话框,那么无法点击其他窗口
setTitle("信息打印页");//设置打印窗口的标题
setSize(300,320);//设置打印窗口的大小
setLocationRelativeTo(null);//设置打印窗口居中
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);//当点击关闭按钮时,该窗口销毁
JLabeljl1=newJLabel("信息打印显示",JLabel.CENTER);
JTextAreajta=newJTextArea(info);
jta.setEditable(false);//不可编辑
jta.setLineWrap(true);//自动换行
JScrollPanejsp=newJScrollPane(jta);
jsp.setBorder(BorderFactory.createTitledBorder("信息"));

JButtonjb1=newJButton("打印");
JPaneljp=newJPanel(newGridLayout(2,1));
JPaneljp1=newJPanel();
jp1.add(jb1);

JPaneljp2=newJPanel();
jl2=newJLabel();
jp2.add(jl2);

jp.add(jp1);
jp.add(jp2);
add(jl1,BorderLayout.NORTH);
add(jsp);
add(jp,BorderLayout.SOUTH);

jb1.addActionListener(newActionListener(){//点击打印的按钮的事件
publicvoidactionPerformed(ActionEvente){
saveToFile();//信息打印到了文档
jl2.setText("信息已经打印到"+filePath);//显示出来
jl2.setForeground(Color.RED);//为了醒目设置颜色为红色
}
});

}

privatevoidsaveToFile(){//该方法用于保存信息到文档
try{
BufferedWriterbw=newBufferedWriter(newOutputStreamWriter(newFileOutputStream(filePath),"UTF-8"));
bw.write(info);
bw.close();
}catch(Exceptione){
e.printStackTrace();
}
}
}


五: 拓展

java 制作图像界面比较简单, 只需要熟练的掌握三大布局(流布局 表格布局 边界布局)和常用组件 , 就能制作出比较复杂的界面 . 所以理清业务逻辑, 才是重点

❿ jquery.qrcode插件在Jsp中能显示二维码图,但打印不出来这个二维码,怎样打印呢

你说的这个qr code插件本身就是代码形式的显示方式。不是图片怎么能打印。
1 是php的就转成图片。
2 不用插件,生成图片直接放入位置,就可以打印。

阅读全文

与jsp打印指定二维码源代码相关的资料

热点内容
淘宝店铺数据包怎么做 浏览:195
win10键盘黏连 浏览:332
json如何生成表格 浏览:323
怎么修复sql数据库表 浏览:40
微信微博差别 浏览:163
签到积分换礼品app 浏览:812
mfc最近打开文件 浏览:672
app埋点平台都有哪些app 浏览:314
瑞斯康达网络管理界面 浏览:254
ca证书管理器linux 浏览:358
苹果id安全提示问题3个字符 浏览:949
iphone上好的拍照软件 浏览:579
word内嵌文件怎么下载 浏览:864
8s16升级 浏览:340
计算机网络技术基础pdf 浏览:544
javafrom提交地址参数 浏览:721
git发布版本 浏览:728
vc修改文件名 浏览:149
linux65从域 浏览:321
用什么东西压缩文件 浏览:406

友情链接