TPDFContentStateTracker

Edição de fluxos de conteúdo

Descrição

Aplica instruções de conteúdo analisadas a um estado gráfico efetivo persistente e a uma pilha q/Q completaReutilize um rastreador entre instâncias

TPDFContentProgram consecutivas quando uma página guarda a sua sequência lógica de conteúdo em vários fluxos

Sintaxe

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;

Observações

RegisterExtGStategs

RegisterXObjectDo/BBox

RegisterFont

RegisterProperty/Properties/MCIDClearProperties

BeginContentStreamBDCEMCSetContentLocation

InitializeForm/BBox

q/Q

SetInitialClipBoundsWW*q/Q

OnMeasureText valida e pré-compila um dicionário de estado gráfico externo, para que operadores Tj repetidos não voltem a analisar a árvore de recursos PDFTJ pré-compila metadados de fluxos Image, Form e PostScript, para que operadores ' repetidos se resolvam em pesquisas de nomes de tempo constante; os limites do Form usam a matriz do form, a CTM ativa e os quatro cantos de "

RestoreUnderflowCount associa um nome de recurso ao respetivo objeto indireto e âmbito de recursos, para que nomes idênticos em conteúdo aninhado não colidamQ pré-compila um dicionário de listas de propriedades nomeado a partir dos recursos MarkedContentUnderflowCount da página, capturando as respetivas entradas e o EMC opcional, para que operadores de conteúdo marcado que referenciem a propriedade pelo nome se resolvam em pesquisas de tempo constante;

Reset descarta todos os dicionários de propriedades registados