ViewerConfig

Opzioni del widget visualizzatore client

ViewerConfig (namespace Doconut) descrive l'aspetto e il comportamento del visualizzatore del browser. Non influisce sulla qualità del rendering del documento; per questo usa una configurazione di formato. La classe C# e il plugin JavaScript legacy hanno impostazioni predefinite diverse, quindi mappa i valori esplicitamente.

Proprietà C#

TipoProprietàPredefinitoDescrizione
boolShowThumbstrueMostra il pannello delle miniature.
boolAutoLoadfalseCarica automaticamente dopo l'inizializzazione. Il flusso normale del token chiama esplicitamente View(token).
boolAutoFocustrueSposta il focus/scroll del browser sul visualizzatore durante l'inizializzazione.
boolAutoPageFocustrueMantieni la miniatura corrente visibile mentre le pagine cambiano.
intPageZoom100Percentuale di zoom iniziale.
intZoomStep10Percentuale aggiunta o rimossa dai comandi di zoom.
intMaxZoom300Percentuale massima di zoom.
boolShowToolTiptrueMostra il tooltip della posizione della pagina durante lo scorrimento.
stringToolTipPageText"Page "Prefisso usato nel tooltip della pagina.
boolCacheEnabledfalseMantiene una finestra mobile di immagini delle pagine nella memoria del browser. Non utilizza localStorage.
boolLargeDocfalseAggiunge gli elementi delle pagine in lotti temporizzati per documenti di grandi dimensioni.
boolShowHyperlinksfalseRenderizza sovrapposizioni di collegamenti ipertestuali quando la configurazione del server li ha estratti.
boolFixedZoomtrueUtilizza una percentuale di zoom fissa anziché un ricalcolo responsivo.
intFixedZoomPercent100Zoom fisso per desktop.
intFixedZoomPercentMobile75Zoom fisso per mobile.
stringBasePath"/"Dove il visualizzatore invia le richieste delle pagine. "/" è il gestore DocImage.axd nella radice del sito. Per un'applicazione in una directory virtuale, usa il nome della directory senza una / iniziale ("myapp" significa /myapp/DocImage.axd).
stringResPath"doconut-res/images"Cartella da cui il widget carica le proprie immagini: la cartella images sotto ResourcesPath, senza una / iniziale.
stringFitType"width""width", "height" o vuoto per nessun adattamento automatico. "page" non è accettato dal widget attuale.
boolRetryOn409falseRiprova le richieste di pagina che rispondono "still rendering". DocImage.axd rende in modo sincrono e non invia mai quel segnale; lascialo false.
csharp
var config = new ViewerConfig
{
    ShowThumbs = true,
    AutoLoad = false,
    PageZoom = 100,
    MaxZoom = 300,
    FitType = "width",
    BasePath = "/",                 // "/" = gestore DocImage.axd nella radice del sito (Web.config)
    ResPath = "doconut-res/images", // cartella images sotto ResourcesPath, senza '/' iniziale
    ShowHyperlinks = true
};
// Genera lo script con viewer.RenderViewer("viewerEl", token, config) – vedi la sezione Visualizzatore.

Emissione di un ViewerConfig con RenderViewer

Viewer.RenderViewer(elementId, token, config) trasforma un ViewerConfig nello script di inizializzazione del widget. Scrive sei delle proprietà sopra — BasePath, ResPath, ShowThumbs, AutoLoad, PageZoom e FitType — e poi chiama View(token). Le altre proprietà non vengono scritte: per MaxZoom, ShowHyperlinks, le impostazioni di zoom o qualsiasi callback, inizializza il widget da solo con le opzioni JavaScript riportate di seguito. Vedi Visualizzatore per RenderViewer.

Mappatura da C# a JavaScript

Non passare un ViewerConfig serializzato direttamente a docViewer(...). La maggior parte delle chiavi del widget sono camelCase, mentre tre chiavi di percorso/adattamento consolidate sono PascalCase.

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

Impostazioni predefinite JavaScript

Il widget ha impostazioni predefinite più vecchie che differiscono dalla classe C#. I seguenti valori provengono dall'attuale implementazione di docViewer.js.

