TPDFContentStateTracker
Redigering af indholdsstreams
Beskrivelse
Anvender fortolkede indholdsinstruktioner på én vedvarende effektiv grafiktilstand og en fuldstændig q/Q-stakGenbrug én tracker på tværs af på hinanden følgende
TPDFContentProgram-instanser, når en side gemmer sin logiske indholdssekvens i flere streams
Syntaks
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;Bemærkninger
RegisterExtGStategs
RegisterXObjectDo/BBox
RegisterFont
RegisterProperty/Properties/MCIDClearProperties
BeginContentStreamBDCEMCSetContentLocation
InitializeForm/BBox
q/Q
SetInitialClipBoundsWW*q/Q
OnMeasureText validerer og prækompilerer én ekstern grafiktilstandsordbog, så gentagne Tj-operatorer ikke behøver at genscanne PDF-ressourcetræetTJ prækompilerer metadata for Image-, Form- og PostScript-streams, så gentagne '-operatorer opløses med navneopslag i konstant tid; Form-grænser bruger formmatricen, den aktive CTM og alle fire "-hjørner
RestoreUnderflowCount binder et ressourcenavn til dets indirekte objekt og ressourceomfang, så identiske navne i indlejret indhold ikke kollidererQ prækompilerer én navngiven egenskabslisteordbog fra sidens MarkedContentUnderflowCount-ressourcer og indfanger dens poster og valgfri EMC, så operatorer for markeret indhold, der refererer til egenskaben ved navn, opløses med opslag i konstant tid;
Reset kasserer alle registrerede egenskabsordbøger