@@ -144,7 +144,8 @@ let JpcCommonHelper = {
for (let sIdx = 0; sIdx < strVal.length; sIdx++) {
currentW = (strVal.charCodeAt(sIdx) > 127)?chnW:otherW;
txtWidth += currentW;
- if (txtWidth > areaWidth) {
+ if (txtWidth > (areaWidth - 4)) {
+ //减4个像素是考虑到导出excel的情况
rst++;
txtWidth = currentW;
}
@@ -166,7 +167,8 @@ let JpcCommonHelper = {
if (preSIdx < sIdx) {
rst.push(strVal.substr(preSIdx, sIdx - preSIdx));
preSIdx = sIdx;
@@ -282,10 +282,11 @@ let JpcCanvasOutput = {
//根据control的 自动折行 及 缩放优先 这俩属性 来分解cell value
if (control[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_WRAP]] === 'T' && control[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_SHRINK_FIRST]] !== 'T') {
let vals = [];
- let validAreaTxtWidth = cell[JV.PROP_AREA][JV.PROP_RIGHT] - JV.OUTPUT_OFFSET[JV.OFFSET_IDX_RIGHT] - cell[JV.PROP_AREA][JV.PROP_LEFT] - JV.OUTPUT_OFFSET[JV.OFFSET_IDX_LEFT];
+ let validAreaTxtWidth = cell[JV.PROP_AREA][JV.PROP_RIGHT] - JV.OUTPUT_OFFSET[JV.OFFSET_IDX_RIGHT] - cell[JV.PROP_AREA][JV.PROP_LEFT] - JV.OUTPUT_OFFSET[JV.OFFSET_IDX_LEFT] - 1;
for (let val of orgValues) {
let actW = ctx2D.measureText(val).width;
- if (actW > validAreaTxtWidth) {
+ if (actW > (validAreaTxtWidth - 4)) {
vals = vals.concat(private_splitString(val, validAreaTxtWidth, ctx2D));
} else {
vals.push(val);
@@ -57,7 +57,7 @@ let JV = {
PAGES_SIZE_IDX: [8, 9, 11, 13, 1, 5, 7, 93],
PAGES_SIZE: [[11.69, 16.54], [8.27, 11.69], [5.83, 8.27], [6.93, 9.84], [8.5, 11.0], [8.5, 14.0], [7.25, 10.5], [7.25, 10.5]],
- OUTPUT_OFFSET: [2,2,1,3],
+ OUTPUT_OFFSET: [1,1,1,1],
OFFSET_IDX_LEFT: 0,
OFFSET_IDX_RIGHT: 1,
OFFSET_IDX_TOP: 2,
@@ -143,10 +143,11 @@ let JpcJsPDFHelper = {
let actW = doc.getTextWidth(val);
vals = vals.concat(private_splitString(val, validAreaTxtWidth, doc));
@@ -195,10 +195,11 @@ function _splitValues(cell, control, orgValues, ctx2D) {