十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
如一樓所說(shuō),你的jsp源文件的java代碼是在服務(wù)器上執(zhí)行的,客戶端接收到的只有html
成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),雞東企業(yè)網(wǎng)站建設(shè),雞東品牌網(wǎng)站建設(shè),網(wǎng)站定制,雞東網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,雞東網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(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
/**
* 字符串轉(zhuǎn)換unicode
*/
public static String string2Unicode(String string) {
StringBuffer unicode = new StringBuffer();
for (int i = 0; i string.length(); i++) {
// 取出每一個(gè)字符
char c = string.charAt(i);
// 轉(zhuǎn)換為unicode
unicode.append("\\u" + Integer.toHexString(c));
}
return unicode.toString();
}
/**
* unicode 轉(zhuǎn)字符串
*/
public static String unicode2String(String unicode) {
StringBuffer string = new StringBuffer();
String[] hex = unicode.split("\\\\u");
for (int i = 1; i hex.length; i++) {
// 轉(zhuǎn)換出每一個(gè)代碼點(diǎn)
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!
";
//轉(zhuǎn)換成Graphics2D
Graphics2D g2 = (Graphics2D) gra;
//設(shè)置打印顏色為黑色
g2.setColor(Color.black);
//打印起點(diǎn)坐標(biāo)
double x = pf.getImageableX();
double y = pf.getImageableY();
switch (pageIndex) {
case 0:
//設(shè)置打印字體(字體名稱、樣式和點(diǎn)大小)(字體名稱可以是物理或者邏輯名稱)
//Java平臺(tái)所定義的五種字體系列:Serif、SansSerif、Monospaced、Dialog 和 DialogInput
Font font = new Font("新宋體", Font.PLAIN, 9);
g2.setFont(font);//設(shè)置字體
//BasicStroke bs_3=new BasicStroke(0.5f);
float[] dash1 = {2.0f};
//設(shè)置打印線的屬性。
//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);//設(shè)置線寬
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對(duì)象可以調(diào)用自己的實(shí)例方法實(shí)現(xiàn)打印。 JFrame jf=new JFrame(); Toolkit tl=jf.getToolkit() //返回此窗體的工具包 PrintJob p=tl.getPrintJob(Frame frame,String jobtitle,Properties props); //獲取一個(gè) PrintJob 對(duì)象,該對(duì)象是在工具包平臺(tái)上初始化某個(gè)打印操作的結(jié)果。 參數(shù): frame - 打印對(duì)話框的父容器。不能為 null。 jobtitle - PrintJob 的標(biāo)題。null 標(biāo)題等同于 ""。 props - 包含零個(gè)或更多屬性的 Properties 對(duì)象。這些屬性沒(méi)有被標(biāo)準(zhǔn)化,并且在各個(gè)實(shí)現(xiàn)之間不一致。因此,要求作業(yè)和頁(yè)面控制的 PrintJob 應(yīng)該使用此方法帶有 JobAttributes 和 PageAttributes 對(duì)象的版本。可以更新此對(duì)象來(lái)反映用戶離開(kāi)時(shí)的作業(yè)選擇??梢詾?null。 Graphics g=p.getGraphics() // 為組件創(chuàng)建一個(gè)圖形上下文。如果組件當(dāng)前是不可顯示的,則此方法返回 null。 jf.paintAll(g); //打印該容器及內(nèi)嵌組件; jf.paint(g); //只打印該容器; 這是個(gè)大概模型,如果你需要其他的作用,就要查JDK幫助文檔; 所有的代碼都是我查詢JDK幫助文檔所得,絕對(duì)正確,而且我以前用過(guò)。