|
@@ -438,9 +438,22 @@ let rptArchiveObj = {
|
|
|
return rst;
|
|
|
},
|
|
|
_getPageSignatureInfo: function(pageData, rpt_id) {
|
|
|
+ // 因接口方是这样的单位:A4(297*210 -> pt 814.68 * 595.44),那么需要把像素转换成pt的系数,经过测试发现这个系数就是PDF_SCALE,不用再设置了
|
|
|
let psInfo = [], psInfoStr = [];
|
|
|
let offsetX = 0, offsetY = 0; //这个跟导出pdf一致,以防万一有变化
|
|
|
let controls = pageData[JV.NODE_CONTROL_COLLECTION];
|
|
|
+ const _getAreasProperty = (srcArea) => {
|
|
|
+ const width = (srcArea[JV.IDX_RIGHT] - srcArea[JV.IDX_LEFT]);
|
|
|
+ const height = (srcArea[JV.IDX_BOTTOM] - srcArea[JV.IDX_TOP]);
|
|
|
+ let rst = {
|
|
|
+ Left: srcArea[JV.IDX_LEFT] + offsetX, Top: srcArea[JV.IDX_TOP] + offsetY, width, height,
|
|
|
+ PtCenterX: +((srcArea[JV.IDX_LEFT] + offsetX + width / 2) * PDF_SCALE).toFixed(2),
|
|
|
+ PtCenterY: +((srcArea[JV.IDX_TOP] + offsetX + height / 2) * PDF_SCALE).toFixed(2),
|
|
|
+ PtWidth: +(width * PDF_SCALE).toFixed(2), PtHeight: +(height * PDF_SCALE).toFixed(2),
|
|
|
+ pages: []
|
|
|
+ };
|
|
|
+ return rst;
|
|
|
+ };
|
|
|
const _getProperSignatureArea = function(cell, control) {
|
|
|
// 约定默认长宽比例是2:1,图片分辨率是600*300
|
|
|
const rst = [0, 0, 0, 0]; // left, top, right, bottom
|
|
@@ -512,7 +525,7 @@ let rptArchiveObj = {
|
|
|
if (idx < 0) {
|
|
|
psInfoStr.push(sCell[signNameKey]);
|
|
|
let newPsInfo = {'name': sCell[signNameKey], areas: [], company_stamp_areas: [], private_stamp_areas: [], order: psInfoStr.length};
|
|
|
- let area = {Left: actSignArea[JV.IDX_LEFT] + offsetX, Top: actSignArea[JV.IDX_TOP] + offsetY, width: (actSignArea[JV.IDX_RIGHT] - actSignArea[JV.IDX_LEFT]), height: (actSignArea[JV.IDX_BOTTOM] - actSignArea[JV.IDX_TOP]), pages: []};
|
|
|
+ const area = _getAreasProperty(actSignArea);
|
|
|
area.pages.push(pageIdx + 1);
|
|
|
newPsInfo[areaKey].push(area);
|
|
|
psInfo.push(newPsInfo);
|
|
@@ -527,7 +540,7 @@ let rptArchiveObj = {
|
|
|
}
|
|
|
}
|
|
|
if (!hasArea) {
|
|
|
- let area = {Left: actSignArea[JV.IDX_LEFT] + offsetX, Top: actSignArea[JV.IDX_TOP] + offsetY, width: (actSignArea[JV.IDX_RIGHT] - actSignArea[JV.IDX_LEFT]), height: (actSignArea[JV.IDX_BOTTOM] - actSignArea[JV.IDX_TOP]), pages: []};
|
|
|
+ const area = _getAreasProperty(actSignArea);
|
|
|
area.pages.push(pageIdx + 1);
|
|
|
psInfo[idx][areaKey].push(area);
|
|
|
}
|