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