THPDFJobProcessor.ExecuteLoadedOperationWithComparison

Executa uma operação com um segundo documento emprestado opcional, para comparação genérica ou de contratos

class function ExecuteLoadedOperationWithComparison(Document,
  ComparisonDocument: THotPDF; Op: THPDFJSONValue; Output: TStream = nil;
  Checkpoint: TNotifyEvent = nil): THPDFJSONValue;

A unit é HPDFDocJobs; o chamador é dono dos dois documentos, da operação, da saída e do valor JSON retornado

compare e compare.contract exigem dois documentos carregados; os demais tipos de operação mantêm o comportamento de ExecuteLoadedOperation

A comparação restaura os limites de decode, os thresholds de stream e as configurações de AutoLaunch dos dois documentos; artefatos de anotações adicionalmente revertem sua transação de grafo

A saída binária é bufferizada privadamente e checada contra o orçamento antes de ser copiada para o stream do chamador; uma falha no stream pode deixar bytes aceitos nessa saída, mas não commita anotações da origem

O checkpoint roda durante todo o trabalho de comparação e preserva exceções de cancelamento e de orçamento

Contrato e exemplos da comparação JSON