Idas e voltas JSON do grafo de objetos com versão

O HotPDF pode transmitir um grafo completo de objetos indiretos carregados para JSON com versão e reconstruir um documento editável sem achatar valores PDF em uma descrição de trabalho

Esquema e compatibilidade

O esquema atual HotPDF-object-graph-2 registra schemaVersion, minimumReaderVersion, a versão do PDF, as referências Root e Info do trailer, cada objeto indireto selecionado, os identificadores de objetos excluídos e o tipo de instantâneo ou incremental

Os leitores aceitam o formato anterior HotPDF-object-graph-1 por compatibilidade e rejeitam versões futuras ou incompatíveis de esquema antes de alterar o documento de destino

Use a API de fluxo v2 para idas e voltas de edição porque a v2 registra se cada carga de fluxo são dados filtrados brutos ou dados decodificados

Transmissão e cargas binárias

ExportLoadedObjectGraphJSONToStream grava objetos e valores PDF ordenados recursivamente diretamente no fluxo de destino sem construir uma string JSON do tamanho do documento

Os bytes de fluxo brutos ou decodificados podem ser omitidos, embutidos como base64 em blocos ou gravados como arquivos auxiliares no diretório fornecido

Os nomes dos arquivos auxiliares são nomes de folha seguros, a publicação usa um arquivo temporário irmão seguido de substituição atômica, e a importação rejeita caminhos de travessia ou absolutos

O importador lê blocos de entrada de tamanho fixo e materializa apenas uma entrada de objeto de nível superior por vez, aplicando limites para bytes JSON, contagem e número de objetos, profundidade de valor, bytes de string, fluxos individuais e bytes agregados de fluxo

Modos de instantâneo e incremental

Um instantâneo exporta o grafo completo e ogjimReplace valida um documento candidato antes de trocá-lo no destino

Uma exportação incremental contém apenas objetos sujos, de gravação obrigatória e excluídos; ogjimUpdate valida referências contra a união do grafo existente e do delta e, então, confirma por meio do mecanismo de transação do grafo carregado

Qualquer valor malformado, referência não resolvida, árvore de Catalog ou Pages inválida, Length de fluxo direto ou indireto inconsistente, orçamento esgotado ou leitura de arquivo auxiliar com falha deixa o destino inalterado

Limite de segurança

O grafo JSON contém objetos PDF e relações Root e Info do trailer, mas nunca exporta senhas, chaves de criptografia ou estado ativo do manipulador de segurança

Um instantâneo substituído é, portanto, não criptografado até que o aplicativo configure explicitamente a proteção de saída antes de salvar

APIs principais

Edição de grafo de objetos e montagem de páginas