Запись THPDFContentToken
Представляет один токен content stream — оператор или операнд — с его исходным диапазоном байтов и полезной нагрузкой inline image
Объявление
THPDFContentToken= record
Kind: THPDFContentTokenKind;
Op: AnsiString; // operator text (ctOperator) or name literal
StrBytes: AnsiString; // raw bytes of string/hex operand
IsHex: boolean;
NumValue: Double; // numeric operand
Items: THPDFArrayItems; // ctOperandArray payload
// StartOfs/EndOfs are byte offsets into the source content stream spanning
// the operand as written. For a string/hex operand this covers the full
// literal including its '(' ')' or '<' '>' delimiters; operators and
// other operands record their span too. Search/replace uses these to map
// a matched glyph back to the bytes that produced it
StartOfs: Integer;
EndOfs: Integer;
// Inline image payload (only the 'BI' operator token carries these;
// every other token leaves them at their default zeros). InlineBytes is
// the raw image data between ID and EI; InlineKeys is the normalised
// BI key/value set. Both default to empty when not an inline image
InlineBytes: SysUtils.TBytes;
InlineKeys: THPDFInlineImgKeys;
end;
Модуль
HPDFContentStream
Поля
| Поле | Назначение |
|---|---|
Kind | Класс токена: ctOperator, ctOperandString, ctOperandHex, ctOperandName, ctOperandNumber или ctOperandArray |
Op | Текст оператора для токенов ctOperator или литерал имени для операндов-name |
StrBytes | Исходные байты строкового или hex-операнда, включая разделители в исходном диапазоне |
IsHex | True, когда строковый операнд записан как hex-строка |
NumValue | Значение числового операнда, включая кернинг-поправки TJ |
Items | Полезная нагрузка-массив для токенов ctOperandArray |
StartOfs | Смещение токена в байтах, как он записан в исходном content stream |
EndOfs | Смещение в байтах сразу за токеном |
InlineBytes | Исходные данные изображения между ID и EI; их несёт только токен оператора BI |
InlineKeys | Нормализованный набор ключей/значений BI; пуст для всех токенов, кроме BI |
Примечания по использованию
- Токены — рабочая единица
THPDFPageDisplayList, устройств-интерпретаторов и visitor'ов операторов StartOfsиEndOfsотображают найденный глиф обратно в точные байты операнда для поиска и замены- Данные inline image несёт только токен оператора
BI; все остальные токены оставляютInlineBytesиInlineKeysпустыми