THotPDF.SetLoadedFreeTextText Method
Заменя normal appearance на заредена FreeText анотация с вградени Unicode шрифтове, опционален rich text и атомарна транзакция върху графа
Декларация
procedure SetLoadedFreeTextText(PageIndex, AnnotationIndex: Integer;
const AText: UnicodeString; const Options: THPDFLoadedTextAppearanceOptions;
const RichContent: AnsiString = ''; const DefaultStyle: AnsiString = '');
Опции
Инициализирайте записа с THPDFLoadedTextAppearanceOptions.Default, преди да променяте отделни полета
| Поле | Поведение |
|---|---|
| FontName, FontStyle, FontSize | Основен шрифт, стил и размер в точки; по подразбиране Arial, regular и 12 точки |
| TextColor, Alignment, Padding | Цвят на plain text, подравняване ляво/център/дясно и padding в точки; по подразбиране черно, ляво и 2 точки |
| Opacity, Rotation | Прозрачност в [0,1] и ротация в крати на 90 градуса |
| OverflowPolicy | THPDFLoadedTextOverflowPolicy: ltopReject отхвърля преливането, ltopClip го отрязва, а ltopShrinkToFit повтаря с по-малки шрифтове |
| MinFontSize | Долна граница при свиване, по подразбиране 4 точки |
| MaxTextUnits | Бюджет за входа и plain text, по подразбиране 1,048,576 UTF-16 единици; rich входът е ограничен до четири пъти този бюджет |
Поведение
AText подава plain Unicode текст; непразният UTF-8 RichContent вместо това ползва HTML importer-а и опционалния CSS DefaultStyle, след което извежда /Contents от генерирания текст
Генерираният appearance копира вградените шрифтове и ToUnicode mapping-и в заредения документ, така че записът, flattening-ът и извличането на текст запазват неговия Unicode текст
Методът наследява конфигурираните вериги за резервни шрифтове, ShapingFeatures, превключвателите за auto-shaping на арабски, сирийски, N'Ko, Adlam и Hanifi Rohingya, както и избраните GSUB скрипт и език; всеки shrink-to-fit опит ползва същите настройки, без да променя конфигурацията на извикващия
Запазва поддържания background, плътна/пунктирана рамка, rectangle insets и геометрията на callout с две/три точки, и синхронизира /AP, /Contents, /RC, /DS, /CA, /Q и метаданните за ротация
Невалидна геометрия, неразрешени plain text глифове, cloudy рамки, ресурсни лимити и отхвърлено преливане вдигат изключение и връщат назад цялото обновяване; съществуващи външни транзакции върху графа остават активни
Rich text следва поддържания HTML/CSS subset; външните ресурси са изключени, а фиксирани CSS размери на шрифт може да попречат на shrink-to-fit да смали отделни runs
Всеки appearance writer приема най-много 256 различни shaping шрифтови избора и 64 MiB кумулативни сурови шрифтови данни; надхвърлянето на който и да е лимит отхвърля обновяването и запазва оригиналната анотация
Свързани API
- SetLoadedFreeTextRichText ползва този appearance pipeline с clip overflow
- SetLoadedFreeTextPlainText запазва оригиналния си ASCII контракт
- SetLoadedAnnotationContents редактира само съхраненото съдържание