6月27日京東商城發佈了中國電子商務領域首張電子發票,同時宣佈相關係統正式上線,這標誌着中國電子商務的步伐又向前邁出了重要的一步。目前「電子發票」覆蓋的服務範圍是在北京地區購買圖書、音像商品的我的消費者。消費者在進行指定品類網上消費時可選擇開具普通紙質發票或電子發票。本文將揭祕如何經過 ActiveReports 報表實現電子發票的功能。 javascript
在使用 ActiveReports 報表控件實現發票打印、發貨單打印、物流清單打印、商品條碼印刷、員工工卡印刷之類的功能時,您只需在設計報表階段加載套打紙做爲報表背景圖片,實際打印時僅將數據打印到套打紙的相應位置。 java
建立報表,添加背景圖片,並根據打印參數來顯示或者隱藏背景圖片 工具
在工程中添加ActiveReports報表,報表模板選擇【ActiveReports 7頁面報表】,命名爲rptInvoice.rdlx spa
報表添加完成以後,在報表資源管理器中的【嵌入式圖像】節點中添加增值稅發票背景圖片 設計
從VS工具箱中將 Image 控件添加到報表設計界面,並設置 Image 控件的值,以下所示: code
添加完背景圖片以後,咱們在相應文字添加 TextBox 控件用於顯示數據,最終獲得的設計效果以下: htm
自定義 WebViewer 控件,在工具欄中添加【套打】按鈕,當用戶點擊【套打】時運行報表(不顯示背景圖)並打印 圖片
在工程的ASPX頁面中添加兩個 WebViewer 控件,一個用於報表預覽,一個用於報表打印. 添加完成以後設置兩個WebViewer控件的ViewerType爲FlashViewer, 並設置FlashViewerOptions中的UseClientApi爲True. ip
在頁面中添加如下 JavaScript ,用於報表的打印操做: 資源
<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後臺代碼視圖, 添加如下代碼在 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);}
http://www.gcpowertools.com.cn/products/activereports_demo.htm