图片 21

Web打字与印刷消除方案之证件套打地铁落到实处思路,怎样贯彻报表设计中的高精度报表套打

Posted by

在不少行个中票据具备从严的正业规范,格式是无力回天修改的,1旦格式有所改变,票据数据就会失效无效。因而普通状态下,大家会在先行设计好格式的表格的打字与印刷版中,手动填入数据音讯,如相近的每一种账本,报废单等填写数据。

3月2110日京东商铺宣布了中华人民共和国电子商务领域首张电子发票,同时宣布相关系统标准上线,那申明着中国电子商务的脚步又前进迈出了主要的一步。近来“电子发票”覆盖的劳务范围是在新加坡地区购买书籍、录音带和录录像带商品的民用消费者。消费者在开始展览点名项目互连网海消防费时可挑选开具普通纸质发票或电子发票。本文将揭秘怎么样通过葡萄城ActiveReports报表报表达成电子发票的功能。

在日前介绍过《Web打字与印刷解决方案之常见报表打字与印刷效能》的一片文章中涉及过非常打字与印刷控件Lodop,做起套打来感到依然挺便宜的,至少地点调治分界面不须求本身弄,地点嘛,也提供了电动保存的成效,不供给理会。

 

在使用葡萄城ActiveReports报表控件达成发票打字与印刷、发货单打字与印刷、物流清单打字与印刷、商品条码印刷、职员和工人工卡印刷之类的效应时,您只需在统一准备报表阶段加载套打纸作为报表背景图片,实际打印时仅将数据打字与印刷到套打纸的相应岗位。

相似的套打,包涵了几片段操作:打字与印刷预览、打字与印刷维护、打字与印刷设计。

单张票据手动填入是未曾别的难题的,而随着办公自动化,大批量数码都急需电子化处理,不仅比相当的慢还利于保存,不易出错。在单据成为健康办公操作时,手动填入不仅不能满意而且尤其低效,又因为票据的格式是无能为力修改的,古板的报表工具日常是开支量的主意鲜明数据区域的职位,来安排报表。如此一来,制作一张票据打字与印刷的报表不仅费时费劲,而且很难保障票据的卓有效用,更是无所适从满意今后面世的新票据格式的渴求。套打报表的现身化解了那1难点,简化了电子票证制作打字与印刷的功能。

 

打字与印刷预览和打字与印刷维护是面向终端用户的,打字与印刷维护是指内容无法修改删除、但职责能够调度,给区别的打字与印刷机不相同的尺码打印提供调治岗位的或者。

 

1、创造报表文件

开创报表,增加背景图片,并依附打印参数来突显或然隐藏背景图片

在工程中加多ActiveReports报表,报表模板选拔【ActiveReports
柒页面报表】,命名字为rptInvoice.rdlx

图片 1

报表增加实现之后,在报表财富管理器中的【嵌入式图像】节点中增多增值税发票背景图片

图片 2

从VS工具箱中校Image 控件增加到报表设计分界面,并安装 Image 控件的值,如下所示:

图片 3

图片 4

增添完背景图片之后,大家在相应文字增添Text博克斯 控件用于显示数据,最后获得的宏图功效如下:

图片 5 

 

打字与印刷设计是面向开荒人士的,开首需求通过这一个功能来统一希图好套打地铁分界面,正是依照套打证件的背景图片,大致摆放好各类内容的职位。

套打报表
套打也被称作定位打字与印刷,即在一张预设格式的票据上,零固有误差打字与印刷上急需填写的数目内容。预设票据纸里卡多·瓦兹·特以知道为,在报表制作进程中,为报表设置为特定的表格背景(票据电子版),然后依照此背景设置供给填写的多寡项及相称的多寡控件。由此打字与印刷时只打字与印刷数据,而整个背景不会输出到打字与印刷机中。套打报表也足以开始的接头为“套格式打字与印刷”。套打报表成效是报表开采工具提供的最主题最常用且最考验报表专门的学业性的法力。

2、自定义 WebViewer 控件

自定义 WebViewer
控件,在工具栏中增多【套打】按键,当用户点击【套打】时运营报表(不出示背景图)并打字与印刷

在工程的ASPX页面中增添七个WebViewer 控件,二个用于报表预览,3个用来报表打字与印刷.
增添实现以往设置七个WebViewer控件的ViewerType为FlashViewer,
并设置FlashViewerOptions中的UseClientApi为True.

