| 
					
				 | 
			
			
				@@ -184,7 +184,7 @@ function export_pdf_file (pageData, paperSize, fName, callback) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         function private_drawUnderline() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //A. 暂不支持角度; B. 坐标已经translate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //A. 暂不支持角度; B. PDF输出时,坐标没有translate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let ctx = doc; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //1. 计算下划线的相关坐标 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let width = ctx.widthOfString(val); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -192,22 +192,20 @@ function export_pdf_file (pageData, paperSize, fName, callback) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let startX = area[JV.IDX_LEFT], startY = area[JV.IDX_TOP], endX = area[JV.IDX_RIGHT], endY = area[JV.IDX_BOTTOM]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // let startX = 0, startY = 0, endX = width, endY = startY; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (control.Horizon === "left") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                // 无变化; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                startX = Math.round(area[JV.IDX_LEFT] + JV.OUTPUT_OFFSET[JV.IDX_LEFT]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } else if (control.Horizon === "right") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                startX = Math.round(startX - width); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                startX = Math.round(area[JV.IDX_RIGHT] - width - JV.OUTPUT_OFFSET[JV.IDX_RIGHT]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                startX = Math.round(startX - width / 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                startX = Math.round( area[JV.IDX_LEFT] + (area[JV.IDX_RIGHT] - area[JV.IDX_LEFT] - width) / 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             endX = Math.round(startX + width); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (control.Vertical === "top") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                startY += JV.OUTPUT_OFFSET[JV.IDX_TOP] + JV.OUTPUT_OFFSET[JV.IDX_BOTTOM]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                startY = Math.round(area[JV.IDX_TOP] + JV.OUTPUT_OFFSET[JV.IDX_TOP] + JV.OUTPUT_OFFSET[JV.IDX_BOTTOM] + height); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } else if (control.Vertical === "bottom") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                // startY = Math.round(startY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                startY += JV.OUTPUT_OFFSET[JV.IDX_TOP] + JV.OUTPUT_OFFSET[JV.IDX_BOTTOM]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                startY = Math.round(area[JV.IDX_BOTTOM] + JV.OUTPUT_OFFSET[JV.IDX_BOTTOM]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                startY = Math.round(height / 2) - JV.OUTPUT_OFFSET[JV.IDX_TOP] - JV.OUTPUT_OFFSET[JV.IDX_BOTTOM]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                // startY += JV.OUTPUT_OFFSET[JV.IDX_TOP] + JV.OUTPUT_OFFSET[JV.IDX_BOTTOM]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                startY = Math.round( area[JV.IDX_TOP] + (area[JV.IDX_BOTTOM] - area[JV.IDX_TOP] + height) / 2) + JV.OUTPUT_OFFSET[JV.IDX_TOP] + JV.OUTPUT_OFFSET[JV.IDX_BOTTOM]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             endY = Math.round(startY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //2. 画线 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -226,13 +224,13 @@ function export_pdf_file (pageData, paperSize, fName, callback) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let rotateOptions; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (font[JV.FONT_PROPS[5]] === 'T' && parseInt(font.FontAngle) === 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            // private_drawUnderline(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            private_drawUnderline(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (parseInt(font.FontAngle) !== 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (control){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                rotateOptions=private_setupAreaRotateOption(area,w,control.Vertical,dftFontHeight, output); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                rotateOptions=private_setupAreaRotateOption(area,w,"bottom",dftFontHeight, output); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                rotateOptions = private_setupAreaRotateOption(area,w,control.Vertical,dftFontHeight, output); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                rotateOptions = private_setupAreaRotateOption(area,w,"bottom",dftFontHeight, output); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             doc.rotate(font.FontAngle,rotateOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 |