방정식 및 수식 필드
방정식 및 수식 필드
이 가이드는 다음과 같이 작업하는 방법을 보여줍니다 FieldAdvance and FieldSymbol Aspose.Words FOSS for .NET의 필드 클래스이며, Word의 ADVANCE and SYMBOL 필드입니다. 두 클래스 모두 다음으로부터 파생됩니다 Field 그리고 구현합니다 IFieldCodeTokenInfoProvider; 기본 Field 객체 모델 자체, 자세한 내용은 필드 작업 가이드.
FieldAdvance를 사용한 텍스트 재배치
FieldAdvance은 ADVANCE 필드를 구현하며, 눈에 보이는 문자를 삽입하지 않고 뒤따르는 텍스트를 이동시킵니다. DownOffset, UpOffset, LeftOffset, RightOffset(모두 string)는 해당 방향으로 지정된 포인트 수만큼 뒤따르는 텍스트를 이동합니다. HorizontalPosition과 VerticalPosition(또한 string)은 뒤따르는 텍스트를 열, 프레임 또는 텍스트 상자의 왼쪽 가장자리와 페이지 상단 가장자리에서 측정된 절대 위치로 각각 이동시킵니다.
FieldSymbol를 사용한 특수 문자 삽입
FieldSymbol은 SYMBOL 필드를 구현하며, 코드 포인트로 단일 문자를 삽입합니다. CharacterCode(string)는 문자의 코드 포인트를 십진수 또는 16진수로 제공합니다. IsAnsi, IsUnicode, IsShiftJis(모두 bool)는 CharacterCode이 해석되는 방식을 선택합니다. FontName과 FontSize(string)는 가져온 문자를 렌더링할 폰트를 지정하고, DontAffectsLineSpacing(bool)는 삽입된 문자가 단락의 줄 간격에 영향을 미치는지를 제어합니다.
팁 및 모범 사례
- 모호한
CharacterCode해석을 피하려면FieldSymbol에IsAnsi,IsUnicode또는IsShiftJis중 하나만 설정하십시오. FieldAdvance의 오프셋 속성은string이며, 숫자 타입이 아닙니다 —DownOffset,UpOffset,LeftOffset,RightOffset,HorizontalPosition또는VerticalPosition을 설정할 때는 포인트 값을 문자열로 전달하십시오.FieldSymbol.FontName을(를)CharacterCode에 해당하는 글리프를 실제로 포함하는 폰트로 설정하십시오. 그렇지 않으면 렌더링된 문자가 누락된 글리프 자리표시자로 대체될 수 있습니다.FieldAdvance또는FieldSymbol의 속성을 변경한 후Update()을 호출하여 필드의Result/DisplayResult가 변경 사항을 반영하도록 하십시오.- 주변 줄의 높이를 늘리지 않아야 하는 높거나 특이한 기호 문자를 삽입할 때는
DontAffectsLineSpacing을 사용하십시오.
일반적인 문제
| 문제 | 원인 | 해결 방법 |
|---|---|---|
ADVANCE 필드가 예상대로 텍스트를 이동하지 않습니다 | 잘못된 오프셋 속성이 설정되었거나 값이 기본값으로 남아 있었습니다 | 예정된 이동에 맞는 특정 DownOffset / UpOffset / LeftOffset / RightOffset (relative) 또는 HorizontalPosition / VerticalPosition (absolute) 속성을 설정하십시오 |
SYMBOL 필드가 잘못된 문자를 표시합니다 | CharacterCode가 잘못된 인코딩으로 해석되었습니다 | CharacterCode이(가) 작성된 방식을 일치시키도록 IsAnsi, IsUnicode, 또는 IsShiftJis 중 정확히 하나를 설정하십시오 |
| 기호 문자가 누락된 글리프 상자로 렌더링됩니다 | FontName에는 CharacterCode에 대한 글리프가 포함되어 있지 않습니다 | FontName을(를) 해당 문자를 포함하는 것으로 알려진 글꼴로 설정합니다. |
FAQ
ADVANCE 필드는 무엇을 수행합니까?
그 뒤에 오는 텍스트를 상대 오프셋(DownOffset, UpOffset, LeftOffset, RightOffset)이나 절대 위치(HorizontalPosition, VerticalPosition) 중 하나로 재배치하며, 눈에 보이는 문자를 삽입하지 않습니다.
특정 유니코드 문자를 FieldSymbol로 어떻게 삽입합니까?
문자 코드 포인트를 CharacterCode에 설정하고, IsUnicode = true을 설정하며, 글리프 렌더링을 위해 선택적으로 FontName/FontSize을 설정합니다.
FieldAdvance의 오프셋 값은 숫자입니까, 문자열입니까?
이들은 string 속성(DownOffset, UpOffset, LeftOffset, RightOffset, HorizontalPosition, VerticalPosition)이며, 원시 필드코드 인수 형식과 일치합니다.
SYMBOL 문자를 삽입하면 줄 간격에 영향을 줍니까?
삽입된 문자가 단락의 줄 높이에 영향을 주지 않도록 DontAffectsLineSpacing를 true으로 설정합니다.
API Reference 요약
| 클래스/메서드 | 설명 |
|---|---|
FieldAdvance | ADVANCE 필드를 구현합니다; 문자를 삽입하지 않고 다음 텍스트의 위치를 재조정합니다 |
FieldAdvance.DownOffset / UpOffset / LeftOffset / RightOffset | 다음 텍스트에 적용되는 상대적 포인트 오프셋 |
FieldAdvance.HorizontalPosition / VerticalPosition | 다음 텍스트에 적용되는 절대 포인트 위치 |
FieldSymbol | SYMBOL 필드를 구현합니다; 코드 포인트로 문자를 삽입합니다 |
FieldSymbol.CharacterCode | 문자의 코드 포인트, 십진수 또는 십육진수 |
FieldSymbol.IsAnsi / IsUnicode / IsShiftJis | CharacterCode가 해석되는 방식을 선택합니다 |
FieldSymbol.FontName / FontSize | 검색된 문자를 렌더링하는 데 사용되는 글꼴 |
FieldSymbol.DontAffectsLineSpacing | 삽입된 문자가 단락 줄 간격에 영향을 미치는지 여부를 제어합니다 |