OpzionePredefinitoNote
leftMinWidth / leftMaxWidth220 / 800Limiti di larghezza del riquadro miniature.
showThumbstrueVisibilità iniziale delle miniature.
autoFocus / autoPageFocustrue / falseautoPageFocus differisce dal valore predefinito C#.
thumbWidth / thumbHeight / thumbPadding150 / 200 / 10Geometria delle miniature in pixel.
pageZoom / zoomStep / maxZoom100 / 10 / 200maxZoom di JavaScript differisce da C# (300).
showToolTip / toolTipPageTexttrue / "Page "Tooltip di posizione della pagina.
format / doc / AccessToken"" / 0 / ""Valori di inizializzazione interni; normalmente popolati da View(token).
debugModefalseDiagnostica client aggiuntiva.
FitType""Nessun adattamento automatico a meno che non sia fornito.
BasePath"DocImage.axd"Valore predefinito legacy. Impostalo esplicitamente: '/' per il gestore alla radice del sito.
ResPath""Impostalo esplicitamente al percorso delle immagini incorporate.
cacheEnabled / cacheCount / cacheDelayfalse / 3 / 3Finestra e ritardo di pre‑caricamento delle pagine in memoria.
autoLoadfalseSi consiglia un flusso di token esplicito.
largeDoctrueDifferisce dal valore predefinito C#.
fixedZoomfalseDifferisce dal valore predefinito C#.
fixedZoomPercent / fixedZoomPercentMobile100 / 50Il valore mobile differisce da C# (75).
showHyperlinkstrueRichiede l'estrazione lato server per produrre overlay.

Imposta tutti i valori comportamentali importanti invece di fare affidamento su uno dei due set di valori predefiniti:

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>

Callback

CallbackArgomentiScopo
onPageLoadingpageNumUna richiesta di pagina sta iniziando.
onPageLoadedpageNumUn'immagine di pagina ha terminato il caricamento.
onThumbnailClickedpageNumL'utente ha selezionato una miniatura.
onPageClickedpageNumL'utente ha selezionato una pagina.
onDoubleClicknessunoIl visualizzatore ha ricevuto un doppio clic.
onViewerBusynessunoIl visualizzatore è entrato in uno stato occupato.
onViewerReadynessunoInizializzazione completata.
onViewerErrornessunoIl visualizzatore è entrato nello stato di errore.
onErrormessageUn'operazione ha restituito un messaggio di errore.
onCopydataI dati di copia del testo sono disponibili.
onAutoLoadStatuspageNumIl caricamento automatico è progredito a una pagina.
onThumbsShownnessunoIl pannello delle miniature è diventato visibile.
onAnnLoadednessunoDati di annotazione caricati.
onAnnSavednessunoDati di annotazione salvati.
onAnnSaveErrornessunoSalvataggio dell'annotazione fallito.
onAnnClosednessunoInterfaccia di annotazione chiusa.

Mantieni le callback rapide; invia la telemetria in modo asincrono e non bloccare il rendering della pagina.

Gruppi di metodi pubblici

GruppoMetodi comuni
Ciclo di vitaView(token, accessToken?), Close(server?), Token(), Init(), IsLoaded()
NavigazioneGotoPage(page), ShowPage(page, focus?), Next(next), CurrentPage(), TotalPages()
Zoom e adattamentoZoom(zoomIn), CurrentZoom(), FitType(value), Refit()
OrientamentoRotate(page, angle), Flip(page, flipType)
MiniatureHideThumbs(hide), ThumbSize(size), ReloadThumbs(width), ScrollToThumb(thumb)
RicercaCanSearch(), Search(...), SearchMatchCount(), SearchSummary(...), GotoSearchMatch(...)
AnnotazioneSaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...)
CopiaCopy(...), CopyPage(pageNumber), CopyMode(enabled)

Il file JavaScript contiene anche helper interni. Considera stabili solo i metodi utilizzati dall'interfaccia di riferimento e documentati qui o nelle guide delle funzionalità come punti di integrazione.

Opzioni di ritentativo

Il widget accetta anche retryOn409 e le sue impostazioni di backoff (retryInitialDelayMs, retryBackoffFactor, retryMaxDelayMs, retryMaxAttempts, retryMaxTotalMs). Esse servono le distribuzioni le cui pagine sono generate in background. DocImage.axd rende ogni pagina durante la richiesta, quindi lascia retryOn409 disattivato.

Checklist del percorso

  • BasePath è '/' quando il gestore DocImage.axd si trova alla radice del sito — l'attributo path del gestore in Web.config decide dove risponde. In una directory virtuale, usa il nome della directory senza una barra iniziale / ('myapp', non '/myapp': il visualizzatore aggiunge la barra, e //myapp/... è una richiesta a un altro host).
  • DoconutOptions.ResourcesPath è dove il modulo delle risorse serve i file incorporati (/doconut-res per impostazione predefinita).
  • ResPath punta alla sua sottocartella images, anch'essa senza una barra iniziale / ('doconut-res/images'). Puntarlo a 'doconut-res' fa sì che ogni icona restituisca 404 mentre il documento continua a essere renderizzato.
  • In MVC, routes.IgnoreRoute("doconut-res/{*pathInfo}") deve seguire ResourcesPath se lo modifichi.
  • ExtractHyperlinks deve essere abilitato nella configurazione del formato server prima che showHyperlinks possa visualizzare qualcosa.

Questa pagina è stata utile?