Normalizace jedné logické sekvence obsahu stránky PDF se zachováním syntaxe a robustní detekce hranic inline obrázků
NormalizePdfContentSequence spojí dodané obsahové proudy v pořadí pole a tokenizuje výsledek jako jednu logickou sekvenci obsahu stránky
Zachovává literální řetězce, hex řetězce, názvy, pole, slovníky, payloady inline obrázků a neznámé operátory, zatímco kanonizuje oddělování tokenů; komentáře lze odstranit a strukturální vyváženost lze vyžadovat
CollectPdfContentResourceUses zaznamená názvy zdrojů konzumovaných operátory textu, XObject, grafického stavu, barevného prostoru, vzorku, stínování, vlastnosti marked-content a inline obrázku pod centrálním rozpočtem tokenů
FindInlineImageBlock najde kompletní blok BI, ID a EI, aniž by za ukončovač považoval sekvenci bajtů EI uvnitř dat payloadu obrázku
| Function | Description |
TPdfContentNormalizeOptions.Default | Povoluje odstranění komentářů, validaci vyváženosti, přínosnou kompresi Flate a přeskakování nebezpečných stránek; zakazuje podepsané přepisy a aplikuje tři výchozí limity |
NormalizePdfContentSequence | Vrací normalizované bajty a podrobnou zprávu, nebo False se stavem selhání a diagnostickým textem |
CollectPdfContentResourceUses | Vrací druh zdroje a dekódovaný název PDF pro každý operátor konzumující zdroje, nebo False s diagnostickým textem pro poškozený nebo nadlimitní vstup |
FindInlineImageBlock | Vrací offsety dalšího kompletního bloku inline obrázku na StartPos nebo po něm |
| Type | Description |
TPdfContentNormalizeStatus | Výsledek nebo kategorie selhání pro normalizaci sekvence a dokumentu |
TPdfContentNormalizeOptions | Politika normalizace a limity bajtů a tokenů na stránku |
TPdfContentNormalizeReport | Stav, součty bajtů a stránek, metriky proudů a tokenů, syntax pozorování a diagnostický text |
TPdfContentResourceKind | Hodnoty zdrojů pcrkFont, pcrkXObject, pcrkExtGState, pcrkColorSpace, pcrkPattern, pcrkShading a pcrkProperties |
TPdfContentResourceUse | Jeden dekódovaný Name zdroje spolu s jeho Kind |
TPdfContentResourceUses | Dynamické pole sebraných použití zdrojů v pořadí obsahu |
| Value | Meaning |
pcnsNotStarted | Zpráva byla inicializována, ale normalizace nedokončila |
pcnsCompleted | Normalizace úspěšně dokončena |
pcnsInputLimitExceeded | Logický vstup překročil MaxInputBytesPerPage nebo nakonfigurovaný limit nebyl kladný |
pcnsOutputLimitExceeded | Normalizované bajty by překročily MaxOutputBytesPerPage |
pcnsTokenLimitExceeded | Sekvence obsahu překročila MaxTokensPerPage |
pcnsMalformedToken | Token obsahu PDF nešlo přečíst kompletně |
pcnsUnresolvedInlineImage | Kompletní hranice payloadu inline obrázku se nenašla |
pcnsUnbalancedState | Vyžadovaná vyváženost rozsahů grafiky, textu, marked-content, kompatibility, pole nebo slovníku selhala |
pcnsUnsupportedFilter | Normalizace na úrovni dokumentu narazila na filtr obsahového proudu, který nedokáže dekódovat |
pcnsEncryptedDocument | Normalizace na úrovni dokumentu odmítla šifrovaný vstup |
pcnsSignedDocument | Normalizace na úrovni dokumentu odmítla podepsaný vstup bez autorizace |
pcnsDocumentRewriteFailed | Přepis nebo validace obklopujícího grafu objektů PDF selhala |
pcnsResourceBudgetExceeded | Termín celoprocesového TPdfParserResourceBudget byl dosažen dřív, než normalizace dokončila |
| Field | Description |
RemoveComments | Vynechá komentáře PDF při zachování vyžadovaných hranic tokenů |
RequireBalancedState | Vyžaduje vyvážené rozsahy q/Q, BT/ET, marked-content, kompatibility, pole a slovníku |
CompressOutput | Dovolí obalu na úrovni dokumentu Flate-komprimovat normalizovaný proud stránky, když komprese zmenší jeho velikost |
SkipUnsafePages | Dovolí normalizaci na úrovni dokumentu zachovat stránku nezměněnou po nebezpečném nebo nepodporovaném výsledku místo přerušení přepisu dokumentu |
AllowSignedDocument | Explicitně povolí kompletní přepis podepsaného vstupu, což zneplatní stávající bajtové rozsahy podpisů |
MaxInputBytesPerPage | Maximální celkový počet bajtů napříč dodanými obsahovými proudy pro jednu stránku |
MaxOutputBytesPerPage | Maximální povolený počet bajtů v normalizované sekvenci obsahu |
MaxTokensPerPage | Maximální počet tokenů prozkoumaných pro jednu stránku |
| Field | Description |
Status | Aktuální TPdfContentNormalizeStatus |
SourceByteCount | Celkový počet bajtů zdrojového obsahu |
OutputByteCount | Celkový počet normalizovaných nebo přepsaných výstupních bajtů |
PageCount | Stránky prozkoumané normalizací na úrovni dokumentu |
NormalizedPageCount | Stránky úspěšně nahrazené normalizovaným obsahem |
SkippedPageCount | Nebezpečné stránky zachované nezměněné podle politiky přeskočení |
InputStreamCount | Zdrojové obsahové proudy spojené do logických sekvencí stránek |
OutputStreamCount | Vytvořené normalizované obsahové proudy |
CoalescedArrayCount | Pole /Contents s více proudy nahrazená jediným normalizovaným proudem |
TokenCount | Zpracované tokeny |
CommentCount | Zaznamenané komentáře, ať zachované, nebo odstraněné |
InlineImageCount | Kompletní bloky inline obrázků zachované |
UnknownOperatorCount | Nerozpoznané operátory zachované doslova |
ErrorMessage | Diagnostický text prvního selhání |