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; usa una configurazione di formato per quello. La classe C# e il widget JavaScript di lunga data hanno impostazioni predefinite diverse, quindi mappa i valori esplicitamente.
Due a cambiamenti lato client in questa release falliscono silenziosamente. Le funzioni handler vengono passate come opzioni — il widget non deriva più i nomi delle funzioni globali dall'id del contenitore — e
ResPathdeve puntare al prefisso delle risorse anziché alla radice dell'applicazione. Entrambi lasciano il server funzionante perfettamente e non segnalano nulla nella console del browser. Se stai portando una pagina dalla libreria precedente, leggi Callback e Checklist dei percorsi prima di qualsiasi altra cosa.
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 dei 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 | Mantieni una finestra mobile di immagini di pagina nella memoria del browser. Non utilizza localStorage. |
bool | LargeDoc | false | Aggiungi gli elementi di pagina in batch temporizzati per documenti di grandi dimensioni. |
bool | ShowHyperlinks | false | Renderizza le sovrapposizioni dei collegamenti ipertestuali quando la configurazione del server le ha estratte. |
bool | FixedZoom | true | Usa una percentuale di zoom fissa invece di 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 di pagina. "/" è DocImage.axd alla radice del sito; altrimenti il ramo dove l'host mappa UseDoconut(), senza un / iniziale ("doconut" significa /doconut/DocImage.axd). |
string | ResPath | "doconut-res/images" (26.9.0; "doconut-res" prima) | Cartella da cui il widget carica le proprie immagini: la cartella images sotto ResourcesPath, senza un / iniziale. |
string | FitType | "width" | "width", "height", o vuoto per nessun adattamento automatico. "page" non è accettato dal widget corrente. |
bool | RetryOn409 | false | Abilita il polling quando la produzione di pagine asincrona/distribuita risponde 202 Accepted; 409 è anche accettato per compatibilità con server più vecchi. Non necessario per il visualizzatore sincrono normale. |
var config = new ViewerConfig
{
ShowThumbs = true,
AutoLoad = false,
PageZoom = 100,
MaxZoom = 300,
FitType = "width",
BasePath = "doconut", // nessun '/' iniziale: il visualizzatore lo aggiunge ("/doconut" diventerebbe //doconut, un altro host)
ResPath = "doconut-res/images",
ShowHyperlinks = true
};Mappatura 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 |
Predefiniti JavaScript
Il widget ha predefiniti più vecchi che differiscono dalla classe C#. I seguenti valori provengono dall'implementazione corrente di docViewer.js.
| Opzione | Predefinito | Note |
|---|---|---|
leftMinWidth / leftMaxWidth | 220 / 800 | Limiti della larghezza del riquadro delle 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 | JavaScript maxZoom 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" | Predefinito storico del client mantenuto per compatibilità. Gli host ASP.NET Core attuali devono impostarlo esplicitamente sul ramo di middleware mappato. |
ResPath | "" | Impostare esplicitamente sul percorso delle immagini incorporate. |
cacheEnabled / cacheCount / cacheDelay | false / 3 / 3 | Finestra e ritardo di pre‑caricamento delle pagine in memoria. |
autoLoad | false | È consigliato 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 importanti per il comportamento 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: 'doconut',
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 | none | Il visualizzatore ha ricevuto un doppio clic. |
onViewerBusy | none | Il visualizzatore è entrato in uno stato occupato. |
onViewerReady | none | Inizializzazione completata. |
onViewerError | none | 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 | none | Il pannello delle miniature è diventato visibile. |
onAnnLoaded | none | Dati di annotazione caricati. |
onAnnSaved | none | Dati di annotazione salvati. |
onAnnSaveError | none | Salvataggio dell'annotazione fallito. |
onAnnClosed | none | Interfaccia di annotazione chiusa. |
Mantieni i callback veloci; invia telemetria in modo asincrono e non bloccare il rendering della pagina.
Ognuno di questi è un'opzione sull'oggetto init. Il visualizzatore precedente cercava
funzioni globali i cui nomi derivava dall'ID del contenitore — una pagina con
<div id="div_ctlDoc"> doveva solo dichiarare function ctlDoc_OnViewerReady(). Quella ricerca
è scomparsa. Passa la funzione esplicitamente:
objctlDoc = $('#div_ctlDoc').docViewer({
// ... le tue opzioni esistenti ...
onViewerBusy: ctlDoc_OnViewerBusy, // è stato trovato per nome
onViewerReady: ctlDoc_OnViewerReady, // è stato trovato per nome
onCopy: ctlDoc_Copy, // era ctlDoc_Copy(text)
onAutoLoadStatus: ctlDoc_AutoLoadStatus // era ctlDoc_AutoLoadStatus(page)
});Il vecchio lookup era avvolto in un catch vuoto, quindi nulla veniva mai segnalato. In questa
release le funzioni semplicemente non vengono mai eseguite: il sintomo tipico è uno spinner occupato che non
si ferma, perché il gestore che lo nascondeva era onViewerReady. Il documento dietro di esso viene
renderizzato correttamente.
Non esiste un callback per il click sui link — la gestione degli hyperlink è integrata e guidata da
showHyperlinks.
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 adatta | 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 usati dall'interfaccia di riferimento e documentati qui o nelle guide delle funzionalità come punti di integrazione.
Riprova mentre una pagina distribuita è ancora in rendering
retryOn409 mantiene il suo nome storico. È per la produzione asincrona di pagine e riprova la risposta di prontezza corrente 202 Accepted così come il segnale più vecchio 409 Conflict. Quando abilitato, il widget effettua polling con questi valori predefiniti JavaScript:
| Opzione | Predefinito |
|---|---|
retryInitialDelayMs | 250 |
retryBackoffFactor | 1.6 |
retryMaxDelayMs | 2500 |
retryMaxAttempts | 60 |
retryMaxTotalMs | 120000 |
Lascialo disabilitato per il visualizzatore a nodo singolo normale. Abilitarlo non può rendere asincrono un rendering sincrono non supportato.
Abilitalo quando le pagine sono servite da storage condiviso con FirstPagePriority, dove le pagine successive rispondono legittimamente 202 Accepted fino a quando non sono scritte. Un client che non riprova mostra tile rotti per le pagine ancora in rendering — vedi Distribuzioni distribuite.
Lista di controllo percorsi
DoconutOptions.MiddlewarePathdeve descrivere il ramo che effettivamente mappi.BasePathdeve puntare a quel ramo, scritto senza un/iniziale ('doconut', non'/doconut': il visualizzatore aggiunge lo slash, e//doconut/...è una richiesta a un altro host). L'applicazione di riferimento mantiene la forma di richiesta storicaDocImage.axdsu un ramoMapWhene quindi impostaBasePath: '/'.DoconutOptions.ResourcesPathè il percorso della risorsa incorporata.ResPathnormalmente punta alla sua sottocartellaimages, senza un/iniziale —'doconut-res/images'con il prefisso predefinito. UnResPathvuoto era corretto nella libreria precedente, dove le risorse provenivano dalla radice dell'applicazione; qui non è corretto e fallisce senza un errore.ExtractHyperlinksdeve essere abilitato nella configurazione del formato server prima cheshowHyperlinkspossa visualizzare qualcosa.
Questa pagina è stata utile?