Нормалізація однієї логічної послідовності вмісту сторінок PDF зі збереженням синтаксису та надійне виявлення меж вбудованих зображень
NormalizePdfContentSequence поєднує подані потоки вмісту в порядку масиву та токенізує результат як одну логічну послідовність вмісту сторінки
Зберігає літеральні рядки, hex-рядки, імена, масиви, словники, корисні навантаження вбудованих зображень і невідомі оператори, канонізуючи розділення токенів; коментарі можна видалити, а структурну збалансованість — вимагати
CollectPdfContentResourceUses записує імена ресурсів, які споживають оператори тексту, XObject, станів графіки, колірних просторів, pattern, shading, властивостей marked content та вбудованих зображень, у межах центрального токенного бюджету
FindInlineImageBlock знаходить повний блок BI, ID і EI, не приймаючи послідовність байтів EI всередині даних зображення за термінатор
| Function | Description |
TPdfContentNormalizeOptions.Default | Увімкнює видалення коментарів, перевірку збалансованості, доцільне стиснення Flate і пропуск небезпечних сторінок; забороняє переписування підписаного та застосовує три типові ліміти |
NormalizePdfContentSequence | Повертає нормалізовані байти та докладний звіт або False зі статусом збою та діагностичним текстом |
CollectPdfContentResourceUses | Повертає вид ресурсу та декодоване PDF-ім'я для кожного оператора вмісту, що споживає ресурс, або False з діагностичним текстом для некоректного чи надмірного за бюджетом вводу |
FindInlineImageBlock | Повертає зміщення для наступного повного блоку вбудованого зображення в StartPos або після нього |
| Type | Description |
TPdfContentNormalizeStatus | Результат або категорія збою для нормалізації послідовності та документа |
TPdfContentNormalizeOptions | Політика нормалізації та побайтові й токенні ліміти на сторінку |
TPdfContentNormalizeReport | Статус, підсумки байтів і сторінок, метрики потоків і токенів, синтаксичні спостереження та діагностичний текст |
TPdfContentResourceKind | Значення ресурсів pcrkFont, pcrkXObject, pcrkExtGState, pcrkColorSpace, pcrkPattern, pcrkShading і pcrkProperties |
TPdfContentResourceUse | Одне декодоване ім'я ресурсу Name разом із його Kind |
TPdfContentResourceUses | Динамічний масив зібраних використань ресурсів у порядку вмісту |
| Value | Meaning |
pcnsNotStarted | Звіт ініціалізовано, але нормалізація не завершена |
pcnsCompleted | Нормалізація успішно завершена |
pcnsInputLimitExceeded | Логічний ввід перевищив MaxInputBytesPerPage або налаштований ліміт не був додатним |
pcnsOutputLimitExceeded | Нормалізовані байти перевищили б MaxOutputBytesPerPage |
pcnsTokenLimitExceeded | Послідовність вмісту перевищила MaxTokensPerPage |
pcnsMalformedToken | Токен вмісту PDF не вдалося прочитати повністю |
pcnsUnresolvedInlineImage | Не вдалося знайти повну межу корисного навантаження вбудованого зображення |
pcnsUnbalancedState | Порушено потрібний баланс областей графіки, тексту, marked content, сумісності, масивів чи словників |
pcnsUnsupportedFilter | Нормалізація на рівні документа натрапила на фільтр потоку вмісту, який не може декодувати |
pcnsEncryptedDocument | Нормалізація на рівні документа відмовила зашифрованому вводу |
pcnsSignedDocument | Нормалізація на рівні документа відмовила підписаному вводу без авторизації |
pcnsDocumentRewriteFailed | Зазнало невдачі оточуюче переписування графа об'єктів PDF або його перевірка |
pcnsResourceBudgetExceeded | Дедлайн процесного TPdfParserResourceBudget настав раніше, ніж нормалізація завершилася |
| Field | Description |
RemoveComments | Пропускає коментарі PDF, зберігаючи потрібні межі токенів |
RequireBalancedState | Вимагає збалансовані q/Q, BT/ET, marked content, сумісність, масиви та словникові області |
CompressOutput | Дозволяє документній обгортці стискати Flate нормалізований потік сторінки, коли стиснення зменшує його розмір |
SkipUnsafePages | Дозволяє нормалізації на рівні документа зберегти сторінку без змін після небезпечного чи непідтримуваного результату замість переривання переписування документа |
AllowSignedDocument | Явно дозволяє повне переписування підписаного вводу, що робить недійсними наявні діапазони байтів підписів |
MaxInputBytesPerPage | Максимальний сумарний розмір у байтах поданих потоків вмісту для однієї сторінки |
MaxOutputBytesPerPage | Максимальні байти, дозволені в нормалізованій послідовності вмісту |
MaxTokensPerPage | Максимальна кількість токенів, що перевіряються для однієї сторінки |
| Field | Description |
Status | Поточний TPdfContentNormalizeStatus |
SourceByteCount | Загалом байтів вихідного вмісту |
OutputByteCount | Загалом байтів нормалізованого чи переписаного виводу |
PageCount | Сторінки, перевірені нормалізацією на рівні документа |
NormalizedPageCount | Сторінки, успішно замінені нормалізованим вмістом |
SkippedPageCount | Небезпечні сторінки, збережені без змін за політикою пропуску |
InputStreamCount | Потоки вихідного вмісту, об'єднані в логічні послідовності сторінок |
OutputStreamCount | Створені нормалізовані потоки вмісту |
CoalescedArrayCount | Багатопотокові масиви /Contents, замінені одним нормалізованим потоком |
TokenCount | Оброблені токени |
CommentCount | Зустрінуті коментарі, збережені чи видалені |
InlineImageCount | Збережені повні блоки вбудованих зображень |
UnknownOperatorCount | Нерозпізнані оператори, збережені дослівно |
ErrorMessage | Діагностичний текст першого збою |