ViewerConfig
Opções do widget visualizador do cliente
ViewerConfig (namespace Doconut) descreve a aparência e o comportamento do visualizador do navegador. Não afeta a qualidade de renderização do documento; use uma configuração de formato para isso. A classe C# e o plugin JavaScript legado têm padrões diferentes, portanto mapeie os valores explicitamente.
Propriedades C#
| Tipo | Propriedade | Padrão | Descrição |
|---|---|---|---|
bool | ShowThumbs | true | Exibir o painel de miniaturas. |
bool | AutoLoad | false | Carregar automaticamente após a inicialização. O fluxo normal de token chama View(token) explicitamente. |
bool | AutoFocus | true | Mover o foco/rolagem do navegador para o visualizador durante a inicialização. |
bool | AutoPageFocus | true | Manter a miniatura atual visível enquanto as páginas mudam. |
int | PageZoom | 100 | Porcentagem de zoom inicial. |
int | ZoomStep | 10 | Porcentagem adicionada ou removida pelos comandos de zoom. |
int | MaxZoom | 300 | Porcentagem máxima de zoom. |
bool | ShowToolTip | true | Exibir a dica de posição da página enquanto rola. |
string | ToolTipPageText | "Page " | Prefixo usado na dica da página. |
bool | CacheEnabled | false | Manter uma janela móvel de imagens de página na memória do navegador. Não utiliza localStorage. |
bool | LargeDoc | false | Anexar elementos de página em lotes cronometrados para documentos grandes. |
bool | ShowHyperlinks | false | Renderizar sobreposições de hiperlinks quando a configuração do servidor os extraiu. |
bool | FixedZoom | true | Usar uma porcentagem de zoom fixa em vez de recalculação responsiva. |
int | FixedZoomPercent | 100 | Zoom fixo para desktop. |
int | FixedZoomPercentMobile | 75 | Zoom fixo para dispositivos móveis. |
string | BasePath | "/" | Onde o visualizador envia solicitações de página. "/" é o manipulador DocImage.axd na raiz do site. Para uma aplicação em um diretório virtual, use o nome do diretório sem uma barra inicial / ("myapp" significa /myapp/DocImage.axd). |
string | ResPath | "doconut-res/images" | Pasta de onde o widget carrega suas próprias imagens: a pasta images sob ResourcesPath, sem uma barra inicial /. |
string | FitType | "width" | "width", "height", ou vazio para nenhum ajuste automático. "page" não é aceito pelo widget atual. |
bool | RetryOn409 | false | Repetir solicitações de página que respondem "still rendering". DocImage.axd renderiza de forma síncrona e nunca envia esse sinal; deixe como false. |
var config = new ViewerConfig
{
ShowThumbs = true,
AutoLoad = false,
PageZoom = 100,
MaxZoom = 300,
FitType = "width",
BasePath = "/", // "/" = o manipulador DocImage.axd na raiz do site (Web.config)
ResPath = "doconut-res/images", // a pasta de imagens sob ResourcesPath, sem '/' inicial
ShowHyperlinks = true
};
// Emita com viewer.RenderViewer("viewerEl", token, config) - veja a referência Viewer.Emitindo um ViewerConfig com RenderViewer
Viewer.RenderViewer(elementId, token, config) transforma um ViewerConfig no script de inicialização do widget. Ele grava seis das propriedades acima — BasePath, ResPath, ShowThumbs, AutoLoad, PageZoom e FitType — e então chama View(token). As demais propriedades não são gravadas: para MaxZoom, ShowHyperlinks, as configurações de zoom ou qualquer callback, inicialize o widget você mesmo com as opções JavaScript abaixo. Veja Viewer para RenderViewer.
Mapeamento de C# para JavaScript
Não passe um ViewerConfig serializado diretamente para docViewer(...). A maioria das chaves do widget está em camelCase, enquanto três chaves estabelecidas de caminho/ajuste estão em PascalCase.
| C# | JavaScript |
|---|---|
ShowThumbs | showThumbs |
AutoLoad | autoLoad |
AutoFocus | autoFocus |
AutoPageFocus | autoPageFocus |
PageZoom | pageZoom |
ZoomStep | zoomStep |
MaxZoom | maxZoom |
ShowToolTip | showToolTip |
ToolTipPageText | toolTipPageText |
CacheEnabled | cacheEnabled |
LargeDoc | largeDoc |
ShowHyperlinks | showHyperlinks |
FixedZoom | fixedZoom |
FixedZoomPercent | fixedZoomPercent |
FixedZoomPercentMobile | fixedZoomPercentMobile |
BasePath | BasePath |
ResPath | ResPath |
FitType | FitType |
RetryOn409 | retryOn409 |
Padrões de JavaScript
O widget tem padrões mais antigos que diferem da classe C#. Os valores a seguir provêm da implementação atual do docViewer.js.
| Opção | Padrão | Observações |
|---|---|---|
leftMinWidth / leftMaxWidth | 220 / 800 | Limites de largura do painel de miniaturas. |
showThumbs | true | Visibilidade inicial das miniaturas. |
autoFocus / autoPageFocus | true / false | autoPageFocus difere do padrão C#. |
thumbWidth / thumbHeight / thumbPadding | 150 / 200 / 10 | Geometria das miniaturas em pixels. |
pageZoom / zoomStep / maxZoom | 100 / 10 / 200 | O maxZoom de JavaScript difere do C# (300). |
showToolTip / toolTipPageText | true / "Page " | Tooltip de posição da página. |
format / doc / AccessToken | "" / 0 / "" | Valores internos de inicialização; normalmente preenchidos por View(token). |
debugMode | false | Diagnósticos adicionais do cliente. |
FitType | "" | Nenhum ajuste automático a menos que seja fornecido. |
BasePath | "DocImage.axd" | Padrão legado. Defina explicitamente: '/' para o manipulador na raiz do site. |
ResPath | "" | Defina explicitamente o caminho das imagens incorporadas. |
cacheEnabled / cacheCount / cacheDelay | false / 3 / 3 | Janela e atraso de pré‑carregamento de páginas em memória. |
autoLoad | false | Recomenda‑se fluxo de token explícito. |
largeDoc | true | Difere do padrão C#. |
fixedZoom | false | Difere do padrão C#. |
fixedZoomPercent / fixedZoomPercentMobile | 100 / 50 | Valor móvel difere do C# (75). |
showHyperlinks | true | Requer extração no servidor para produzir sobreposições. |
Defina todos os valores importantes de comportamento em vez de confiar em qualquer conjunto de padrões:
<div id="divDocViewer"><div id="div_ctlDoc"></div></div>
<script>
const objViewer = $('#div_ctlDoc').docViewer({
showThumbs: true,
autoLoad: false,
autoFocus: true,
autoPageFocus: true,
pageZoom: 100,
zoomStep: 10,
maxZoom: 300,
FitType: 'width',
cacheEnabled: false,
largeDoc: false,
showHyperlinks: true,
fixedZoom: true,
fixedZoomPercent: 100,
fixedZoomPercentMobile: 75,
BasePath: '/',
ResPath: 'doconut-res/images',
onViewerReady: function () {},
onError: function (message) { console.error('DocViewer:', message); }
});
</script>Retornos de chamada
| Callback | Argumentos | Propósito |
|---|---|---|
onPageLoading | pageNum | Uma solicitação de página está iniciando. |
onPageLoaded | pageNum | A imagem de uma página terminou de carregar. |
onThumbnailClicked | pageNum | O usuário selecionou uma miniatura. |
onPageClicked | pageNum | O usuário selecionou uma página. |
onDoubleClick | none | O visualizador recebeu um duplo clique. |
onViewerBusy | none | O visualizador entrou em estado ocupado. |
onViewerReady | none | Inicialização concluída. |
onViewerError | none | O visualizador entrou em estado de erro. |
onError | message | Uma operação retornou uma mensagem de erro. |
onCopy | data | Dados de cópia de texto estão disponíveis. |
onAutoLoadStatus | pageNum | O carregamento automático avançou para uma página. |
onThumbsShown | none | O painel de miniaturas tornou‑se visível. |
onAnnLoaded | none | Dados de anotação carregados. |
onAnnSaved | none | Dados de anotação salvos. |
onAnnSaveError | none | Falha ao salvar a anotação. |
onAnnClosed | none | Interface de anotação fechada. |
Mantenha os callbacks rápidos; envie telemetria de forma assíncrona e não bloqueie a renderização da página.
Grupos de métodos públicos
| Grupo | Métodos comuns |
|---|---|
| Ciclo de vida | View(token, accessToken?), Close(server?), Token(), Init(), IsLoaded() |
| Navegação | GotoPage(page), ShowPage(page, focus?), Next(next), CurrentPage(), TotalPages() |
| Zoom e ajuste | Zoom(zoomIn), CurrentZoom(), FitType(value), Refit() |
| Orientação | Rotate(page, angle), Flip(page, flipType) |
| Miniaturas | HideThumbs(hide), ThumbSize(size), ReloadThumbs(width), ScrollToThumb(thumb) |
| Pesquisa | CanSearch(), Search(...), SearchMatchCount(), SearchSummary(...), GotoSearchMatch(...) |
| Anotação | SaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...) |
| Copiar | Copy(...), CopyPage(pageNumber), CopyMode(enabled) |
O arquivo JavaScript contém auxiliares internos também. Considere estáveis apenas os métodos usados pela UI de referência e documentados aqui ou nos guias de recursos.
Opções de nova tentativa
O widget também aceita retryOn409 e suas configurações de backoff (retryInitialDelayMs, retryBackoffFactor, retryMaxDelayMs, retryMaxAttempts, retryMaxTotalMs). Elas atendem implantações cujas páginas são produzidas em segundo plano. DocImage.axd renderiza cada página durante a requisição, portanto deixe retryOn409 desativado.
Lista de verificação de caminho
BasePathé'/'quando o manipuladorDocImage.axdestá na raiz do site — o atributopathdo manipulador emWeb.configdecide onde ele responde. Em um diretório virtual, use o nome do diretório sem uma barra inicial/('myapp', não'/myapp': o visualizador adiciona a barra, e//myapp/...é uma requisição para outro host).DoconutOptions.ResourcesPathé onde o módulo de recursos serve os arquivos incorporados (/doconut-respor padrão).ResPathaponta para sua subpastaimages, também sem uma barra inicial/('doconut-res/images'). Definir como'doconut-res'faz com que todos os ícones retornem 404 enquanto o documento ainda é renderizado.- No MVC,
routes.IgnoreRoute("doconut-res/{*pathInfo}")deve vir apósResourcesPathse você alterá-lo. ExtractHyperlinksdeve estar habilitado na configuração de formato do servidor antes queshowHyperlinkspossa exibir qualquer coisa.
Esta página foi útil?