Legacy-токены имён PDF

THPDFNameObject.Value и legacy-ключи словарей хранят токены PDF-имён без ведущей косой черты; токены загруженного парсера уже могут содержать #HH-escape-последовательности

Legacy-писатель декодирует существующий токен, затем кодирует все зарезервированные байты, пробелы, управляющие байты и не-ASCII байты UTF-8; существующие escape-последовательности канонизируются без двойного экранирования

Например, токен #41 обозначает A, тогда как #2341 — литеральный текст #41; кодируйте свежие авторские сырые байты через _PDFNameEncode, прежде чем хранить литеральную решётку с двумя шестнадцатеричными цифрами

Некорректные hex-последовательности вроде #GZ и концевая решётка остаются литеральными данными и экранируются как #23GZ и #23 при сериализации

Начальные и конечные пробелы сохраняются как #20, а пустое имя остаётся пустым PDF-именем; значения в массивах, вложенных словарях и ключах словарей используют те же правила сериализации

Имена — не текстовые строки PDF: писатель сохраняет байты и не перекодирует исходную кодировку вызывающего; для свежих авторских Unicode-имён используйте UTF8Encode

Свежие словари нативного XFA-сборщика используют декодированные ключи, а значения-имена остаются токенами; адаптерам нужно один раз кодировать эти декодированные ключи при переносе их в legacy-объектную модель