在页面中加多以下
JavaScript ,用于报表的打字与印刷操作:

 1     <script language="javascript" type="text/javascript">
 2         var viewer, viewerforprint;
 3         var pages;
 4 
 5         window.onload = function () {
 6             GrapeCity.ActiveReports.Viewer.OnLoad("<%=WebViewer1.ClientID %>", function () {
 7                 viewer = GrapeCity.ActiveReports.Viewer.Attach("<%=WebViewer1.ClientID %>");
 8                 viewer.setEventsHandler({
 9                     OnToolClick: function (e) {
10                         if (e.Tool == "套打") {
11                             printreport();
12                             return false;
13                         }
14                     },
15                     OnLoadProgress: function (e) {
16                         if (e.State == "Completed") {
17                             pages = e.PageCount;
18                         }
19                     }
20                 });
21             });
22 
23             GrapeCity.ActiveReports.Viewer.OnLoad("<%=WebViewer2.ClientID %>", function () {
24                 viewerforprint = GrapeCity.ActiveReports.Viewer.Attach("<%=WebViewer2.ClientID %>");
25             });
26         }
27 
28         function printreport() {
29             var orient = "None";
30             var scale = "None";
31             var from = 1;
32             var to = pages;
33             var ops = viewerforprint.CreatePrintOptions();
34             ops.AdjustPaperOrientation = orient;
35             ops.ScalePages = scale;
36             ops.ClearPageRanges();
37             ops.AddPageRange(from, to);
38 
39             viewerforprint.Print(ops);
40 
41         }
42 
43     </script>

 

切换来ASPX后台代码视图,
加多以下代码在 WebViewer 工具栏中增多[套打]按钮:

 

 1     private void CustomizeToolbar()
 2     {
 3         // 隐藏打印范围按钮
 4         ToolBase btnRang = WebViewer1.FlashViewerToolBar.Tools["PageRangeButton"];
 5         btnRang.Visible = false;
 6 
 7         // 隐藏打印按钮
 8         ToolBase btnPrint = WebViewer1.FlashViewerToolBar.Tools["PrintButton"];
 9         btnRang.Visible = false;
10 
11         ToolButton btnCPrint = Tool.CreateButton("套打");
12         btnCPrint.Caption = "套打";
13         btnCPrint.ToolTip = "套打";
14 
15         WebViewer1.FlashViewerToolBar.Tools.Insert(0, btnCPrint);
16     }

大略的落成代码如下所示:

 

三、运转程序

图片 6

 

<script language="javascript">
var LODOP=document.getElementById("LODOP");//这行语句是为了符合DTD规范
CheckLodop();
</script>
<script language="javascript" type="text/javascript"> 
function Preview2() { 
CreateDataBill();
LODOP.PREVIEW(); 
}; 
function Setup2() { 
CreateDataBill();
LODOP.PRINT_SETUP(); 
};
function Design2() { 
CreateDataBill();
LODOP.PRINT_DESIGN();
}; 
function RealPrint() { 
CreateDataBill();
if (LODOP.PRINTA()) 
alert("已发出实际打印命令!"); 
else 
alert("放弃打印!"); 
}; 
function CreateDataBill() {
LODOP.SET_PRINT_PAPER(10,10,762,533,"打印控件功能演示_Lodop功能_移动公司发票套打");
LODOP.ADD_PRINT_TEXT(126,150,100,20,"郭德刚");
LODOP.SET_PRINT_STYLEA(1,"FontColor",16711680);
LODOP.ADD_PRINT_TEXT(151,150,100,20,"13954885177");
LODOP.SET_PRINT_STYLEA(2,"FontColor",16711680);
LODOP.ADD_PRINT_TEXT(125,584,99,20,"发票打印(第1次)");
LODOP.SET_PRINT_STYLEA(3,"FontColor",16711680);
LODOP.ADD_PRINT_TEXT(465,140,198,20,"陆百柒拾捌元叁角零分");
LODOP.SET_PRINT_STYLEA(4,"FontColor",16711680);
LODOP.ADD_PRINT_TEXT(465,599,70,20,"678.30");
LODOP.SET_PRINT_STYLEA(5,"FontColor",16711680);
LODOP.ADD_PRINT_TEXT(496,408,59,20,"H112063");
LODOP.SET_PRINT_STYLEA(6,"FontColor",16711680);
LODOP.ADD_PRINT_TEXT(191,58,100,20,"国内漫游通话");
LODOP.SET_PRINT_STYLEA(7,"FontColor",16711680);
LODOP.ADD_PRINT_TEXT(191,217,100,20,"584.00");
LODOP.SET_PRINT_STYLEA(8,"FontColor",16711680);
LODOP.ADD_PRINT_TEXT(222,58,100,20,"增值业务费");
LODOP.SET_PRINT_STYLEA(9,"FontColor",16711680);
LODOP.ADD_PRINT_TEXT(222,217,100,20,"48.30");
LODOP.SET_PRINT_STYLEA(10,"FontColor",16711680);
LODOP.ADD_PRINT_TEXT(251,58,100,20,"代收费");
LODOP.SET_PRINT_STYLEA(11,"FontColor",16711680);
LODOP.ADD_PRINT_TEXT(251,217,100,20,"50.00");
LODOP.SET_PRINT_STYLEA(12,"FontColor",16711680);
LODOP.ADD_PRINT_TEXT(280,58,100,20,"优惠费");
LODOP.SET_PRINT_STYLEA(13,"FontColor",16711680);
LODOP.ADD_PRINT_TEXT(280,217,100,20,"4.00");
LODOP.SET_PRINT_STYLEA(14,"FontColor",16711680);
LODOP.ADD_PRINT_TEXT(98,101,150,20,"101081005747319387");
LODOP.SET_PRINT_STYLEA(15,"FontColor",16711680);
LODOP.ADD_PRINT_TEXT(97,307,150,20,"2008年10月19日 10:28:38");
LODOP.SET_PRINT_STYLEA(16,"FontColor",16711680);
LODOP.ADD_PRINT_TEXT(152,584,103,20,"138860016786");
LODOP.SET_PRINT_STYLEA(17,"FontColor",16711680);
LODOP.ADD_PRINT_TEXT(95,571,112,20,"06775516");
LODOP.SET_PRINT_STYLEA(18,"FontName","System");
LODOP.SET_PRINT_STYLEA(18,"FontColor",16711680);
LODOP.ADD_PRINT_TEXT(496,135,183,20,"2008年09月(20080901-20080930)");
LODOP.SET_PRINT_STYLEA(19,"FontColor",16711680);
LODOP.ADD_PRINT_TEXT(496,572,112,20,"-王府井中心店营");
LODOP.SET_PRINT_STYLEA(20,"FontColor",16711680);
LODOP.ADD_PRINT_TEXT(311,217,100,20,"678.30");
LODOP.SET_PRINT_STYLEA(21,"FontColor",16711680);
LODOP.ADD_PRINT_TEXT(311,58,100,20,"费用合计");
LODOP.SET_PRINT_STYLEA(22,"FontColor",16711680);
LODOP.ADD_PRINT_SETUP_BKIMG("<img src=Report/证件背景.jpg' />");
LODOP.SET_SHOW_MODE ("BKIMG_IN_PREVIEW",1);
}
</script> 

