THotPDF.SetLoadedFreeTextText Method

Заменяет нормальный внешний вид загруженной 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Цвет обычного текста, выравнивание left/center/right и отступ в пунктах; дефолты — black, left и 2 пункта
Opacity, RotationПрозрачность в [0,1] и поворот с шагом 90 градусов
OverflowPolicyTHPDFLoadedTextOverflowPolicy: ltopReject отклоняет переполнение, ltopClip обрезает его, ltopShrinkToFit повторяет попытку с меньшими шрифтами
MinFontSizeНижняя граница уменьшения, дефолт 4 пункта
MaxTextUnitsБюджет ввода и обычного текста, дефолт 1,048,576 юнитов UTF-16; rich-ввод ограничен четырьмя такими бюджетами

Поведение

AText передаёт обычный текст Unicode; непустой UTF-8 RichContent вместо этого использует HTML-импортёр и необязательный CSS DefaultStyle, после чего /Contents выводится из сгенерированного текста

Сгенерированный внешний вид копирует встроенные шрифты и отображения ToUnicode в загруженный документ, поэтому сохранение, уплощение и извлечение текста сохраняют его текст Unicode

Метод наследует настроенные цепочки резервных шрифтов, ShapingFeatures, переключатели auto-shaping для арабского, сирийского, N'Ko, Adlam и Hanifi Rohingya, а также выборы письменности и языка GSUB; каждая попытка shrink-to-fit использует те же настройки, не меняя конфигурацию вызывающего кода

Метод сохраняет поддерживаемые фон, сплошную/пунктирную границу, вставки прямоугольника и геометрию callout из двух/трёх точек, а также синхронизирует /AP, /Contents, /RC, /DS, /CA, /Q и метаданные поворота

Некорректная геометрия, неразрешённые глифы обычного текста, облачные границы, лимиты ресурсов и отклонённое переполнение бросают исключение и откатывают всё обновление; существующие внешние графовые транзакции остаются активными

Rich text следует поддерживаемому подмножеству HTML/CSS; внешние ресурсы отключены, а фиксированные размеры шрифтов CSS могут помешать shrink-to-fit уменьшить отдельные runs

Каждый писатель внешних видов принимает не более 256 различных shaping-выборов шрифтов и 64 MiB суммарных сырых данных шрифтов; превышение любого лимита отклоняет обновление и сохраняет исходную аннотацию

Связанные API