日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Web打印的解决方案之普通报表打印

發布時間:2025/3/21 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Web打印的解决方案之普通报表打印 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

做過很多的Web項目,大多數在打印頁面內容的時候,采用的都是通過Javascript調用系統內置的打印方法進行打印,也就是調用PrintControl.ExecWB(?,?)實現直接打印和打印預覽功能。打印的效果及控制性雖然不是很好,但是也能勉強使用,應付一般的打印還是可以的了。

代碼如下所示:

代碼 //調用PrintControl.ExecWB(?,?)實現直接打印和打印預覽功能。(直接用系統提供的print()方法打印無法隱藏某些區域)
//
preview:是否顯示預覽。null/false:不顯示,true:顯示
function?printPage(preview)
{
???
try
???{
???????
var?content=window.document.body.innerHTML;
???????
var?oricontent=content;
???????
while(content.indexOf("{$printhide}")>=0)?content=content.replace("{$printhide}","style='display:none'");
???????
if(content.indexOf("ID=\"PrintControl\"")<0)?content=content+"<OBJECT?ID=\"PrintControl\"?WIDTH=0?HEIGHT=0?CLASSID=\"CLSID:8856F961-340A-11D0-A96B-00C04FD705A2\"></OBJECT>";
???????window.document.body.innerHTML
=content;
???????
//PrintControl.ExecWB(7,1)打印預覽,(1,1)打開,(4,1)另存為,(17,1)全選,(10,1)屬性,(6,1)打印,(6,6)直接打印,(8,1)頁面設置
???????if(preview==null||preview==false)?PrintControl.ExecWB(6,1);
???????
else?PrintControl.ExecWB(7,1);?//OLECMDID_PRINT=7;?OLECMDEXECOPT_DONTPROMPTUSER=6/OLECMDEXECOPT_PROMPTUSER=1
???????window.document.body.innerHTML=oricontent;
???}
???
catch(ex){?alert("執行Javascript腳本出錯。");?}
}

function?printConten(preview,?html)
{
???
try
???{
???????
var?content=html;
???????
var?oricontent=window.document.body.innerHTML;
???????
while(content.indexOf("{$printhide}")>=0)?content=content.replace("{$printhide}","style='display:none'");
???????
if(content.indexOf("ID=\"PrintControl\"")<0)?content=content+"<OBJECT?ID=\"PrintControl\"?WIDTH=0?HEIGHT=0?CLASSID=\"CLSID:8856F961-340A-11D0-A96B-00C04FD705A2\"></OBJECT>";
???????
???????window.document.body.innerHTML
=content;
???????
//PrintControl.ExecWB(7,1)打印預覽,(1,1)打開,(4,1)另存為,(17,1)全選,(10,1)屬性,(6,1)打印,(6,6)直接打印,(8,1)頁面設置
???????if(preview==null||preview==false)?PrintControl.ExecWB(6,1);
???????
else?PrintControl.ExecWB(7,1);?//OLECMDID_PRINT=7;?OLECMDEXECOPT_DONTPROMPTUSER=6/OLECMDEXECOPT_PROMPTUSER=1
???????window.document.body.innerHTML=oricontent;
???}
???
catch(ex){?alert("執行Javascript腳本出錯。");?}
}

?

上面兩個函數放在一個Js文件中,在頁面內容中通過應用該腳本文件并調用進一步封裝的函數即可打印指定部分的內容:

????<script?language="javascript">
????????
function?Print(preview)?{
????????????
var?text?=?document.getElementById("content").innerHTML;
????????????printConten(preview,?text);
????????}

?

打印的效果大致如下圖所示,如果打印的頁面在框架頁面中,那么需要選定“僅打印選定框架”的選項。

采用此種方法,不需要安裝任何控件,具有很好的兼容優勢,不過出來的報表內容,好像控制起來會比較麻煩一些,特別對于一些報表方面的打印,需要輸出復雜的內容是,也有一定的缺陷,但總體來說,也是一個較好的選擇。

后來在需要做一些證件套打方面的工作,這個控件就做不到了,因此需要一種方法或者控件,能夠較好處理套打方面的事情。

無意間,發現一個比較好的打印控件,支持各種格式的打印,還有我關心的證件套打功能,功能強大,使用也很簡單的,非常值得推薦。

控件的相關地址:

控件下載主頁:http://mt.runon.cn/index.html

控件博客介紹:http://blog.sina.com.cn/s/articlelist_1340389911_0_1.html

?

應用這個控件,普通報表的打印效果如下所示:

?

上面兩個報表的打印其實都差不多,都是打印部分的HTML內容,不過后者看起來要好一點,而且提供很完善的報表功能設置。

代碼大致如下所示。

代碼 ????<script?language="javascript">
????????
function?Print(preview)?{
????????????
var?text?=?document.getElementById("content").innerHTML;
????????????printConten(preview,?text);
????????}
????
</script>
????
????
<script?language="javascript"?src="http://www.cnblogs.com/Scripts/CheckActivX.js"></script>
????
<object?id="LODOP"?classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA"?width=0?height=0>?</object>?
????
<script?language="javascript">
????????
var?LODOP?=?document.getElementById("LODOP");?//這行語句是為了符合DTD規范
????????CheckLodop();
????
</script>
????
<script?language="javascript"?type="text/javascript">

