ViewerConfig

Opciones del widget de visualizador del cliente

ViewerConfig (namespace Doconut) describe la apariencia y el comportamiento del visualizador del navegador. No afecta la calidad de renderizado del documento; use una configuración de formato para eso. La clase C# y el widget JavaScript de larga data tienen valores predeterminados diferentes, por lo que debe mapear los valores explícitamente.

Propiedades C#

TipoPropiedadPredeterminadoDescripción
boolShowThumbstrueMostrar el panel de miniaturas.
boolAutoLoadfalseCargar automáticamente después de la inicialización. El flujo normal de tokens llama a View(token) explícitamente.
boolAutoFocustrueMover el foco/desplazamiento del navegador al visualizador durante la inicialización.
boolAutoPageFocustrueMantener la miniatura actual visible mientras cambian las páginas.
intPageZoom100Porcentaje de zoom inicial.
intZoomStep10Porcentaje añadido o eliminado por los comandos de zoom.
intMaxZoom300Porcentaje máximo de zoom.
boolShowToolTiptrueMostrar la información sobre posición de página mientras se desplaza.
stringToolTipPageText"Page "Prefijo usado en la información sobre la página.
boolCacheEnabledfalseMantener una ventana móvil de imágenes de página en la memoria del navegador. No utiliza localStorage.
boolLargeDocfalseAgregar elementos de página en lotes temporizados para documentos grandes.
boolShowHyperlinksfalseRenderizar superposiciones de hipervínculos cuando la configuración del servidor los extrajo.
boolFixedZoomtrueUsar un porcentaje de zoom fijo en lugar de un recálculo responsivo.
intFixedZoomPercent100Zoom fijo de escritorio.
intFixedZoomPercentMobile75Zoom fijo para móvil.
stringBasePath"/"Rama donde el host asigna UseDoconut().
stringResPath"doconut-res"Base de recursos usada por el widget. En una configuración normal, apúntela a <ResourcesPath>/images.
stringFitType"width""width", "height" o vacío para no ajustar automáticamente. "page" no es aceptado por el widget actual.
boolRetryOn409falseHabilitar sondeo cuando la producción de página asíncrona/distribuida responde 202 Accepted; 409 también se acepta para compatibilidad con servidores antiguos. No es necesario para el visualizador sincrónico normal.
csharp
var config = new ViewerConfig
{
    ShowThumbs = true,
    AutoLoad = false,
    PageZoom = 100,
    MaxZoom = 300,
    FitType = "width",
    BasePath = "/doconut",
    ResPath = "/doconut-res/images",
    ShowHyperlinks = true
};

Mapeo de C# a JavaScript

No pase un ViewerConfig serializado directamente a docViewer(...). La mayoría de las claves del widget están en camelCase, mientras que tres claves establecidas de ruta/ajuste están en PascalCase.

C#JavaScript
ShowThumbsshowThumbs
AutoLoadautoLoad
AutoFocusautoFocus
AutoPageFocusautoPageFocus
PageZoompageZoom
ZoomStepzoomStep
MaxZoommaxZoom
ShowToolTipshowToolTip
ToolTipPageTexttoolTipPageText
CacheEnabledcacheEnabled
LargeDoclargeDoc
ShowHyperlinksshowHyperlinks
FixedZoomfixedZoom
FixedZoomPercentfixedZoomPercent
FixedZoomPercentMobilefixedZoomPercentMobile
BasePathBasePath
ResPathResPath
FitTypeFitType
RetryOn409retryOn409

Valores predeterminados de JavaScript

El widget tiene valores predeterminados más antiguos que difieren de la clase C#. Los siguientes valores provienen de la implementación actual de docViewer.js.

