Instalação
Adicione Doconut ao seu projeto .NET Standard 2.1
O visualizador base Doconut para .NET Standard é distribuído como um único pacote NuGet que se integra a qualquer aplicação ASP.NET Core. Plugins opcionais utilizam pacotes separados. Esta página instala o pacote base, confirma que seu host pode consumi‑lo e registra o middleware — o mínimo necessário antes da sua primeira renderização.
Verifique o framework do host primeiro
A biblioteca tem como alvo netstandard2.1. Esse é um contrato mais restrito que a compilação netstandard2.0 anterior, e é a primeira coisa a ser verificada:
| Host | Suportado |
|---|---|
| .NET Core 3.0 ou posterior, incluindo .NET 5/6/7/8 | Sim |
| .NET Framework (qualquer versão) | Não — netstandard2.1 não pode ser consumido pelo .NET Framework |
Se a aplicação for executada no .NET Framework, este não é o pacote correto. Use Doconut.NETFramework em vez disso; a partir da versão 26.9.0 ele requer .NET Framework 4.7.2. As aplicações de referência enviadas com esta versão têm como alvo net8.0.
Instalar o pacote
dotnet add package Doconut.NETStandardO comando sem versão instala a última versão estável. Para reproduzir exatamente a versão 26.8.0 atual, passe a versão como uma opção separada:
dotnet add package Doconut.NETStandard --version 26.8.0Doconut.NETStandard é o ID do pacote. O sufixo .26.8.0 pertence ao nome de arquivo Doconut.NETStandard.26.8.0.nupkg baixado e não faz parte do ID.
O número da versão é a geração
Isso importa mais aqui do que o nome do pacote. Ambas as gerações da biblioteca .NET Standard são publicadas sob o mesmo ID de pacote, e somente a versão as diferencia:
| Versão | Alvo | API |
|---|---|---|
| 26.7.0 e anteriores | netstandard2.0 | a integração anterior |
| 26.8.0 e posteriores | netstandard2.1 | a integração documentada aqui |
Não há shim de compatibilidade nem pacote lado a lado. Atualizar a versão é a atualização, e o compilador reportará imediatamente as diferenças de API.
Não selecione a documentação apenas pelo nome do pacote:
new Viewer(_cache, _accessor, …),UnSafeMode,OpenDocument(...)síncrono,viewer.InitCache(),UseDoconutWebFarme scripts do visualizador copiados manualmente identificam a integração anterior;AddDoconut(),UseDoconutResources(), umViewerinjetado eOpenDocumentAsync(...)identificam a integração atual documentada aqui.
O manual de configuração anterior traduzido continua disponível. Use o guia de migração para mudar de geração; uma atualização de pacote não converte automaticamente a inicialização, o tempo de vida do visualizador ou os recursos do navegador.
Registrar Doconut
AddDoconut() é o único ponto de entrada de registro — há uma única sobrecarga, e ele conecta o serviço Viewer, o serviço de licença e a infraestrutura de renderização ao contêiner DI.
Duas chamadas de middleware completam a configuração, e sua ordem importa: UseDoconutResources() deve ser executado antes de UseDoconut(). UseDoconut() é um middleware terminal, portanto chamá‑lo primeiro faz com que toda solicitação a um recurso /doconut-res nunca alcance o manipulador de recursos e resulte em 404. A ligação da sessão também é necessária — a segurança de documentos padrão do Doconut valida cada solicitação de página contra o estado de sessão ASP.NET.
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
});
builder.Services.AddDistributedMemoryCache(); // o estado de sessão precisa de um cache (MVC/Razor Pages já adicionam um)
builder.Services.AddSession(); // a segurança de documentos Doconut depende do estado de sessão ASP.NET
app.UseSession(); // chame UseSession() antes de UseDoconut()
app.UseDoconutResources(); // deve ser registrado antes de UseDoconut()
app.UseDoconut();Namespaces
Os tipos de configuração não estão mais distribuídos em quatro namespaces. Nesta versão, quase tudo reside no namespace raiz Doconut:
using Doconut; // Viewer, DoconutOptions, DocOptions, todas as configurações de formato
using Doconut.Middleware; // AddDoconut, UseDoconut, UseDoconutResources
using Doconut.Clouds; // configurações de nuvem e compartilhamento de arquivos
using Doconut.Configs.Conversion; // ConversionTargetOs nomes dos tipos em si não mudaram — PdfConfig, WordConfig, ExcelConfig, CssConfig, ScriptConfig e os demais ainda estão presentes. Se você estiver migrando uma aplicação existente, a maioria dos arquivos precisa apenas de duas linhas using removidas; veja o guia de migração.
Todas as opções
DoconutOptions aceita as seguintes propriedades configuráveis. Cada uma é opcional — os padrões abaixo se aplicam quando uma propriedade não é definida.
| Propriedade | Padrão | Descrição |
|---|---|---|
ShowDoconutInfo | false | Quando true, uma solicitação sem token retorna um banner de versão em vez de um 404. Útil como verificação rápida; desative em produção. |
UnsafeMode | false | Quando true, ignora a verificação de segurança da sessão ASP.NET nas solicitações de página. Desative em produção. Observe a grafia — a biblioteca anterior chamava isso de UnSafeMode. |
MiddlewarePath | "/doconut" | Valor de coordenação para o endpoint de página‑imagem. É validado, mas não monta um ramo por si só; mantenha alinhado com o mapeamento real de UseDoconut() e o BasePath do cliente. |
ResourcesPath | "/doconut-res" | De onde os recursos incorporados de JS/CSS/imagem são servidos. |
LicensePath | "" (string vazia) | Caminho para o arquivo de licença. Vazio significa passar para a próxima fonte, então pesquisa automática. |
LicenseContent | "" (string vazia) | Conteúdo bruto da licença — proveniente de uma variável de ambiente, de um gerenciador de segredos ou de um banco de dados. |
LicenseStream | null | Licença como um stream, lida uma vez na inicialização. |
ResetLicense | false | Flag de compatibilidade reservada. A licença é lida durante AddDoconut(); reinicie o aplicativo após substituir uma licença. |
Prioridade de licença quando mais de uma fonte está definida: LicenseStream tem precedência sobre LicenseContent, que tem precedência sobre LicensePath, que tem precedência sobre a pesquisa automática — veja Configuração de Licença.
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
options.MiddlewarePath = "/doconut"; // coordenar com o mapeamento do aplicativo e o BasePath do cliente
options.ResourcesPath = "/doconut-res"; // onde os JS/CSS/imagens do visualizador são servidos
options.UnsafeMode = false; // manter a segurança da sessão ativada
options.ShowDoconutInfo = false;
});Próximos passos
- Início Rápido — abra seu primeiro documento e renderize‑lo no navegador.
- Configuração de Licença — onde o Doconut procura seu arquivo de licença.
Esta página foi útil?