编码落成套打代码,专业量大不说,实现逻辑10分复杂,精准度无法掌握控制。如下图中的打字与印刷,很明朗为了对齐大写的“现金支付”栏目,其余门类的打字与印刷都曾经偏离。

在线演示及源码下载地址:

http://www.gcpowertools.com.cn/products/activereports\_demo.htm
图片 7

连带阅读:

【报表福利大放送】100余套报表模板免费下载 

 矩表 –
当代数量解析中必备的报表工具

 

里面许多内容依然相比好驾驭的,区别的效应调用差异的函数Preview为预览、Setup为保卫安全、Design为设计。

图片 8

在套打客车时候,注意需求通过上边代码来设置展现背景图片(打字与印刷的时候,是不打字与印刷背景的)。

 

LODOP.ADD_PRINT_SETUP_BKIMG("<img src=Report/证件背景.jpg' />");
LODOP.SET_SHOW_MODE ("BKIMG_IN_PREVIEW",1); //打印预览时是否包含背景图

选择情状

其余,由于表格的始末都以写在HTML页面中的,因而在动态设置剧情的时候,一能够用脚本来读取分界面成分作为数据源,二足以透过后台代码自动生成脚本代码,输出到前台页面中,看具体的内需了。

套打作用在各行各业的表格打字与印刷中都有很宽泛的应用。如发票打印,发货物运输单,以及科学普及的各个证据等,上面大家就来看有的行当套打报表的演示。
财务系统中发票打字与印刷正是非常杰出的套打报表的实例。在报表设计进程中只须求将诸如:名称、抬头、地址电话等新闻,而任何背景不会输出到打字与印刷机中。

套打的士预览界面大约如下图所示,其宝墨绛红部分是亟需打字与印刷的始末,背景图片是一个发票的金科玉律。

图片 9

图片 10

发货物运输单是电子商务系统中11分非凡的套打报表,打字与印刷时只会打字与印刷数据,比方:客户编码、寄件公司、联络人、地址等音信。

上面代码是透过脚本获取界面成分来赢得相应的剧情的,那种状态相符于分界面上大概会修改部分打字与印刷的始末的光景。

图片 11

