6月27日京東商城發(fā)布了中國電子商務(wù)領(lǐng)域首張電子發(fā)票,同時(shí)宣布相關(guān)系統(tǒng)正式上線,這標(biāo)志著中國電子商務(wù)的步伐又向前邁出了重要的一步。目前“電子發(fā)票”覆蓋的服務(wù)范圍是在北京地區(qū)購買圖書、音像商品的個(gè)人消費(fèi)者。消費(fèi)者在進(jìn)行指定品類網(wǎng)上消費(fèi)時(shí)可選擇開具普通紙質(zhì)發(fā)票或電子發(fā)票。本文將揭秘如何通過 ActiveReports 報(bào)表實(shí)現(xiàn)電子發(fā)票的功能。
在使用 ActiveReports 報(bào)表控件實(shí)現(xiàn)發(fā)票打印、發(fā)貨單打印、物流清單打印、商品條碼印刷、員工工卡印刷之類的功能時(shí),您只需在設(shè)計(jì)報(bào)表階段加載套打紙作為報(bào)表背景圖片,實(shí)際打印時(shí)僅將數(shù)據(jù)打印到套打紙的相應(yīng)位置。
1、創(chuàng)建報(bào)表文件
創(chuàng)建報(bào)表,添加背景圖片,并根據(jù)打印參數(shù)來顯示或者隱藏背景圖片
在工程中添加ActiveReports報(bào)表,報(bào)表模板選擇【ActiveReports 7頁面報(bào)表】,命名為rptInvoice.rdlx
報(bào)表添加完成之后,在報(bào)表資源管理器中的【嵌入式圖像】節(jié)點(diǎn)中添加增值稅發(fā)票背景圖片
從VS工具箱中將 Image 控件添加到報(bào)表設(shè)計(jì)界面,并設(shè)置 Image 控件的值,如下所示:
添加完背景圖片之后,我們在相應(yīng)文字添加 TextBox 控件用于顯示數(shù)據(jù),最終得到的設(shè)計(jì)效果如下:
2、自定義 WebViewer 控件
自定義 WebViewer 控件,在工具欄中添加【套打】按鈕,當(dāng)用戶點(diǎn)擊【套打】時(shí)運(yùn)行報(bào)表(不顯示背景圖)并打印
在工程的ASPX頁面中添加兩個(gè) WebViewer 控件,一個(gè)用于報(bào)表預(yù)覽,一個(gè)用于報(bào)表打印. 添加完成之后設(shè)置兩個(gè)WebViewer控件的ViewerType為FlashViewer,
并設(shè)置FlashViewerOptions中的UseClientApi為True.
在頁面中添加以下 JavaScript ,用于報(bào)表的打印操作:
<script language="javascript" type="text/javascript">
var viewer, viewerforprint;
var pages;
window.onload = function () {
GrapeCity.ActiveReports.Viewer.OnLoad("<%=WebViewer1.ClientID %>", function () {
viewer = GrapeCity.ActiveReports.Viewer.Attach("<%=WebViewer1.ClientID %>");
viewer.setEventsHandler({
OnToolClick: function (e) {
if (e.Tool == "套打") {
printreport();
return false;
}
},
OnLoadProgress: function (e) {
if (e.State == "Completed") {
pages = e.PageCount;
}
}
});
});
GrapeCity.ActiveReports.Viewer.OnLoad("<%=WebViewer2.ClientID %>", function () {
viewerforprint = GrapeCity.ActiveReports.Viewer.Attach("<%=WebViewer2.ClientID %>");
});
}
function printreport() {
var orient = "None";
var scale = "None";
var from = 1;
var to = pages;
var ops = viewerforprint.CreatePrintOptions();
ops.AdjustPaperOrientation = orient;
ops.ScalePages = scale;
ops.ClearPageRanges();
ops.AddPageRange(from, to);
viewerforprint.Print(ops);
}
</script>
切換到ASPX后臺(tái)代碼視圖, 添加以下代碼在 WebViewer 工具欄中添加[套打]按鈕:
private void CustomizeToolbar()
{
// 隱藏打印范圍按鈕
ToolBase btnRang = WebViewer1.FlashViewerToolBar.Tools["PageRangeButton"];
btnRang.Visible = false;
// 隱藏打印按鈕
ToolBase btnPrint = WebViewer1.FlashViewerToolBar.Tools["PrintButton"];
btnRang.Visible = false;
ToolButton btnCPrint = Tool.CreateButton("套打");
btnCPrint.Caption = "套打";
btnCPrint.ToolTip = "套打";
WebViewer1.FlashViewerToolBar.Tools.Insert(0, btnCPrint);
}
3、運(yùn)行程序
在線演示及源碼下載地址:
http://www.gcpowertools.com.cn/products/activereports_demo.htm
ActiveReports 報(bào)表應(yīng)用教程 (5)---解密電子商務(wù)領(lǐng)域首張電子發(fā)票的誕生(套打報(bào)表)
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
