PDF de revisão anotado nativo

Cria highlights de revisão realmente visíveis numa cópia nativa incremental de PDF, retendo o conteúdo original das páginas, recursos, criptografia e faixas de bytes de assinaturas

{"schemaVersion":1,"type":"compare.contract","format":"pdf","side":"after","options":{"maxHighlights":1000}}

Chame hpdf_document_compare_json_v1 com dois handles carregados, um callback obrigatório de saída PDF e um callback obrigatório de resultado; side seleciona before ou after e tem default after

O resultado JSON contém a comparação semântica completa, mediaType:application/pdf e o side selecionado; o callback binário recebe a revisão PDF realmente preparada

Entry points Pascal

HPDFSaveHeadlessContractAnnotatedPDF mapeia um relatório completo de comparação para highlights de linhas da origem, validando a contagem de páginas, texto e geometria de linhas posicionadas contra o documento carregado selecionado antes do export

SaveReviewHighlightsToFile aceita retângulos explícitos de páginas e captions Unicode para outros workflows de revisão

Saída e permissões

Cada highlight tem uma anotação Highlight real, retângulo, quadrilátero, contents Unicode, flag de impressão e aparência normal de Form com fill amarelo e transparência Multiply

Anotações e widgets de assinatura existentes permanecem presentes; nenhum entry point muta as anotações nem o estado dirty do documento carregado

DocMDP P3 autenticado permite anotações de revisão; P1 e P2 as rejeitam antes da publicação, assim como permissões autenticadas mais restritivas de field locks e permissões de usuários criptografadas sem direitos de anotação

Revisões de revisão P3 válidas podem ser reabertas e salvas de novo; a validação preserva os widgets originais exatamente uma vez e continua protegendo conteúdos de páginas, recursos e campos assinados ou travados

Limites e cancelamento

Inicialize THPDFHeadlessReviewOptions.Default antes de mudar MaxHighlights, MaxWorkingBytes ou CancellationToken; os defaults são 10000 highlights e 67108864 bytes de preparação

Os limites do documento de objetos, object-bytes, file-bytes e profundidade também se aplicam; captions exigem UTF-16 válido sem NUL, e retângulos exigem coordenadas finitas delimitadas e dimensões positivas

O writer prepara privadamente, faz flush do arquivo de staging e publica por rename atômico; aliases da origem, falhas de validação, orçamentos esgotados e cancelamento retêm um destino existente e removem arquivos de staging não publicados

Use um token de cancelamento compartilhado para um documento e suas opções de revisão; os limites temporários do documento são restaurados mesmo quando o cancelamento é solicitado

Verificação por readers

As checagens de aceitação cobrem plaintext, Forms aninhados, AES R5/R6, captions Unicode, revisões repetidas, preservação de assinaturas CAdES confiáveis, pixels MuPDF realmente visíveis e ambos os sides da origem através de callbacks nativos fragmentados

Um reader pode selecionar composição transparente de páginas a partir de recursos de anotações mesmo com o desenho de anotações desabilitado, alterando o antialiasing do texto; remover apenas as anotações de forma independente restaura os pixels exatos originais da página

Retângulos de comparação cobrem linhas semânticas afetadas, e não contornos exatos de caracteres; heat maps gerais de comparação de imagens e comparações anotadas de não contratos permanecem capabilities separadas

Comportamento e limites nativos de revisão · Comparação nativa de contratos