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