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#
| Tipo | Proprietà | Predefinito | Descrizione |
|---|---|---|---|
bool | ShowThumbs | true | Mostra il pannello delle miniature. |
bool | AutoLoad | false | Carica automaticamente dopo l'inizializzazione. Il flusso normale del token chiama esplicitamente View(token). |
bool | AutoFocus | true | Sposta il focus/scroll del browser sul visualizzatore durante l'inizializzazione. |
bool | AutoPageFocus | true | Mantieni la miniatura corrente visibile mentre le pagine cambiano. |
int | PageZoom | 100 | Percentuale di zoom iniziale. |
int | ZoomStep | 10 | Percentuale aggiunta o rimossa dai comandi di zoom. |
int | MaxZoom | 300 | Percentuale massima di zoom. |
bool | ShowToolTip | true | Mostra il tooltip della posizione della pagina durante lo scorrimento. |
string | ToolTipPageText | "Page " | Prefisso usato nel tooltip della pagina. |
bool | CacheEnabled | false | Mantiene una finestra mobile di immagini delle pagine nella memoria del browser. Non utilizza localStorage. |
bool | LargeDoc | false | Aggiunge gli elementi delle pagine in lotti temporizzati per documenti di grandi dimensioni. |
bool | ShowHyperlinks | false | Renderizza sovrapposizioni di collegamenti ipertestuali quando la configurazione del server li ha estratti. |
bool | FixedZoom | true | Utilizza una percentuale di zoom fissa anziché un ricalcolo responsivo. |
int | FixedZoomPercent | 100 | Zoom fisso per desktop. |
int | FixedZoomPercentMobile | 75 | Zoom fisso per mobile. |
string | BasePath | "/" | 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). |
string | ResPath | "doconut-res/images" | Cartella da cui il widget carica le proprie immagini: la cartella images sotto ResourcesPath, senza una / iniziale. |
string | FitType | "width" | "width", "height" o vuoto per nessun adattamento automatico. "page" non è accettato dal widget attuale. |
bool | RetryOn409 | false | Riprova le richieste di pagina che rispondono "still rendering". DocImage.axd rende in modo sincrono e non invia mai quel segnale; lascialo false. |
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 |
|---|---|
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 |
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.
| Opzione | Predefinito | Note |
|---|---|---|
leftMinWidth / leftMaxWidth | 220 / 800 | Limiti di larghezza del riquadro miniature. |
showThumbs | true | Visibilità iniziale delle miniature. |
autoFocus / autoPageFocus | true / false | autoPageFocus differisce dal valore predefinito C#. |
thumbWidth / thumbHeight / thumbPadding | 150 / 200 / 10 | Geometria delle miniature in pixel. |
pageZoom / zoomStep / maxZoom | 100 / 10 / 200 | maxZoom di JavaScript differisce da C# (300). |
showToolTip / toolTipPageText | true / "Page " | Tooltip di posizione della pagina. |
format / doc / AccessToken | "" / 0 / "" | Valori di inizializzazione interni; normalmente popolati da View(token). |
debugMode | false | Diagnostica 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 / cacheDelay | false / 3 / 3 | Finestra e ritardo di pre‑caricamento delle pagine in memoria. |
autoLoad | false | Si consiglia un flusso di token esplicito. |
largeDoc | true | Differisce dal valore predefinito C#. |
fixedZoom | false | Differisce dal valore predefinito C#. |
fixedZoomPercent / fixedZoomPercentMobile | 100 / 50 | Il valore mobile differisce da C# (75). |
showHyperlinks | true | Richiede 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:
<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
| Callback | Argomenti | Scopo |
|---|---|---|
onPageLoading | pageNum | Una richiesta di pagina sta iniziando. |
onPageLoaded | pageNum | Un'immagine di pagina ha terminato il caricamento. |
onThumbnailClicked | pageNum | L'utente ha selezionato una miniatura. |
onPageClicked | pageNum | L'utente ha selezionato una pagina. |
onDoubleClick | nessuno | Il visualizzatore ha ricevuto un doppio clic. |
onViewerBusy | nessuno | Il visualizzatore è entrato in uno stato occupato. |
onViewerReady | nessuno | Inizializzazione completata. |
onViewerError | nessuno | Il visualizzatore è entrato nello stato di errore. |
onError | message | Un'operazione ha restituito un messaggio di errore. |
onCopy | data | I dati di copia del testo sono disponibili. |
onAutoLoadStatus | pageNum | Il caricamento automatico è progredito a una pagina. |
onThumbsShown | nessuno | Il pannello delle miniature è diventato visibile. |
onAnnLoaded | nessuno | Dati di annotazione caricati. |
onAnnSaved | nessuno | Dati di annotazione salvati. |
onAnnSaveError | nessuno | Salvataggio dell'annotazione fallito. |
onAnnClosed | nessuno | Interfaccia di annotazione chiusa. |
Mantieni le callback rapide; invia la telemetria in modo asincrono e non bloccare il rendering della pagina.
Gruppi di metodi pubblici
| Gruppo | Metodi comuni |
|---|---|
| Ciclo di vita | View(token, accessToken?), Close(server?), Token(), Init(), IsLoaded() |
| Navigazione | GotoPage(page), ShowPage(page, focus?), Next(next), CurrentPage(), TotalPages() |
| Zoom e adattamento | Zoom(zoomIn), CurrentZoom(), FitType(value), Refit() |
| Orientamento | Rotate(page, angle), Flip(page, flipType) |
| Miniature | HideThumbs(hide), ThumbSize(size), ReloadThumbs(width), ScrollToThumb(thumb) |
| Ricerca | CanSearch(), Search(...), SearchMatchCount(), SearchSummary(...), GotoSearchMatch(...) |
| Annotazione | SaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...) |
| Copia | Copy(...), 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 gestoreDocImage.axdsi trova alla radice del sito — l'attributopathdel gestore inWeb.configdecide 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-resper impostazione predefinita).ResPathpunta alla sua sottocartellaimages, 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 seguireResourcesPathse lo modifichi. ExtractHyperlinksdeve essere abilitato nella configurazione del formato server prima cheshowHyperlinkspossa visualizzare qualcosa.
Questa pagina è stata utile?