Поля рівнянь і формул

Поля рівнянь і формул

Поля рівнянь та формул

Цей посібник показує, як працювати з FieldAdvance and FieldSymbol класами полів у Aspose.Words FOSS для .NET, які реалізують Word’s ADVANCE and SYMBOL поля. Обидва класи успадковуються від Field і реалізують IFieldCodeTokenInfoProvider; для базової Field моделі об’єктів, дивіться Робота з полями посібник.


Переміщення тексту за допомогою FieldAdvance

FieldAdvance реалізує поле ADVANCE, яке зсуває наступний за ним текст без вставки видимих символів. DownOffset, UpOffset, LeftOffset і RightOffset (усі string) переміщують наступний текст на певну кількість пунктів у цьому напрямку. HorizontalPosition і VerticalPosition (також string) переміщують наступний текст у абсолютну позицію, виміряну від лівого краю колонки, рамки або текстового блоку, та від верхнього краю сторінки відповідно.


Вставка спеціальних символів за допомогою FieldSymbol

FieldSymbol реалізує поле SYMBOL, яке вставляє один символ за кодовою точкою. CharacterCode (string) надає кодову точку символу в десятковому або шістнадцятковому форматі. IsAnsi, IsUnicode і IsShiftJis (усі bool) визначають, як інтерпретується CharacterCode. FontName і FontSize (string) задають шрифт, який використовується для відображення отриманого символу, а DontAffectsLineSpacing (bool) контролює, чи впливає вставлений символ на міжрядковий інтервал абзацу.


Поради та найкращі практики

  • Встановіть лише один з IsAnsi, IsUnicode або IsShiftJis на FieldSymbol, щоб уникнути неоднозначного тлумачення CharacterCode.
  • Властивості зсуву FieldAdvance є string, а не числовими типами — передавайте значення точок як рядки під час встановлення DownOffset, UpOffset, LeftOffset, RightOffset, HorizontalPosition або VerticalPosition.
  • Встановіть FieldSymbol.FontName у шрифт, який дійсно містить гліф за CharacterCode, інакше відображений символ може перейти до заповнювача відсутнього гліфа.
  • Викличте Update() після зміни будь-якої властивості в FieldAdvance або FieldSymbol, щоб Result / DisplayResult поля відображали зміну.
  • Використовуйте DontAffectsLineSpacing, коли вставляєте високий або незвичний символ, який не повинен збільшувати висоту оточуючого рядка.

Поширені проблеми

ПроблемаПричинаВиправлення
поле ADVANCE не переміщує текст, як очікувалосяБуло встановлено неправильну властивість зсуву або значення залишилося за замовчуваннямВстановіть конкретну властивість DownOffset / UpOffset / LeftOffset / RightOffset (відносну) або HorizontalPosition / VerticalPosition (абсолютну), яка відповідає запланованому переміщенню
поле SYMBOL відображає неправильний символCharacterCode був інтерпретований з неправильним кодуваннямВстановіть рівно один із IsAnsi, IsUnicode або IsShiftJis, щоб відповідати тому, як був створений CharacterCode
Символ відображається як коробка з відсутнім гліфомFontName не містить гліфа для CharacterCodeВстановіть FontName у шрифт, який, як відомо, містить цей символ.

FAQ

Що робить поле ADVANCE?

Він переміщує текст, що йде після нього, або за допомогою відносного зсуву (DownOffset, UpOffset, LeftOffset, RightOffset), або абсолютної позиції (HorizontalPosition, VerticalPosition), не вставляючи видимих символів.

Як вставити конкретний символ Unicode за допомогою 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Керує тим, чи впливає вставлений символ на міжрядковий інтервал абзацу

Дивіться також

 Українська