TPDFContentStateTracker
Redigering av innehållsströmmar
Beskrivning
Tillämpar tolkade innehållsinstruktioner på ett bestående effektivt grafiktillstånd och en komplett q/Q-stackÅteranvänd en spårare över på varandra följande
TPDFContentProgram-instanser när en sida lagrar sin logiska innehållssekvens i flera strömmar
Syntax
Delphi
TPDFContentStateTracker = Class Procedure Reset; Procedure ClearExtGStates; Procedure ClearXObjects; Procedure ClearFonts; Procedure ClearProperties; Function RegisterExtGState(Const ResourceName: AnsiString; Dictionary: TPDFDictionary): Boolean; Function RegisterXObject(Const ResourceName: AnsiString; XObjectStream: TPDFStream; ObjectNumber: Integer = 0): Boolean; Function RegisterFont(Const ResourceName: AnsiString; FontObject: TPDFObject; ResourceScope: Integer): Boolean; Function RegisterProperty(Const ResourceName: AnsiString; PropertyObject: TPDFObject): Boolean; Procedure BeginContentStream; Procedure SetContentLocation(Layer, ContentDepth, ContentInvocationID: Integer); Procedure InitializeForm(Const ParentState: TPDFContentGraphicsState; Const FormMatrix: TPDFContentMatrix; MatrixKnown: Boolean; BBoxLeft, BBoxBottom, BBoxRight, BBoxTop: Double); Procedure SetInitialClipBounds(Left, Bottom, Right, Top: Double); Procedure Apply(Inst: TPDFContentInstruction); Function Snapshot: TPDFContentGraphicsState; Property StackDepth: Integer; Property RestoreUnderflowCount: Integer; Property MarkedContentUnderflowCount: Integer; Property ResourceScope: Integer; Property OnMeasureText: TPDFContentMeasureTextEvent; End;Anmärkningar
RegisterExtGStategs
RegisterXObjectDo/BBox
RegisterFont
RegisterProperty/Properties/MCIDClearProperties
BeginContentStreamBDCEMCSetContentLocation
InitializeForm/BBox
q/Q
SetInitialClipBoundsWW*q/Q
OnMeasureText validerar och förtolkar i förväg en extern grafiktillståndsordlista så att upprepade Tj-operatorer inte behöver skanna om PDF-resursträdetTJ förtolkar i förväg metadata för Image-, Form- och PostScript-strömmar så att upprepade '-operatorer löses med namnuppslagning i konstant tid; Form-gränser använder formmatrisen, aktiv CTM och alla fyra "-hörn
RestoreUnderflowCount binder ett resursnamn till dess indirekta objekt och resursomfång så att identiska namn i nästlat innehåll inte kolliderarQ förtolkar i förväg en namngiven egenskapslisteordlista från sidans MarkedContentUnderflowCount-resurser och fångar dess poster och valfri EMC, så att operatorer för markerat innehåll som refererar egenskapen vid namn löses med uppslagning i konstant tid;
Reset släpper alla registrerade egenskapsordlistor