如一樓所說,你的jsp源文件的java代碼是在服務器上執(zhí)行的,客戶端接收到的只有html
成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設,雞東企業(yè)網(wǎng)站建設,雞東品牌網(wǎng)站建設,網(wǎng)站定制,雞東網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,雞東網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
用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
/**
* 字符串轉換unicode
*/
public static String string2Unicode(String string) {
StringBuffer unicode = new StringBuffer();
for (int i = 0; i string.length(); i++) {
// 取出每一個字符
char c = string.charAt(i);
// 轉換為unicode
unicode.append("\\u" + Integer.toHexString(c));
}
return unicode.toString();
}
/**
* unicode 轉字符串
*/
public static String unicode2String(String unicode) {
StringBuffer string = new StringBuffer();
String[] hex = unicode.split("\\\\u");
for (int i = 1; i hex.length; i++) {
// 轉換出每一個代碼點
int data = Integer.parseInt(hex[i], 16);
// 追加成string
string.append((char) data);
}
return string.toString();
}
public int print(Graphics gra, PageFormat pf, int pageIndex) throws PrinterException {
System.out.println("pageIndex=" + pageIndex);
Component c = null;
//print string
String str = "
Hello Word!
";
//轉換成Graphics2D
Graphics2D g2 = (Graphics2D) gra;
//設置打印顏色為黑色
g2.setColor(Color.black);
//打印起點坐標
double x = pf.getImageableX();
double y = pf.getImageableY();
switch (pageIndex) {
case 0:
//設置打印字體(字體名稱、樣式和點大?。ㄗ煮w名稱可以是物理或者邏輯名稱)
//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("F:\\workspace\\QQ.png");
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;
}
}
你好。 你所創(chuàng)建JFrame對象可以調用自己的實例方法實現(xiàn)打印。 JFrame jf=new JFrame(); Toolkit tl=jf.getToolkit() //返回此窗體的工具包 PrintJob p=tl.getPrintJob(Frame frame,String jobtitle,Properties props); //獲取一個 PrintJob 對象,該對象是在工具包平臺上初始化某個打印操作的結果。 參數(shù): frame - 打印對話框的父容器。不能為 null。 jobtitle - PrintJob 的標題。null 標題等同于 ""。 props - 包含零個或更多屬性的 Properties 對象。這些屬性沒有被標準化,并且在各個實現(xiàn)之間不一致。因此,要求作業(yè)和頁面控制的 PrintJob 應該使用此方法帶有 JobAttributes 和 PageAttributes 對象的版本??梢愿麓藢ο髞矸从秤脩綦x開時的作業(yè)選擇??梢詾?null。 Graphics g=p.getGraphics() // 為組件創(chuàng)建一個圖形上下文。如果組件當前是不可顯示的,則此方法返回 null。 jf.paintAll(g); //打印該容器及內(nèi)嵌組件; jf.paint(g); //只打印該容器; 這是個大概模型,如果你需要其他的作用,就要查JDK幫助文檔; 所有的代碼都是我查詢JDK幫助文檔所得,絕對正確,而且我以前用過。