LODOP.ADD_PRINT_TEXT(95, 695, 250, 52, document.getElementById("txtCompanyName").innerText); //业户名称
LODOP.SET_PRINT_STYLEA(1, "FontSize", 14);
LODOP.SET_PRINT_STYLEA(1, "Bold", 1);
var licenseDate = document.getElementById("txtLicenseDate").value;//证件有效期
var licenseYear = "";
var licenseMonth = "";
var licenseDay = "";
if (licenseDate != null && licenseDate != "") {
licenseYear = licenseDate.split("-")[0];
licenseMonth = licenseDate.split("-")[1];
licenseDay = (licenseDate.split("-")[2]).substr(0, 2);
}
LODOP.ADD_PRINT_TEXT(396, 190, 46, 22, validateYear); //有效期 结束 年 
LODOP.SET_PRINT_STYLEA(6, "FontSize", 11);
LODOP.SET_PRINT_STYLEA(6, "Bold", 1);
LODOP.ADD_PRINT_TEXT(396, 253, 30, 22, validateMonth); //有效期 结束 月
LODOP.SET_PRINT_STYLEA(7, "FontSize", 11);
LODOP.SET_PRINT_STYLEA(7, "Bold", 1);
LODOP.ADD_PRINT_TEXT(396, 304, 32, 22, validateDay); //有效期 结束 日
LODOP.SET_PRINT_STYLEA(8, "FontSize", 11);
LODOP.SET_PRINT_STYLEA(8, "Bold", 1);

除去上述常见的套打报表打字与印刷功用,像大家生存中积贮凭条,等凭证及小票的打字与印刷用便是套打功用。

末尾附上它的打算分界面,当中变化代码功用可以变动用于静态HTML中的内容布局展现,做肯定的修改调解就能够用在动态页面中了。相当实用的二个效应。

图片 12

图片 13

落成格局

以上所述是作者给大家介绍的Web打字与印刷消除方案之证件套打客车兑现思路,希望对我们有着援救,假设大家有其余疑问请给本人留言,作者会及时过来我们的。在此也非凡感激大家对剧本之家网址的辅助!

本文以蒲陶城报表为例,在安顿报表阶段加载套打纸作为报表背景图片,实际打字与印刷时仅将数据打字与印刷到套打纸的应和地点,以便更有益的达成报表套打。

你只怕感兴趣的篇章:

  • Web打字与印刷消除方案之常见报表打字与印刷成效
  • 网页WEB打字与印刷控件制作
  • JavaWeb落成打印功用
  • 选用javascript落成web页面中钦命区域打字与印刷
  • js调整web打字与印刷(局地打字与印刷)方法整理
  • web打印 window.print()介绍
  • web的种种前端打字与印刷格局之jquery打字与印刷插件jqprint达成网页打印
  • web的各个前端打字与印刷格局之jquery打字与印刷插件PrintArea完结网页打字与印刷
  • web 页面分页打字与印刷的贯彻
  • web打字与印刷小结

 

一.
新建报表文件

环视制式表获取复印件,设置为背景层;创造CRUISERDL
报表,加多背景图片,并依赖打字与印刷参数来呈现恐怕隐藏背景图片,注意,如若对格式有卓殊严俊的供给,提议选拔页面报表。

图片 14

 

 

二.
增加背景图片到报表

报表加多完毕之后,在表格资源管理器中的【嵌入式图像】节点中增多增值税发票背景图片。

图片 15

 

叁.
增多图片控件

将图纸控件增多到设计器中,并安装图片的以下属性:

图片 16

 

肆.
设置好背景图片

图片 17

到此背景已经设置在Default层中,背景层平日不要求打字与印刷出来(因为是依照相制版式表格打字与印刷的),因而设置Default层的TargetDevice
属性。

图片 18

接下去设置套打内容控件。

 

伍.
利用报表分层举行套打

赐紫牛桃城报表控件首创提出报表层的设计思想,报表分层设计是对报表中控件分组管理和设计,可对同组内的方方面面控件进行锁定/解锁,加多/删除,显示/隐藏,调解反射率等操作,分解报表设计,下降复杂报表模板的规划难度。同时,能够层为单位决定其在分歧器械上的可知性,如是还是不是在纸张展现,该层全体的控件是不是输出到显示屏,该层是不是用于导出。零编码达成1式多份、报表套打等中夏族民共和国式报表须要。

 

六.
贯彻套打注重-新建层

开发【层管理器】
点击+
符号,命名称叫控件层,选中央调整件层后,在控件层中地方增多对应控件。

图片 19

增添控件到控件层 

图片 20

 

7.
预览报表

图片 21

转发请表明来源:葡萄城报表

 

连带阅读:

在线民报告表设计实战连串 –
制作图表类报表
在线民报告表设计实战类别 –
制作交叉分析表
在线报表设计实战类别 –
制作多Y轴组合图表

 

相关文章

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注