ViewerConfig

Opciones del widget de visualizador 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 plugin JavaScript heredado tienen valores predeterminados diferentes, por lo que debe mapear los valores explícitamente.

Propiedades C#

TipoPropiedadValor predeterminadoDescripción
boolShowThumbstrueMuestra el panel de miniaturas.
boolAutoLoadfalseCarga automáticamente después de la inicialización. El flujo normal de tokens llama a View(token) explícitamente.
boolAutoFocustrueMueve el foco/desplazamiento del navegador al visualizador durante la inicialización.
boolAutoPageFocustrueMantiene 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.
boolShowToolTiptrueMuestra la información sobre posición de página mientras se desplaza.
stringToolTipPageText"Page "Prefijo usado en la información sobre la página.
boolCacheEnabledfalseMantiene una ventana móvil de imágenes de página en la memoria del navegador. No utiliza localStorage.
boolLargeDocfalseAñade elementos de página en lotes temporizados para documentos grandes.
boolShowHyperlinksfalseRenderiza superposiciones de hipervínculos cuando la configuración del servidor los extrajo.
boolFixedZoomtrueUtiliza un porcentaje de zoom fijo en lugar de un recálculo responsivo.
intFixedZoomPercent100Zoom fijo para escritorio.
intFixedZoomPercentMobile75Zoom fijo para móvil.
stringBasePath"/"Dónde el visualizador envía las solicitudes de página. "/" es el controlador DocImage.axd en la raíz del sitio. Para una aplicación en un directorio virtual, use el nombre del directorio sin una barra inicial / ("myapp" significa /myapp/DocImage.axd).
stringResPath"doconut-res/images"Carpeta desde la que el widget carga sus propias imágenes: la carpeta images bajo ResourcesPath, sin una barra inicial /.
stringFitType"width""width", "height" o vacío para sin ajuste automático. "page" no es aceptado por el widget actual.
boolRetryOn409falseReintenta solicitudes de página que responden "still rendering". DocImage.axd renderiza de forma síncrona y nunca envía esa señal; déjelo false.
csharp
var config = new ViewerConfig
{
    ShowThumbs = true,
    AutoLoad = false,
    PageZoom = 100,
    MaxZoom = 300,
    FitType = "width",
    BasePath = "/",                 // "/" = el controlador DocImage.axd en la raíz del sitio (Web.config)
    ResPath = "doconut-res/images", // la carpeta de imágenes bajo ResourcesPath, sin '/' inicial
    ShowHyperlinks = true
};
// Emítalo con viewer.RenderViewer("viewerEl", token, config) - vea la referencia del Visor.

Emitir un ViewerConfig con RenderViewer

Viewer.RenderViewer(elementId, token, config) convierte un ViewerConfig en el script de inicialización del widget. Escribe seis de las propiedades anteriores — BasePath, ResPath, ShowThumbs, AutoLoad, PageZoom y FitType — y luego llama a View(token). Las demás propiedades no se escriben: para MaxZoom, ShowHyperlinks, los ajustes de zoom o cualquier callback, inicialice el widget usted mismo con las opciones JavaScript a continuación. Consulte Visor para RenderViewer.

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 del 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 la miniatura en píxeles.
pageZoom / zoomStep / maxZoom100 / 10 / 200El maxZoom 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 heredado. Establézcalo explícitamente: '/' para el manejador en la raíz del sitio.
ResPath""Establézcalo 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.

Establezca todos los valores importantes de comportamiento en lugar de depender de cualquiera de los conjuntos de valores predeterminados:

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: '/',
    ResPath: 'doconut-res/images',
    onViewerReady: function () {},
    onError: function (message) { console.error('DocViewer:', message); }
});
</script>

Funciones de devolución de llamada

CallbackArgumentosPropósito
onPageLoadingpageNumComienza una solicitud de página.
onPageLoadedpageNumUna imagen de página ha terminado de cargarse.
onThumbnailClickedpageNumEl usuario seleccionó una miniatura.
onPageClickedpageNumEl usuario seleccionó una página.
onDoubleClicknoneEl visor recibió un doble clic.
onViewerBusynoneEl visor entró en estado ocupado.
onViewerReadynoneInicialización completada.
onViewerErrornoneEl visor entró en 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 los callbacks rápidos; envíe telemetría de forma asíncrona y no bloquee la renderización 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(...)
CopiaCopy(...), CopyPage(pageNumber), CopyMode(enabled)

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

Opciones de reintento

El widget también acepta retryOn409 y sus configuraciones de retroceso (retryInitialDelayMs, retryBackoffFactor, retryMaxDelayMs, retryMaxAttempts, retryMaxTotalMs). Sirven a implementaciones cuyas páginas se generan en segundo plano. DocImage.axd renderiza cada página durante la solicitud, por lo que deje retryOn409 desactivado.

Lista de verificación de rutas

  • BasePath es '/' cuando el controlador DocImage.axd está en la raíz del sitio — el atributo path del controlador en Web.config decide dónde responde. En un directorio virtual, use el nombre del directorio sin una barra inicial / ('myapp', no '/myapp': el visualizador agrega la barra, y //myapp/... es una solicitud a otro host).
  • DoconutOptions.ResourcesPath es donde el módulo de recursos sirve los archivos incrustados (/doconut-res por defecto).
  • ResPath apunta a su subcarpeta images, también sin una barra inicial / ('doconut-res/images'). Apuntarlo a 'doconut-res' hace que cada ícono devuelva 404 mientras el documento aún se renderiza.
  • En MVC, routes.IgnoreRoute("doconut-res/{*pathInfo}") debe seguir a ResourcesPath si lo cambias.
  • ExtractHyperlinks debe estar habilitado en la configuración del formato del servidor antes de que showHyperlinks pueda mostrar algo.

¿Fue útil esta página?