第1章 背景

在我们的实际项目开发中,很多情况会用到票据的打印。即在一张印刷好的空白票据上,准确无误地打印上票据的内容。传统的做法我们通常会用尺子量每一个数据区域的位置,然后在屏幕上根据尺子量出的尺寸设计每个格子的位置,反复调试,即绝对定位制表。这样制作一张票据打印的报表费时费力。

UniEAP Report提供采用以基准图片动态绘制报表的解决方案,以解决套打问题,这样制表可以保证报表设计效果与实际打印效果一致,将数据准确的打印到单据的空白处。较绝对定位方式设计套打报表方案省时省力,并且更加准确,不会产生文字错位。具体操作如下图。

具体方案如下(以“外埠差旅费报销单”为例)

第2章 扫描空白单据(发票等)

使用扫描仪将单据扫描成图片,然后使用画图工具修改图片大小,保证图片尺寸与单据实际尺寸一致。

外埠差旅费报销单实际尺寸为239mm*105mm。

1

第3章 创建空白报表

打开报表设计器->新建空白报表->创建数据集等准备工作。

2

3

第4章 设置基准图片

基准图片用于绘制报表

4

选择第一步中扫描的图片

5

效果如下

6

第5章 设置背景图片

背景图片用于预览查看报表效果。

点击工具栏的背景图片按钮

7

同样选择第一步扫描的图片做为背景图片,并设置不打印、不导出

8

第6章 绘制报表

根据基准图片(单据扫描图)调整报表的行高列宽,以适应单据上的空白处。这个步骤比较耗时,需要通过调整行高列宽、合并单元格和单元格对齐方式等方法使报表单元格与打印单据一致。调整到下图所示效果大概30分钟。实际操作方式与Excel相似。

9

第7章 设置单元格仅打印内容

选择所有单元格 属性 保护 可打印 仅打印内容,这样设置以后在实际打印的时候就不会将单元格的样式打印出来了。

10

第8章 数据公式

在报表上需要填写数据的单元格(对应单据的空白处)上编写公式,完成报表的设计工作。完成这一步骤大概用了15分钟。

11

第9章 Web预览

将设计好的报表发布,前端预览,在前端预览的时候由于各浏览器引擎对单元格宽高计算的实现不同,在展现的时候可能会有些差异,Firefox与设计器的效果能够保持一致,IE8会出现小幅度错位现象(问题修正中),但是对实际打印效果没有影响。

12

13

第10章 打印效果

使用虚拟打印机打印带背景图片的效果

14

下图为不带背景图片的效果(因为没有票据打印机,只能展示空打效果)

15

在实际开发过程中,经过上述操作过程之后,票据显示区域内容与实际票据完全一致,在打印调试时无需调整,仅需要调整页面边距,以达到最佳效果。

16

至此套打报表的设计就完成了,按照以上步骤可以较以前绝对定位绘制报表节省60%以上的时间,提高报表设计效率,减少出错的机率。

方案优势:

  • 依赖于基准图片定义套打报表,无需量每个打印元素的绝对位置,定位准确,开发效率高;
  • 使用图片背景,使得在Web端浏览和报表导出时,样式完整、真实;
  • 使用“相对定位”方式,保证了打印区域内打印元素的布局是稳定的,在打印调试过程中无需修改,提高调试效率,对于开发环境中没有票据打印机无法调试情况尤其适用。

results matching ""

    No results matching ""

    results matching ""

      No results matching ""