當前位置:編程學習大全網 - 源碼下載 - Javaweb打印源代碼

Javaweb打印源代碼

兄弟,我給妳做,免費,只要是領養的!代碼如下:

包裹?測試;

進口?Java . awt . *;

進口?Java . awt . print . *;

公共?班級?JavaPrint?器物?可打印?{

int?m _ wPage

int?m _ hPage

int?m _ orientation

可打印?m _ target

int?maxNumPage?=?1;

字符串?標題?=?”數據表單打印”;

字體?titleFont?=?新的?字體(" bold ",字體。大膽,?14);

布爾?hasTail?=?真實;

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;

字符串?strTemp?=?”打印內容”;

公共?作廢?doPrint()?{

試試?{

m _定向?=?頁面格式。人像;

//?設置打印對象,默認紙張。

PrinterJob?prnJob?=?printer job . getprinterjob();

頁面格式?頁面格式?=?prn job . default page();

page format . set orientation(m _ orientation);

m_wPage?=?(int)?(page format . getwidth());

m_hPage?=?(int)?(page format . getheight());

//?根據默認紙張設置將要打印的表單傳遞到打印對象中。

prnJob.setPrintable(這個,?page format);

如果?(!prnJob.printDialog())

返回;

prn job . print();

}?接住?(PrinterException?ex)?{

ex . printstacktrace();

System.err.println("打印錯誤:"?+?ex . tostring());

}

}

/**

?*?初始化打印參數

?*/

公共?作廢?initPrintParameter()?{

}

/**

?*構造打印機要打印的打印內容。

?*/

公共?int?打印(圖形?pg,?頁面格式?頁面格式,?int?頁面索引)

摔投?PrinterException?{

//?初始化打印參數

initPrintParameter();

//?將畫布設置為頁面大小

pg.translate((int)?pageFormat.getImageableX(),?(int)?頁面格式

。getImageableY());

int?wPage?=?0;

int?hPage?=?0;

//?根據打印機頁面設置調整畫布大小。

如果?(pageFormat.getOrientation()?==?頁面格式。人像)?{

wPage?=?(int)?page format . getimageablewidth();

hPage?=?(int)?page format . getimageableheight();

}?不然呢?{

wPage?=?(int)?page format . getimageablewidth();

wPage?+=?wPage?/?2;

hPage?=?(int)?page format . getimageableheight();

pg.setClip(0,?0,?wPage,?h page);

}

wPage?=?wPage?-?2?*?左側空間;

hPage?=?hPage?-?2?*?topSpace

xStart?=?左側空間;

xEnd?=?wPage?-?2;

//?設定畫布的顏色和字體。

int?y?=?topSpace

pg . set font(title font);

pg . set color(color . black);

//?畫壹個標題,居中。

字體?fn?=?pg . get font();

FontMetrics?fm?=?pg . getfont metrics();

y?+=?FM . getascent();

alignText(標題,pg,?y,?xStart,?xEnd,?head align);

y?+=?30;

x?=?leftSpace?+?2;

字體?海德豐?=?新的?字體("宋體",字體。大膽,?14);

pg . set font(header font);

fm?=?pg . getfont metrics();

int?h?=?FM . getascent();

yStart?=?y?-?1;

y?+=?h;

pg . set font(header font);

fm?=?pg . getfont metrics();

int?表頭?=?y;

h?=?FM . get height();

//?計算行高、每頁行數、總行數以及指定頁碼的起始行和結束行。

int?羅?=?Math.max(h,10);

int?tailH?=?羅?+?30;

int?rowPerPage?=?0;

int?leftPix?=?0;

如果?(hasTail)?{

rowPerPage?=?(hPage?-?表頭?-?tailH)?/?rowH

leftPix?=?(hPage?-?表頭?-?tailH)?%?rowH

yEnd?=?hPage?-?leftPix?-?tailH?+?2;

}?不然呢?{

rowPerPage?=?(hPage?-?表頭)?/?rowH

leftPix?=?(hPage?-?表頭)?%?rowH

yEnd?=?hPage?-?leftPix?+?2;

}

pg .拉繩(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);

//?打印頁碼

如果?(hasTail)?{

int?頁碼?=?pageIndex?+?1;

字符串?s?=?“沒有”+?頁碼?+?”頁面”;

alignText(s,pg,?yEnd?+?30,?xStart,?xEnd,?tail align);

}

system . GC();

回歸?PAGE _ EXISTS

}

/**

?*?文字排列,y坐標,顯示範圍(起止)?0表示居中顯示,1表示左對齊,2表示右對齊。

?*/

私人?作廢?alignText(字符串?s,?圖形?pg,?int?y,?int?開始,?int?結束,

int?模式)?{

字體?fn?=?pg . get font();

FontMetrics?fm?=?pg . getfont metrics();

int?wString?=?FM . string width(s);

int?x?=?開始;

切換?(模式)?{

案子?0:

如果?((完?-?開始?-?wString)?& gt?0)

x?=?開始?+?(完?-?開始?-?wString)?/?2;

打破;

案子?1:

打破;

案子?2:

如果?((完?-?開始?-?wString)?& gt?0)

x?=?開始?+?(完?-?開始?-?wString);

打破;

}

第2頁,拉繩(s,?x,?y);

}

公共?靜電?作廢?main(String[]?args)?{

JavaPrint?p?=?新的?Java print();

p . do print();

}

我叫雷鋒,請認養~ ~

  • 上一篇:MES的具體定義是什麽
  • 下一篇:如何用c語言列出目錄樹
  • copyright 2024編程學習大全網