Syntaxbewahrende Normalisierung einer logischen PDF-Seiteninhalts-Sequenz und robuste Erkennung von Inline-Bildgrenzen
NormalizePdfContentSequence verbindet die übergebenen Inhaltsstreams in Arrayreihenfolge und tokenisiert das Ergebnis als eine logische Seiteninhalts-Sequenz
Sie bewahrt Literal-Strings, Hex-Strings, Namen, Arrays, Wörterbücher, Inline-Bild-Nutzdaten und unbekannte Operatoren und kanonisiert dabei die Token-Trennung; Kommentare können entfernt und strukturelle Ausgeglichenheit verlangt werden
CollectPdfContentResourceUses zeichnet die von Text-, XObject-, Grafikzustands-, Farbraum-, Muster-, Shading-, Marked-Content-Property- und Inline-Bild-Operatoren verbrauchten Ressourcennamen unter dem zentralen Token-Budget auf
FindInlineImageBlock findet einen vollständigen BI-, ID- und EI-Block, ohne eine EI-Bytefolge innerhalb der Bild-Nutzdaten als Abschluss zu behandeln
| Funktion | Beschreibung |
TPdfContentNormalizeOptions.Default | Aktiviert Kommentar-Entfernung, Balance-Validierung, sinnvolle Flate-Komprimierung und das Überspringen unsicherer Seiten; untersagt signierte Neuschreibungen und wendet die drei Standardbegrenzungen an |
NormalizePdfContentSequence | Gibt normalisierte Bytes und einen detaillierten Bericht zurück oder False mit Fehlerstatus und Diagnosetext |
CollectPdfContentResourceUses | Gibt Ressourcenart und dekodierten PDF-Namen für jeden ressourcenverbrauchenden Inhaltsoperator zurück oder False mit Diagnosetext bei fehlerhafter oder über Budget liegender Eingabe |
FindInlineImageBlock | Gibt Offsets für den nächsten vollständigen Inline-Bildblock an oder nach StartPos zurück |
| Typ | Beschreibung |
TPdfContentNormalizeStatus | Ergebnis- oder Fehlerkategorie für Sequenz- und Dokumentnormalisierung |
TPdfContentNormalizeOptions | Normalisierungsrichtlinie und Byte- und Token-Begrenzungen pro Seite |
TPdfContentNormalizeReport | Status, Byte- und Seitensummen, Stream- und Token-Kennzahlen, Syntaxbeobachtungen und Diagnosetext |
TPdfContentResourceKind | Ressourcenwerte pcrkFont, pcrkXObject, pcrkExtGState, pcrkColorSpace, pcrkPattern, pcrkShading und pcrkProperties |
TPdfContentResourceUse | Einzelner dekodierter Ressourcen-Name zusammen mit seiner Kind |
TPdfContentResourceUses | Dynamisches Array gesammelter Ressourcennutzungen in Inhaltsreihenfolge |
| Wert | Bedeutung |
pcnsNotStarted | Der Bericht wurde initialisiert, aber die Normalisierung ist nicht abgeschlossen |
pcnsCompleted | Die Normalisierung wurde erfolgreich abgeschlossen |
pcnsInputLimitExceeded | Die logische Eingabe überschritt MaxInputBytesPerPage oder eine konfigurierte Begrenzung war nicht positiv |
pcnsOutputLimitExceeded | Die normalisierten Bytes würden MaxOutputBytesPerPage überschreiten |
pcnsTokenLimitExceeded | Die Inhaltssequenz überschritt MaxTokensPerPage |
pcnsMalformedToken | Ein PDF-Inhalts-Token konnte nicht vollständig gelesen werden |
pcnsUnresolvedInlineImage | Eine vollständige Inline-Bild-Nutzdaten-Grenze konnte nicht gefunden werden |
pcnsUnbalancedState | Die erforderliche Ausgeglichenheit von Grafik-, Text-, Marked-Content-, Kompatibilitäts-, Array- oder Wörterbuchbereichen schlug fehl |
pcnsUnsupportedFilter | Die Dokumentnormalisierung traf auf einen Inhaltsstream-Filter, den sie nicht dekodieren kann |
pcnsEncryptedDocument | Die Dokumentnormalisierung lehnte verschlüsselte Eingabe ab |
pcnsSignedDocument | Die Dokumentnormalisierung lehnte signierte Eingabe ohne Autorisierung ab |
pcnsDocumentRewriteFailed | Die umschließende PDF-Objektgraph-Neuschreibung oder Verifikation schlug fehl |
pcnsResourceBudgetExceeded | Die prozessweite TPdfParserResourceBudget-Frist wurde erreicht, bevor die Normalisierung abgeschlossen war |
| Feld | Beschreibung |
RemoveComments | Lässt PDF-Kommentare weg, während erforderliche Token-Grenzen bewahrt werden |
RequireBalancedState | Verlangt ausgeglichene q/Q-, BT/ET-, Marked-Content-, Kompatibilitäts-, Array- und Wörterbuchbereiche |
CompressOutput | Erlaubt dem Dokument-Wrapper, einen normalisierten Seitenstrom mit Flate zu komprimieren, wenn die Komprimierung seine Größe verringert |
SkipUnsafePages | Erlaubt der Dokumentnormalisierung, eine Seite nach einem unsicheren oder nicht unterstützten Ergebnis unverändert zu bewahren, statt die Dokument-Neuschreibung abzubrechen |
AllowSignedDocument | Erlaubt ausdrücklich eine vollständige Neuschreibung signierter Eingabe, wodurch bestehende Signatur-Bytebereiche ungültig werden |
MaxInputBytesPerPage | Maximale Gesamtzahl von Bytes über die übergebenen Inhaltsstreams für eine Seite |
MaxOutputBytesPerPage | Maximale in der normalisierten Inhaltssequenz erlaubte Byteanzahl |
MaxTokensPerPage | Maximale Anzahl von Tokens, die für eine Seite untersucht werden |
| Feld | Beschreibung |
Status | Aktueller TPdfContentNormalizeStatus |
SourceByteCount | Gesamte Quell-Inhaltsbytes |
OutputByteCount | Gesamte normalisierte oder neu geschriebene Ausgabe-Bytes |
PageCount | Von der Dokumentnormalisierung inspizierte Seiten |
NormalizedPageCount | Erfolgreich durch normalisierte Inhalte ersetzte Seiten |
SkippedPageCount | Unsichere Seiten, die gemäß Skip-Richtlinie unverändert bewahrt wurden |
InputStreamCount | Zu logischen Seitensequenzen verbundene Quell-Inhaltsstreams |
OutputStreamCount | Erzeugte normalisierte Inhaltsstreams |
CoalescedArrayCount | Mehrfachstream-/Contents-Arrays, die durch einen einzelnen normalisierten Stream ersetzt wurden |
TokenCount | Verarbeitete Tokens |
CommentCount | Angetroffene Kommentare, ob bewahrt oder entfernt |
InlineImageCount | Bewahrte vollständige Inline-Bildblöcke |
UnknownOperatorCount | Wortgetreu bewahrte unbekannte Operatoren |
ErrorMessage | Diagnosetext für den ersten Fehler |