????????
function?Preview()?{//打印預覽
????????????CreateLicenseData();
????????????LODOP.SET_SHOW_MODE(
"PREVIEW_IN_BROWSE",?1);
????????????LODOP.PREVIEW();
????????};
????????
function?Setup()?{//打印維護?給用戶調整位置
????????????CreateLicenseData();
????????????LODOP.PRINT_SETUP();
????????};
????????
function?Design()?{//打印設計?開發人員設置內容和位置
????????????CreateLicenseData();
????????????LODOP.PRINT_DESIGN();
????????};

????????
function?CreateLicenseData()?{
????????????LODOP.PRINT_INIT(
"查詢報表");
????????????LODOP.ADD_PRINT_HTM(
20,?40,?610,?900,?document.all("content").innerHTML);
????????????LODOP.PREVIEW();
????????}
????
</script>?

?

?

很多時候,我們也沒的內容,都是通過CSS來控制美觀的,所以有時候,我們打印部分HTML,沒有這些樣式的話,那么出來的Table格式和字體,可能都會發生變化,不太好看。那么就需要進行HTML的樣式設置。

如果給打印內容設置了樣式,那么出來的界面效果就好很多了。

?

設置樣式的代碼如下所示。

代碼 ????<script?language="javascript"?type="text/javascript">

????????function?Preview()?{
//打印預覽
????????????CreateLicenseData();
????????????LODOP.SET_SHOW_MODE(
"PREVIEW_IN_BROWSE",?1);
????????????LODOP.PREVIEW();
????????};

????????function?CreateLicenseData()?{
????????????LODOP.PRINT_INIT(
"申請處理單");
????????????var?strBodyStyle?
=?"<link?type='text/css'?rel='stylesheet'?href='http://www.cnblogs.com/Themes/Default/style.css'?/><style><!--table?{?border:1;background-color:?#CBCBCC?}?td?{background-color:#FFFFFE;border:?1;?}?th?{?background-color:#F1F1F3;padding-left:5px;border:1}--></style>";
????????????var?strFormHtml?
=?strBodyStyle?+?"<body>"?+?document.getElementById("content").innerHTML?+?"</body>";
????????????LODOP.ADD_PRINT_HTM(
20,?40,?610,?900,?strFormHtml);
????????????LODOP.PREVIEW();
????????}
????
</script>?

?

?

下一篇繼續介紹下證件套打的打印功能。

主要研究技術:代碼生成工具、Visio二次開發
????
??? 轉載請注明出處:
撰寫人:伍華聰??http:
//www.iqidi.com?

轉載于:https://www.cnblogs.com/easypass/archive/2010/01/15/1648885.html

總結

以上是生活随笔為你收集整理的Web打印的解决方案之普通报表打印的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产黄a | www九色 | 国产又粗又长又黄的视频 | 91精品免费| 国产精品自产拍高潮在线观看 | xxxx999| 国产欧美一区二区三区国产幕精品 | 日韩一区二区三区不卡视频 | 91麻豆精品国产理伦片在线观看 | 亚洲日本综合 | 日本裸体xx少妇18在线 | 国产裸体舞一区二区三区 | 国内毛片毛片毛片毛片毛片 | 精品免费av | 午夜精品在线视频 | 97人妻精品一区二区三区免费 | 手机在线一区二区三区 | 欧美在线色 | 国产精品一二区在线观看 | 男人的天堂日韩 | 欧洲亚洲天堂 | 91学生片黄 | 69视频网址 | 成人a区| 午夜肉伦伦 | 亚洲日本在线播放 | 国产色呦呦 | h网站在线看| 偷拍欧美另类 | 88久久精品无码一区二区毛片 | 亚洲一二三区在线 | 日本久久激情 | 亚洲国产日韩在线一区 | 性欧美18一19性猛交 | 色婷婷97| 亚洲第一在线 | 国产精品麻豆入口 | 91小视频在线观看 | 中文字幕激情视频 | 福利二区三区 | 成人综合婷婷国产精品久久 | 日韩精品无码一区二区三区久久久 | 操色网 | 国模少妇一区二区三区 | 久久麻豆精品 | 成人黄色性视频 | 国产免费脚交足视频在线观看 | 亚洲毛片大全 | av天堂一区二区 | 韩国无码av片在线观看网站 | 亚洲免费人成 | a在线免费观看 | 国产老熟女一区二区三区 | 国产精华7777777 | 日本黄色动态图 | 毛茸茸成熟亚洲人 | 国产欧美一区二区三区国产幕精品 | 欧洲日韩一区二区三区 | 欧美精品在欧美一区二区少妇 | 国产人妻人伦精品1国产 | 国产小视频在线免费观看 | 成人性做爰aaa片免费 | 美女扒开腿让男生桶 | 国产精品免费视频一区二区三区 | 国产探花视频在线观看 | 午夜天堂精品 | av网站在线免费看 | 午夜黄色 | av黄色免费网站 | 这里只有精品66 | 午夜宫 | 巨大胸大乳奶电影 | 黄色片成年人 | 九九热精彩视频 | 日本学生初尝黑人巨免费视频 | 国产成人无码精品久久久久久 | 国产精品99一区二区三区 | 超碰在线观看99 | 美女网站视频在线观看 | 中国黄色免费网站 | 免费一级片网站 | 麻豆射区| 亚洲综合小说 | 老女人性视频 | 午夜不卡av | 国产精品麻豆入口 | 性生交大片免费看l | 亚洲色图图 | 国产69久久 | 日日夜夜婷婷 | 亚洲一二三区视频 | 精品国产乱码一区二区三区99 | 伊人成综合网 | 久久91av | 永久免费视频网站直接看 | 亚洲色图另类小说 | 亚洲AV无码一区二区三区少妇 | 亚洲一二区视频 | 国产成人三级一区二区在线观看一 |