Запись THPDFUA2RepairOptions
Переключатели отдельных ремонтов, fallback-содержимое и лимиты работы для ремонта дерева структур PDF/UA-2
Объявление
THPDFUA2RepairOptions= record
NormalizeDuplicateNamespaces: boolean;
RegisterReferencedNamespaces: boolean;
RepairStandardStructureNamespaces: boolean;
RepairAttributeNamespaces: boolean;
RepairAttributeRevisions: boolean;
RepairListSemantics: boolean;
RepairTableSemantics: boolean;
RepairRubyWarichuSequences: boolean;
RepairPronunciationHints: boolean;
RepairMissingAlternateText: boolean;
RepairLanguageInheritance: boolean;
RepairHeadingOrder: boolean;
RepairArtifactTagging: boolean;
AllowDocumentFragmentHeadingStarts: boolean;
RollbackOnValidationFailure: boolean;
CustomAttributeNamespaceURI: AnsiString;
DefaultLanguage: AnsiString;
FallbackAlternateText: AnsiString;
MaxGeneratedAlternateTextCharacters: Integer;
MaxObjects: Integer;
MaxRepairs: Integer;
class function Default: THPDFUA2RepairOptions; static;
end;
Модуль
HPDFDoc
Поля
| Поле | Назначение |
|---|---|
NormalizeDuplicateNamespaces | Сливает дубликаты записей namespace в namespaces дерева структур |
RegisterReferencedNamespaces | Добавляет запись Namespace-словаря для каждого значения NS, на которое ссылаются элементы структур |
RepairStandardStructureNamespaces | Чинит некорректные ссылки на namespace стандартных структур PDF 2.0 |
RepairAttributeNamespaces | Восстанавливает namespace-обвязку объектов атрибутов структур |
RepairAttributeRevisions | Нормализует значения Revision у объектов атрибутов и элементов с ревизиями |
RepairListSemantics | Перестраивает структуру List, ListNumber и ListLabel для сломанных списков |
RepairTableSemantics | Перестраивает иерархии Table, TR, TH и TD с корректными scope и span |
RepairRubyWarichuSequences | Восстанавливает дочерние последовательности Ruby и Warichu в требуемом порядке |
RepairPronunciationHints | Чинит подсказки произношения фонем у элементов структур |
RepairMissingAlternateText | Генерирует /Alt для рисунков и других элементов, которым он нужен |
RepairLanguageInheritance | Заполняет отсутствующие записи /Lang вниз по иерархии структур |
RepairHeadingOrder | Переназначает уровни заголовков, чтобы H1-H6 шли без пропусков |
RepairArtifactTagging | Тегирует контент, помеченный как артефакты, чтобы он был исключён из дерева структур |
AllowDocumentFragmentHeadingStarts | Разрешает документы, чьё дерево структур начинается ниже H1, как у фрагментов документов |
RollbackOnValidationFailure | Отменяет все применённые ремонты, если валидация после ремонта всё ещё проваливается |
CustomAttributeNamespaceURI | Необязательный URI для перезаписи пользовательских namespace атрибутов; по умолчанию пусто |
DefaultLanguage | Языковой тег, применяемый ремонтом наследования языка; пусто — перезапись пропускается |
FallbackAlternateText | Текст, используемый, когда лучше /Alt вывести не удаётся; пусто — элемент остаётся неразрешённым |
MaxGeneratedAlternateTextCharacters | Лимит символов, генерируемых для одного значения /Alt; по умолчанию 4096 |
MaxObjects | Лимит просматриваемых объектов; по умолчанию 1000000 |
MaxRepairs | Лимит отдельных ремонтов за прогон; по умолчанию 100000 |
Примечания по использованию
- Стартуйте с
THPDFUA2RepairOptions.Default, где включены все переключатели ремонтов плюс rollback, и отключите категории, которые трогать не нужно - Лимиты ремонтов останавливают ушедшие вразнос прогоны на повреждённых документах; флаг
LimitExceededв отчёте сообщает, когда лимит был достигнут - Со включённым
RollbackOnValidationFailureпровалившаяся после ремонта валидация оставляет документ побайтно идентичным прежнему состоянию