O catálogo de recursos do Doconut lista impressão no navegador e exportação para PDF como capacidades do visualizador. Controlar o acesso a eles ainda requer duas decisões separadas: se o Doconut apresenta a ação relevante e se a aplicação host autoriza essa operação para o usuário e documento atuais.

Para os controles exatos suportados pela sua compilação instalada, comece com a documentação do Doconut e os exemplos empacotados disponíveis na oficial página de download do Doconut. Não copie chaves de configuração ou código‑fonte de uma versão não relacionada ou de um artigo não verificado.
1. Defina a Política de Impressão Primeiro
Anote quem pode imprimir e sob quais condições antes de alterar a barra de ferramentas. Uma política útil responde a perguntas como:
- A impressão é permitida para todos os visualizadores, apenas certos papéis ou documentos específicos?
- A decisão depende do locatário, status do caso, classificação do documento ou validade?
- É necessário uma marca d'água na saída imprimível?
- Os eventos de impressão devem ser auditados?
- Um usuário pode imprimir uma revisão mais antiga do documento?
- O que deve acontecer quando a permissão mudar enquanto a pré‑visualização está aberta?
Evite um único Boolean global quando a regra real é contextual. Modele a impressão como sua própria operação para que possa ser autorizada independentemente da visualização e do download.
2. Separe o Estado da UI da Autorização
A página host pode decidir se apresenta um controle de impressão após receber um resultado de permissão de propriedade da aplicação. Isso melhora a clareza para usuários que não podem imprimir.
No entanto, ocultar um controle não constitui uma fronteira de autorização. Um usuário ainda pode chamar um endpoint conhecido diretamente, reproduzir uma solicitação anterior ou invocar a impressão do navegador sobre o conteúdo visível. Cada rota do servidor que produz saída imprimível deve impor a mesma política.
Use estados distintos na UI:
| Estado | Comportamento do visualizador | Comportamento do servidor |
|---|---|---|
| Impressão permitida | Mostrar a ação de impressão suportada | Autorizar e criar a saída solicitada |
| Impressão negada | Ocultar ou desativar a ação com uma explicação clara | Retornar uma resposta proibida |
| Política desconhecida | Manter a ação indisponível enquanto a permissão carrega | Não criar saída |
| Sessão expirada | Solicitar que o usuário se reautentique | Rejeitar a solicitação obsoleta |
3. Proteja o Endpoint de Impressão
Proteja a operação da aplicação que invoca a impressão ou retorna saída imprimível. A decisão de autorização deve levar em conta a filiação ao locatário, propriedade, classificação, estado do fluxo de trabalho e revisão do documento. Resolva o documento no servidor em vez de aceitar um caminho ou URL de armazenamento fornecido pelo cliente.
Se sua aplicação imprime através de uma rota específica do visualizador em vez de criar um PDF, aplique a mesma autorização antes de invocar essa rota.
4. Configure a Versão do Visualizador Instalado
Uma vez que a regra do servidor exista, configure a UI do Doconut usando a opção exata documentada para o pacote e os arquivos de exemplo enviados com sua versão. As demos ao vivo do Doconut permitem observar o comportamento suportado do visualizador antes de se comprometer com uma integração específica. Verifique:
- Onde a opção é definida: configuração do servidor, modelo de visualização ou inicialização do cliente.
- Se ela oculta um item da barra de ferramentas, desativa uma ação ou afeta a saída gerada.
- Se o valor se aplica por instância do visualizador ou globalmente.
- Se impressão e exportação são operações separadas.
- Se uma atualização mudou o nome da opção ou o padrão.
Trate o exemplo oficial como a fonte da verdade. Um nome de propriedade que parece plausível não é evidência suficiente de que o visualizador instalado o reconheça.
5. Lidar com a impressão do navegador de forma honesta
Uma configuração do visualizador não pode garantir que as informações visíveis nunca sejam impressas ou capturadas. O navegador pode imprimir a página host, e os usuários podem fazer capturas de tela ou fotografias. A interceptação de teclado e CSS específico para impressão podem melhorar a experiência esperada, mas são medidas do lado do cliente que podem ser contornadas.
Se a página host não deve gerar uma cópia em papel útil, sua aplicação pode usar sua própria apresentação específica para impressão para substituir a pré‑visualização por uma mensagem explicativa. Mantenha esse comportamento da página host separado dos controles de visualizador documentados da Doconut.
Não descreva isso como proteção de documento. Use renderização no lado do servidor, autorização, exportações controladas e marcas d'água visíveis quando sua avaliação de risco exigir uma dissuasão mais forte.
6. Manter Download, Exportação e Impressão Separados
Usuários e desenvolvedores frequentemente tratam isso como um único interruptor “somente leitura”, mas eles representam fluxos de dados diferentes:
- Visualizar exibe o conteúdo renderizado.
- Download devolve a fonte ou outro arquivo armazenado.
- Exportar cria um formato derivado.
- Imprimir produz uma representação imprimível ou invoca a impressão do navegador.
Autorize cada operação explicitamente. Um usuário que não pode imprimir ainda pode ser permitido a fazer download, ou o inverso. Sua barra de ferramentas deve refletir as decisões do servidor em vez de defini-las.
7. Adicionar Eventos de Auditoria Úteis
Se a impressão for sensível, registre a decisão sem registrar o próprio documento. Um evento pode incluir o usuário, locatário, identificador do documento, revisão, resultado da política, carimbo de data/hora e ID de correlação.
Registre tanto tentativas bem‑sucedidas quanto negadas. Se o serviço de impressão criar um arquivo temporário, registre também se sua limpeza foi concluída. Mantenha caminhos de arquivos, tokens, títulos de documentos contendo dados pessoais e conteúdo imprimível fora dos logs rotineiros.
8. Testar Além do Botão Ausente
A barra de ferramentas é apenas a primeira afirmação. Adicione testes para toda a operação:
Usuário autorizado
- A ação de impressão pretendida está visível.
- A solicitação de impressão tem sucesso para um documento permitido.
- A revisão correta é usada.
- Marcas obrigatórias aparecem na saída gerada.
- O evento de auditoria registra o sucesso.
Usuário não autorizado
- A ação está ausente ou desativada.
- Uma solicitação direta à rota de impressão retorna uma resposta proibida.
- Alterar o ID do documento não contorna a regra.
- Uma URL copiada de uma sessão autorizada não pode ser reutilizada indevidamente.
- A negação não revela se outro locatário possui o documento.
Alterações de estado
- Permissão revogada durante uma sessão é aplicada na próxima solicitação de impressão.
- Uma sessão expirada não pode imprimir.
- Um documento excluído ou substituído produz um erro controlado.
- A saída de impressão temporária segue a regra de retenção configurada.
A automação de navegador pode verificar o estado visível e o código de resposta. Testes de integração devem verificar a avaliação de políticas e a autorização ao nível do documento de forma independente.
Perguntas comuns
Ocultar o botão de impressão impede o atalho de impressão do navegador?
Não. Ele remove uma ação pretendida do visualizador apenas se o visualizador instalado implementar esse comportamento. A impressão pelo navegador e a captura de tela requerem considerações separadas e não podem ser totalmente impedidas por código do lado do cliente.
A permissão de impressão deve ser incluída na URL de visualização?
Prefira uma decisão de autorização no lado do servidor vinculada ao usuário autenticado, ao documento e à operação. Se uma referência temporária carregar permissões, delimite-a de forma restrita, proteja-a de logs e referenciadores, e revalide ações sensíveis.
Desativar a impressão é suficiente para documentos confidenciais?
Não. É um controle de usabilidade ou dissuasão. Fluxos de trabalho confidenciais também precisam de proteção de armazenamento, autorização ao nível de objeto, exportações controladas, regras de retenção, monitoramento e um modelo de risco residual aceito.
Conclusão
Uma implementação confiável de controle de impressão da Doconut começa no servidor e termina na interface. Defina a política, proteja a operação, configure apenas a opção documentada para o visualizador instalado, explique o resultado aos usuários e teste solicitações diretas assim como a visibilidade da barra de ferramentas. Use a página oficial de recursos, a documentação, os downloads e as demonstrações como fontes de implementação, em vez de recriar o código do produto no artigo.