如一樓所說,你的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
Print.java--打印內容定義 [code] import java.awt.*; import java.awt.event.*; import java.awt.print.*; import java.awt.image.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.border.*; import javax.swing.event.*; import java.util.*; import java.io.*; public class Print implements Printable{ int m_wPage; int m_hPage; int m_orientation; Printable m_target; int maxNumPage=1; String title="數據表格打印"; Font titleFont=new Font("黑體",Font.BOLD,14); boolean hasTail=true; int tailAlign=0; int headAlign=0; int topSpace=0; int leftSpace=0; int yStart=0; int yEnd=0; int xStart=topSpace; int xEnd=0; int x=0,y=0; String strTemp="打印內容"; public void doPrint(){ try{ m_orientation=PageFormat.PORTRAIT; //設置打印對象,默認紙張 PrinterJob prnJob=PrinterJob.getPrinterJob(); PageFormat pageFormat=prnJob.defaultPage(); pageFormat.setOrientation(m_orientation); m_wPage=(int)(pageFormat.getWidth()); m_hPage=(int)(pageFormat.getHeight()); //將待打印的窗體根據默認紙張設置傳入打印對象 prnJob.setPrintable(this,pageFormat); if(!prnJob.printDialog()) return; prnJob.print(); }catch(PrinterException ex){ ex.printStackTrace(); System.err.println("打印錯誤:"+ex.toString()); } } /** * 初始化打印參數 */ public void initPrintParameter() { } /** *構造打印內容,以送打印機打印 */ public int print(Graphics pg,PageFormat pageFormat, int pageIndex) throws PrinterException{ //初始化打印參數 initPrintParameter(); //將畫布設置為頁面大小 pg.translate((int)pageFormat.getImageableX(), (int)pageFormat.getImageableY()); int wPage=0; int hPage=0; //根據打印機頁面設置調整畫布大小 if(pageFormat.getOrientation()==pageFormat.PORTRAIT){ wPage=(int)pageFormat.getImageableWidth(); hPage=(int)pageFormat.getImageableHeight(); } else{ wPage=(int)pageFormat.getImageableWidth(); wPage+=wPage/2; hPage=(int)pageFormat.getImageableHeight(); pg.setClip(0,0,wPage,hPage); } wPage=wPage-2*leftSpace; hPage=hPage-2*topSpace; xStart=leftSpace; xEnd=wPage-2; //為畫布設置顏色和字體 int y=topSpace; pg.setFont(titleFont); pg.setColor(Color.black); //畫標題,并使其居中 Font fn=pg.getFont(); FontMetrics fm=pg.getFontMetrics(); y+=fm.getAscent(); alignText(title,pg,y,xStart,xEnd,headAlign); y+=30; x=leftSpace+2; Font headerFont=new Font("宋體",Font.BOLD,14); pg.setFont(headerFont); fm=pg.getFontMetrics(); int h=fm.getAscent(); yStart=y-1; y+=h; pg.setFont(headerFont); fm=pg.getFontMetrics(); int header=y; h=fm.getHeight(); //計算行高,每頁行數,總行數和指定頁碼的起始行、結束行 int rowH=Math.max(h,10); int tailH=rowH+30; int rowPerPage=0; int leftPix=0; if(hasTail){ rowPerPage=(hPage-header-tailH)/rowH; leftPix=(hPage-header-tailH)%rowH; yEnd=hPage-leftPix-tailH+2; } else{ rowPerPage=(hPage-header)/rowH; leftPix=(hPage-header)%rowH; yEnd=hPage-leftPix+2; } pg.drawString(strTemp,x,y); //畫表格邊框 pg.drawLine(xStart,yStart,xStart,yEnd); pg.drawLine(xStart,yStart,xEnd,yStart); pg.drawLine(xEnd,yStart,xEnd,yEnd); pg.drawLine(xStart,yEnd,xEnd,yEnd); //打印頁碼 if(hasTail){ int pageNumber=pageIndex+1; String s="第"+pageNumber+"頁"; alignText(s,pg,yEnd+30,xStart,xEnd,tailAlign); } System.gc(); return PAGE_EXISTS; } /** * 文字排列,坐標在y處,顯示范圍(start-end) * 0表示居中顯示,1表示左對齊,2表示右對齊 */ private void alignText(String s,Graphics pg,int y,int start, int end,int mode){ Font fn=pg.getFont(); FontMetrics fm=pg.getFontMetrics(); int wString=fm.stringWidth(s); int x=start; switch(mode) { case 0: if((end-start-wString)0) x=start+(end-start-wString)/2; break; case 1: break; case 2: if((end-start-wString)0) x=start+(end-start-wString); break; } pg.drawString(s,x,y); } public static void main(String[] args){ Print p=new Print(); p.doPrint(); } } [code] 運行方法: javac -d . Print.java java Print 自己運行一下 from:
采納哦
1.
/**
*?開始打印
*/
public?void?startPrint()?{
Toolkit?kit?=?Toolkit.getDefaultToolkit();?//獲取工具箱
Properties?props?=?new?Properties();
props.put("awt.print.printer",?"durango");?//設置打印屬性
props.put("awt.print.numCopies",?"2");
if?(kit?!=?null)?{
//獲取工具箱自帶的打印對象
PrintJob?printJob?=?kit.getPrintJob(owner,?"Print?View?Frame",?props);
if?(printJob?!=?null)?{
Graphics?pg?=?printJob.getGraphics();?//獲取打印對象的圖形環境
if?(pg?!=?null)?{
try?{
this.paintAll(pg);?//打印該窗體及其所有的組件
}?finally?{
pg.dispose();?//注銷圖形環境
}
}
printJob.end();?//結束打印作業
}
}
}
2.OpenSwing里面有一個Demo,你可以看看
你好。 你所創建JFrame對象可以調用自己的實例方法實現打印。 JFrame jf=new JFrame(); Toolkit tl=jf.getToolkit() //返回此窗體的工具包 PrintJob p=tl.getPrintJob(Frame frame,String jobtitle,Properties props); //獲取一個 PrintJob 對象,該對象是在工具包平臺上初始化某個打印操作的結果。 參數: frame - 打印對話框的父容器。不能為 null。 jobtitle - PrintJob 的標題。null 標題等同于 ""。 props - 包含零個或更多屬性的 Properties 對象。這些屬性沒有被標準化,并且在各個實現之間不一致。因此,要求作業和頁面控制的 PrintJob 應該使用此方法帶有 JobAttributes 和 PageAttributes 對象的版本。可以更新此對象來反映用戶離開時的作業選擇。可以為 null。 Graphics g=p.getGraphics() // 為組件創建一個圖形上下文。如果組件當前是不可顯示的,則此方法返回 null。 jf.paintAll(g); //打印該容器及內嵌組件; jf.paint(g); //只打印該容器; 這是個大概模型,如果你需要其他的作用,就要查JDK幫助文檔; 所有的代碼都是我查詢JDK幫助文檔所得,絕對正確,而且我以前用過。
本文題目:java窗口打印代碼 java中打印輸出的代碼
分享URL:http://m.newbst.com/article46/doihchg.html
成都網站建設公司_創新互聯,為您提供服務器托管、電子商務、全網營銷推廣、網站維護、網站設計、做網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