OpciónPredeterminadoNotas
leftMinWidth / leftMaxWidth220 / 800Límites de ancho del panel de miniaturas.
showThumbstrueVisibilidad inicial de miniaturas.
autoFocus / autoPageFocustrue / falseautoPageFocus difiere del valor predeterminado de C#.
thumbWidth / thumbHeight / thumbPadding150 / 200 / 10Geometría de miniaturas en píxeles.
pageZoom / zoomStep / maxZoom100 / 10 / 200maxZoom de JavaScript difiere de C# (300).
showToolTip / toolTipPageTexttrue / "Page "Información sobre posición de página.
format / doc / AccessToken"" / 0 / ""Valores internos de inicialización; normalmente poblados por View(token).
debugModefalseDiagnósticos adicionales del cliente.
FitType""Sin ajuste automático a menos que se proporcione.
BasePath"DocImage.axd"Valor predeterminado histórico del cliente mantenido por compatibilidad. Los hosts actuales de ASP.NET Core deben establecerlo explícitamente a la rama de middleware asignada.
ResPath""Establecer explícitamente a la ruta de imágenes incrustadas.
cacheEnabled / cacheCount / cacheDelayfalse / 3 / 3Ventana y retraso de precarga de páginas en memoria.
autoLoadfalseSe recomienda un flujo de token explícito.
largeDoctrueDifiere del valor predeterminado de C#.
fixedZoomfalseDifiere del valor predeterminado de C#.
fixedZoomPercent / fixedZoomPercentMobile100 / 50El valor móvil difiere de C# (75).
showHyperlinkstrueRequiere extracción del lado del servidor para producir superposiciones.
html
<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: '/doconut',
    ResPath: '/doconut-res/images',
    onViewerReady: function () {},
    onError: function (message) { console.error('DocViewer:', message); }
});
</script>

Devoluciones de llamada

Devolución de llamadaArgumentosPropósito
onPageLoadingpageNumComienza una solicitud de página.
onPageLoadedpageNumUna imagen de página ha terminado de cargar.
onThumbnailClickedpageNumEl usuario seleccionó una miniatura.
onPageClickedpageNumEl usuario seleccionó una página.
onDoubleClicknoneEl visualizador recibió un doble clic.
onViewerBusynoneEl visualizador entró en estado ocupado.
onViewerReadynoneInicialización completada.
onViewerErrornoneEl visualizador entró en su estado de error.
onErrormessageUna operación devolvió un mensaje de error.
onCopydataDatos de copia de texto disponibles.
onAutoLoadStatuspageNumLa carga automática avanzó a una página.
onThumbsShownnoneEl panel de miniaturas se volvió visible.
onAnnLoadednoneDatos de anotación cargados.
onAnnSavednoneDatos de anotación guardados.
onAnnSaveErrornoneError al guardar la anotación.
onAnnClosednoneInterfaz de anotación cerrada.

Mantenga las devoluciones de llamada rápidas; envíe telemetría de forma asíncrona y no bloquee el renderizado de la página.

Grupos de métodos públicos

GrupoMétodos comunes
Ciclo de vidaView(token, accessToken?), Close(server?), Token(), Init(), IsLoaded()
NavegaciónGotoPage(page), ShowPage(page, focus?), Next(next), CurrentPage(), TotalPages()
Zoom y ajusteZoom(zoomIn), CurrentZoom(), FitType(value), Refit()
OrientaciónRotate(page, angle), Flip(page, flipType)
MiniaturasHideThumbs(hide), ThumbSize(size), ReloadThumbs(width), ScrollToThumb(thumb)
BúsquedaCanSearch(), Search(...), SearchMatchCount(), SearchSummary(...), GotoSearchMatch(...)
AnotaciónSaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...)
CopiarCopy(...), CopyPage(pageNumber), CopyMode(enabled)

El archivo JavaScript también contiene ayudantes internos. Trate solo los métodos usados por la UI de referencia y documentados aquí o en las guías de características como puntos de integración estables.

Reintento mientras una página distribuida aún se está renderizando

retryOn409 conserva su nombre histórico. Es para producción de página asíncrona y reintenta la respuesta de disponibilidad actual 202 Accepted así como la señal más antigua 409 Conflict. Cuando está habilitado, el widget sondea con estos valores predeterminados de JavaScript:

OpciónPredeterminado
retryInitialDelayMs250
retryBackoffFactor1.6
retryMaxDelayMs2500
retryMaxAttempts60
retryMaxTotalMs120000

Déjelo deshabilitado para el visualizador normal. Habilitarlo no puede convertir una renderización sincrónica no soportada en asíncrona.

Lista de verificación de rutas

  • DoconutOptions.MiddlewarePath debe describir la rama que realmente asigna.
  • BasePath debe apuntar a esa rama.
  • DoconutOptions.ResourcesPath es la ruta del recurso incrustado.
  • ResPath normalmente apunta a su subcarpeta /images.
  • ExtractHyperlinks debe estar habilitado en la configuración de formato del servidor antes de que showHyperlinks pueda mostrar algo.

¿Fue útil esta página?