SMART datagrid v.1 > Reporting > Concepts
通过PrintDimension数据类型,设置SMART datagrid格报表指定的位置和大小值。 可以通过下列表格中所列出的几个单位进行指定,而如果没有表明单位,就会被指定为pixel。
如果不是pixel,就会根据全局常量html dpi值而在内部转换为pixel,并且html dpi的默认值为96。 可以通过PrintOptions,变更Dpi全局值。
单位 | 说明 | 例题 |
---|---|---|
in | inches。转换为'值 x dpi'。 | '120in' |
cm | centimeters。转换为'值 x 0.393701 dpi*'。 | '21.1cm' |
mm | milliimeters。转换为'值 x 0.0393701 dpi*'。 | '211mm' |
px | pixels。默认值。无需指定单位。 | '800px', 1200 |
var report = {
pageHeader: {
items: [{
right: '1cm',
text: 'SMART datagrid Inc'
}]
},
...
};
DLReport.preview(grdMain, report, data, {
// PrintOptions
papaerWidth: "180mm",
paperHeight: "23.0cm",
paperMaringTop: "0.3in",
paperMarginBottom: "50px",
paperMarginLeft: 43
...
}, true);
可以说,在单纯的卷筒纸印刷(Web Printing)中,几乎没有JavaScript可以得知或控制的印刷信息。 特别是,因为基本上都无法知道打印机的纸张大小, 所以需要开发人员(或用户)直接设置已物理设置的印刷纸张大小、边距以及印刷方向等,才可以匹配所导出的元素大小与实际大小。
在SMART datagrid格报表模块中,可以通过PrintOptions而设置这些内容, 并且设置信息将会传递至DLReport.preview函数。
在PrintOptions中, 纸张宽度和高度已被默认设置为A4(210 X 297mm), 并且上、下、 左、右边距分别被设置为默认值15mm、15mm、12mm、12mm。 另外,打印方向已被设置为PaperOrientation.PORTRAIT。 只有在这些值与物理打印机设置相匹配的情况下,打印文件中的各个元素的实际大小,才会与指定在报表模型中的大小相同。
特别是,因为浏览器是通过缩放(Scaling)而处理页面调整, 所以即使在浏览器预览中,各个页面都显示正常,也不代表这是匹配实测的状态。 如果是需要注意尺寸的打印文件,就必须要用实际打印出来的文件而进行测量。 而且,根据经验,有可能会存在1mm左右的误差,所以如果是打印多个页面的情况,就可能会经历对特定打印机的一定试错。