백그라운드 이미지 삽입 관련 문의

[한컴 변환기]로 특정 Cell에 백그라운드 이미지를 삽입한, 변환된 문서에 대해서

만약 해당 Cell에 백그라운드 이미지가 정상적으로 삽입이 되지않았다면

체크하여 백그라운드 이미지를 한글 API를 통하여 다시 넣어주도록 보정 처리하고있습니다.

그런데 간헐적으로 [한컴 변환기]로 변환된 문서에 대하여

백그라운드 이미지 포함 여부가 정상적으로 체크가 안되는 현상이 발생하고있습니다.

관련하여 확인 부탁드립니다.


첨부한 이미지와 같이 [approval3]이라는 명칭의 테이블 셀이 2개 존재하며(빨간 박스 부분 참고),

해당 cell에 대하여 백그라운드 이미지 존재 여부 체크 시

cell 1개는 “셀 테두리 배경이미지 존재” 알럿이 있는 부분

나머지 1개는 if(subset.ItemExist(“Type”)) 조건을 만족하지 않고
“셀 테두리 비정상적으로 체크” 부분으로 빠지고 있습니다.


  • 코드 및 테스트 문서 -

위 페이지에서 테스트 진행하였으며,

코드는 웹한글기안기 API 73페이지 TestBgImg 메소드 참고하여 작성

테이블 부분은 첨부한 한글 문서에서 테이블 부분 복붙하였습니다.


		var act;
		var set;
		var subset;
		var result = false ;
		var targetFiledName;
        var fieldName = 'approval3';
     
		for(var inx = 10 ; inx >= 0; inx--) {
			targetFiledName = fieldName+"{{"+inx+"}}" ;
			if(!HwpCtrl.FieldExist(targetFiledName)  ) continue; 
			HwpCtrl.MoveToField(targetFiledName, true, true, true);
			act =HwpCtrl.CreateAction("CellBorderFill");
			set = act.CreateSet();
			act.GetDefault(set);
			
            alert(targetFiledName);
				if (set.ItemExist("FillAttr")) {
					subset = set.Item("FillAttr");
					if(subset.ItemExist("Type")) {
						if((subset.Item("Type") & 2) == 2) {
							alert("셀 테두리 배경이미지 존재");
							result = true ;
						} else {
							alert("셀 테두리 배경이미지가 존재하지않음");
							result  = false ;
							break;
						}
					}
					alert("셀 테두리 비정상적으로 체크");
				} else {
					alert("셀 테두리 배경에 대한 정보가 존재하지 않음");
					result = false ;
					break;
				}
	
		}
		
		return result ;

1009216 복사본.hwp (40 KB)


  • 참고사항 -
    첨부한 한글 문서는 [한컴 변환기]로 변환된 문서입니다.
2개의 좋아요

사람 눈에는 백그라운드 이미지가 미포함된 것 처럼 보이지만

한컴 변환기로 변환된 결과물에는 코드상으로 포함되어

백그라운드 이미지 체크하는 부분에서 오동작하는것으로 추측됩니다.

해당 부분 확인 부탁드립니다.

2개의 좋아요

안녕하세요.

“FillAttr” 의 “Type” 이 없을 경우 채우기 없음으로 처리하시면 될것 같습니다.

감사합니다.

1개의 좋아요

안녕하세요

육안상으로도 첨부한 한글 파일에 테이블 셀(approval3) 2군데에 이미지가 없기 때문에

“셀 테두리 배경 이미지가 존재하지않음” 조건을 만족하는 경우에 저희쪽 보정 로직을 실행하려고합니다.

해당 조건 체크가 제대로 되어야할 것으로 보이는데

답변 주신 "채우기 없음"으로 처리하시라는 내용이 잘 이해가 안되는데 추가 설명 가능하실까요?

1개의 좋아요

“셀 테두리 비정상적으로 체크” 메세지가 나오는 이유가
“FillAttr” set 에 “Type” item 이 없어서 발생하고 있습니다.

if((subset.Item("Type") & 2) == 2) 조건으로 배경 이미지 여부를 확인하고 있는데,
“Type” item 이 없을 경우도 마찬가지로 배경 이미지가 없다고 확인하시면 될것 같습니다.

채우기 속성이 설정되지 않을 경우 “Type” item 이 없을수도 있습니다.

1개의 좋아요