Configurazioni Formato

Opzioni di rendering complete per ogni formato

Ogni documento si apre con un'implementazione di BaseConfig. Passane una a OpenDocumentAsync (o OpenDocument) oppure lascia che il catalogo dei formati crei il suo valore predefinito. Tutte le classi di seguito si trovano nello spazio dei nomi Doconut.

csharp
var token = await viewer.OpenDocumentAsync(path, new PdfConfig
{
    AllowSearch = true,
    AllowCopy   = true,
    ImageResolution = 150
});

Ereditarietà e impostazioni PDF nidificate

Ogni formato eredita le cinque proprietà di BaseConfig. I formati che possono reindirizzare tramite PDF espongono un PdfConfig nidificato. In WordConfig, ExcelConfig e PptConfig, AllowSearch e AllowCopy sono proprietà di comodità che leggono e scrivono il PdfConfig nidificato.

DefaultRender = true seleziona il renderer nativo del formato. Nei formati con un reindirizzamento PDF, false converte prima in un PDF in memoria e poi utilizza il visualizzatore PDF. Questo percorso è spesso utile per la ricerca di coordinate di testo, ma comporta una conversione aggiuntiva.

Salvo indicazione contraria, le tabelle mostrano i valori predefiniti di costruttori/proprietà. Il catalogo automatico dei formati sovrascrive deliberatamente due di essi: crea ExcelConfig con SplitWorksheets = true e MhtConfig con DefaultRender = false.

BaseConfig

TipoProprietàPredefinitoComportamento
intImageResolution00 utilizza il valore predefinito del formato. L'intervallo esplicito valido è 25-300 DPI; le assegnazioni non valide vengono ignorate.
stringDocumentCulture""Locale per date e numeri. I valori non vuoti vengono trimmati; le assegnazioni vuote vengono ignorate.
stringPassword""Password del documento protetto. DocOptions.Password viene copiata qui automaticamente.
boolShowUItrueProprietà di compatibilità; l'attuale renderer non la utilizza per controllare la barra degli strumenti del browser.
boolCachePagestrueMemorizza nella cache le immagini delle pagine renderizzate per la sessione del documento.

PdfConfig

Formati: PDF. DPI predefinito: 200.

TipoProprietàPredefinitoComportamento
boolDefaultRendertrueInterruttore di compatibilità. L'attuale factory utilizza il visualizzatore PDF nativo.
boolAllowSearchfalseCrea/utilizza l'indice di ricerca testo PDF. Richiede la funzionalità di licenza Search per le richieste.
boolAllowCopyfalseConsente operazioni di selezione/copia del testo.
boolExtractHyperlinksfalseEstrae i rettangoli dei collegamenti per le sovrapposizioni client.
intHyperlinksPageCount0Numero massimo di pagine scansionate per i collegamenti; 0 significa tutte le pagine.
boolCompressImagesfalseComprimi le immagini incorporate prima del rendering.
intCompressQuality100Qualità JPEG utilizzata quando la compressione è abilitata.
boolResizeImagesfalseRidimensiona le immagini incorporate prima del rendering.
intResizeResolution300DPI target per le immagini ridimensionate.
boolCompressFastfalsePreferisce il percorso di compressione più veloce e di qualità inferiore.
boolFixInvalidImagesfalseTenta di riparare le immagini incorporate non valide.
boolSplitSegmentsfalseRiunisce parole divise tra segmenti di linea per migliorare ricerca/copia.

showHyperlinks in ViewerConfig controlla la sovrapposizione client, mentre ExtractHyperlinks controlla l'estrazione sul server. Abilita entrambi.

WordConfig

Formati: DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, ODT, OTT, XML. DPI predefinito: 200.

TipoProprietàPredefinitoComportamento
boolDefaultRendertrueRendering nativo di Word; false utilizza il reindirizzamento PDF.
PdfConfigPdfConfignew instanceImpostazioni utilizzate dal percorso PDF/ricerca.
DocPaperSizePaperSizeA4Formato carta di output. Usa Custom con larghezza/altezza.
intPaperWidth595Larghezza personalizzata in punti.
intPaperHeight841Altezza personalizzata in punti.
boolRemovePaperMarginfalseRimuove i margini della pagina del documento.
boolRenderPageColortruePreserva il colore della pagina configurato in Word; false rende pagine bianche.
boolExportPdfAfalseUtilizza PDF/A d'archivio nel percorso PDF.
Encoding?FileEncodingnullSovrascrive la codifica di origine.
stringFontInfo""Informazioni sulla sostituzione dei font.
string[]?FontFoldersnullDirectory dei font aggiuntive — utile su un server che non dispone dei font utilizzati nei documenti.
boolAllowSearchfalseDelega a PdfConfig.AllowSearch.
boolAllowCopyfalseDelega a PdfConfig.AllowCopy.
TableAutoFitBehaviorAutoFitAllTablesNoneNone, AutoFitToContents o AutoFitToWindow.

ExcelConfig

Formati: XLS, XLSX, XLSM, XLSB, XLTX, XLTM, ODS, CSV. DPI predefinito: 200.

TipoProprietàPredefinitoComportamento
boolDefaultRendertrueRendering nativo del foglio; false utilizza il reindirizzamento PDF.
PdfConfigPdfConfignuova istanzaImpostazioni per il percorso PDF/ricerca.
ExcelPaperSizePaperSizePaperA4Dimensione della carta di output.
doublePaperMargins0.25Margini della pagina in pollici.
boolPaperLandscapetrueRendering del foglio in orizzontale.
boolAutoFitContentsfalseAdatta automaticamente altezze delle righe e larghezze delle colonne.
boolRemoveEmptyContenttrueRiduce l'output escludendo i contenuti vuoti.
boolCalculateFormulatrueRicalcola le formule prima del rendering.
boolShowRowColumnHeaderstrueInclude le intestazioni del foglio di calcolo.
boolExportPdfAfalseUsa PDF/A nel percorso PDF.
boolSplitWorksheetsfalseMantiene i fogli di lavoro come gruppi di pagine separati.
boolShowEmptyWorkSheetsfalseInclude i fogli di lavoro vuoti.
boolExportLandscapefalseForza l'esportazione in orizzontale.
boolExportOnePagePerSheetfalseAdatta ogni foglio di lavoro a una pagina di output.
boolMemoryOptimizationPreferencetrueRiduce il picco di memoria, potenzialmente a scapito di qualche velocità.
boolAutoTrimWorksheetRenderRangetrueRenderizza solo l'intervallo usato visibile quando non esiste un'area di stampa esplicita.
boolAutoTrimPreserveExistingPrintAreatruePreserva le aree di stampa definite nella cartella di lavoro durante l'auto‑ritaglio.
string?PrintAreanullIntervallo esplicito come "A1:Z100".
boolPrintGridlinesfalseStampa le linee della griglia del foglio.
boolPrintHeadingsfalseStampa le intestazioni di righe/colonne.
List<string>SheetNamesvuotoLimita il rendering ai fogli di lavoro nominati.
CustomStyleCell?CustomStylesnullOverride opzionali per formattazione data/decimale/intero.
boolAllowSearchfalseDelega a PdfConfig.AllowSearch.
boolAllowCopyfalseDelega a PdfConfig.AllowCopy.

CustomStyleCell espone CustomStyleDateTime, CustomStyleNumberDecimal e CustomStyleNumberInteger, tutti stringhe nullable.

new ExcelConfig() imposta SplitWorksheets su false; aprire un file Excel senza una configurazione esplicita utilizza il catalogo dei formati, che lo imposta su true.

PptConfig

Formati: PPT, PPTX, PPTM, PPSX, PPSM, POT, POTX, POTM, ODP. DPI predefinito: 200.

TipoProprietàPredefinitoComportamento
boolDefaultRendertrueRendering nativo della diapositiva; false utilizza il reindirizzamento PDF.
boolFastLoadfalseEvita il rendering della prima diapositiva durante l'apertura; usa i metadati e rende su richiesta.
PdfConfigPdfConfignuova istanzaImpostazioni per il comportamento PDF/ricerca.
stringFontInfo""Informazioni sulla sostituzione dei caratteri.
string[]?FontFoldersnullDirectory aggiuntive dei caratteri.
boolAllowSearchfalseDelega a PdfConfig.AllowSearch.
boolAllowCopyfalseDelega a PdfConfig.AllowCopy.

Installa i caratteri usati dalle presentazioni sul server, o punta FontFolders a una cartella che li contiene. Un Windows Server senza Office ha molti meno caratteri rispetto a una macchina di sviluppo, e i caratteri mancanti vengono sostituiti senza alcun errore.

CadConfig

Formati: DWG, DXF, DGN. DPI predefinito: 200.

TipoProprietàPredefinitoComportamento
boolDefaultRendertrueRendering nativo CAD; false utilizza il reindirizzamento PDF.
PdfConfigPdfConfignuova istanzaImpostazioni del percorso PDF.
boolExportPdfAfalseOutput PDF/A di archivio.
boolShowColortrueColore anziché monocromatico.
boolWhiteBackgroundtrueSfondo bianco invece di nero.
shortLineWidth25Larghezza del tratto CAD.
boolShowLayoutsfalseRenderizza le schede di layout.
boolShowModeltrueRenderizza lo spazio modello.
boolCheck3DSolidtrueProcessa solidi 3D.
boolExportAllLayoutsfalseEsporta tutti i layout, sovrascrivendo la selezione modello/layout.
boolLimitMinimumSizefalseApplica MinimumSize.
intMinimumSize700Dimensione minima di output in pixel.
boolLimitMaximumSizefalseApplica MaximumSize.
intMaximumSize700Dimensione massima di output in pixel.
boolShowAllLayoutsDgnfalseInclude tutti i layout DGN.
boolAutomaticLayoutScalingtrueScala automaticamente i layout.
floatPdfMargins0.5Margine PDF in pollici.
RenderQualityQualityImageLowQualità raster: Low, Medium o High.
RenderQualityQualityTextMediumQualità del testo: Low, Medium o High.

EmailConfig

Formati: EML, EMLX, MSG. DPI predefinito: 200.

TipoProprietàPredefinitoComportamento
boolDefaultRendertrueRendering nativo dell'email; false utilizza il reindirizzamento PDF.
PdfConfigPdfConfignew instanceImpostazioni del percorso PDF.
Encoding?EmailEncodingnullSovrascrive la codifica del messaggio.
Encoding?SubjectEncodingnullSovrascrive la codifica dell'oggetto.
Encoding?BodyEncodingnullSovrascrive la codifica del corpo.
boolSkipExternalImagesfalseNon caricare immagini referenziate da remoto. Consigliato per email non attendibili.
boolRemoveLastWhitePagefalseRimuove una pagina bianca finale.
boolUseAntiAliasingfalseAbilita l'anti-aliasing.
boolUseHighQualityRenderingfalsePreferisce un rendering più pulito ma più lento.
TimeSpan?TimeZoneOffsetnullSovrascrive il fuso orario usato per le date.
boolForcePageSizefalseForza dimensioni fisse della pagina.

ImageConfig, TiffConfig e PsdConfig

ImageConfig copre JPG, JPEG, JPE, PNG, BMP, GIF, ICO, EPS, TGA, WEBP, CDR, CMX, DNG, EMF, WMF, AVIF e SVG. Il suo DPI predefinito è 100.

ConfigProprietàPredefinitoComportamento
ImageConfigMaxImagePixelSize3000Larghezza/altezza massima. 0 significa illimitato; i valori diversi da zero inferiori a 50 sono ignorati.
ImageConfigTransparentPngtruePreserva la trasparenza PNG; false utilizza uno sfondo bianco.
TiffConfignessuna proprietà aggiuntivaDPI 200Utilizza solo BaseConfig; supporta TIFF multi‑pagina.
PsdConfigMaxImagePixelSize3000Stessa validazione 0/minimo‑50 di ImageConfig; DPI predefinito è 100.

DicomConfig

Formati: DCM, IMA. DPI effettivo predefinito: 100. Richiede il plugin DICOM. In questo pacchetto i file DICOM vengono renderizzati completamente, ma i metadati tecnici non sono disponibili — vedi Plugin DICOM.

TipoProprietàPredefinitoComportamento
intHorizontalResolution100 (effettivo)DPI orizzontale esplicito; altrimenti ImageResolution, poi 100.
intVerticalResolution100 (effettivo)DPI verticale esplicito; altrimenti ImageResolution, poi 100.
intAnimationFrameDelayMs100Ritardo dell'animazione a più fotogrammi; il timing GIF usa unità di 10 ms.
ushortLoopCount00 loop infinito; valori positivi si fermano dopo quel conteggio.
DicomDisplayModeDisplayModeAnimationAndFramesAnimationOnly, FramesOnly o panoramica combinata più fotogrammi statici.

TxtConfig

Formato: TXT. DPI predefinito: 200.

TipoProprietàPredefinitoComportamento
DocPaperSizePaperSizeA4Formato carta di output.
Encoding?FileEncodingnullnull utilizza UTF‑8.
stringFontInformation""Informazioni sul font per il rendering del testo.

Usa WordConfig quando il testo semplice necessita di un comportamento di layout di pagina più ricco.

ProjectConfig

Formati: MPP, MPPX, MPX. DPI predefinito: 200.

TipoProprietàPredefinitoComportamento
boolDefaultRendertrueImmagine Gantt nativa; false utilizza un percorso PDF basato su testo.
PdfConfigPdfConfignew instanceImpostazioni del percorso PDF.
boolExportPdfAtrueOutput PDF/A d'archiviazione.
MppPaperSizePaperSizeLedgerFormato carta di output del progetto.
MppTimeScaleTimeScaleMonthsDays o Months.
MppFormatPresentationFormatGanttChartGanttChart, TaskUsage, ResourceUsage, ResourceSheet o TaskSheet.

Per una ricerca esatta per coordinate di testo, usa DefaultRender = false.

VisioConfig

Formati: VSD, VSDX, VSS, VSSX, VST, VSTX, VDX, VSX, VSDM. DPI predefinito: 200.

TipoProprietàPredefinitoComportamento
boolDefaultRendertrueRendering nativo del diagramma; false utilizza il reindirizzamento PDF.
PdfConfigPdfConfignew instanceImpostazioni del percorso PDF.
boolExportPdfAtrueOutput PDF/A d'archiviazione.

HtmlConfig, EpubConfig, MhtConfig e XpsConfig

Tutti e quattro hanno come predefinito 200 DPI e espongono un PdfConfig nidificato.

ConfigFormatiDefaultRenderProprietà/comportamento aggiuntivi
HtmlConfigHTML, HTMtrueRendering nativo; usa false per un percorso PDF basato su testo.
EpubConfigEPUBtrueRendering nativo; false utilizza PDF.
MhtConfigMHT, MHTMLtrue nella classe; false nel catalogo automaticoL’apertura normale senza configurazione utilizza il reindirizzamento PDF ricercabile. Un’istanza predefinita costruita esplicitamente rende nativamente.
XpsConfigXPSfalseUtilizza il percorso PDF per impostazione predefinita; imposta true per il rendering nativo dell’immagine.

Esempi di configurazione per famiglia

csharp
BaseConfig[] configs =
{
    new PdfConfig
    {
        AllowSearch = true,
        ExtractHyperlinks = true,
        HyperlinksPageCount = 0
    },
    new WordConfig
    {
        PaperSize = DocPaperSize.A4,
        RemovePaperMargin = false,
        FontFolders = new[] { HostingEnvironment.MapPath("~/App_Data/Fonts") },
        AllowSearch = true
    },
    new ExcelConfig
    {
        PaperLandscape = true,
        AutoFitContents = true,
        CalculateFormula = true,
        SplitWorksheets = false,
        PrintGridlines = false
    },
    new PptConfig
    {
        FastLoad = true,
        FontFolders = new[] { HostingEnvironment.MapPath("~/App_Data/Fonts") },
        AllowSearch = true
    },
    new CadConfig
    {
        ShowColor = true,
        WhiteBackground = true,
        ShowModel = true,
        ShowLayouts = false,
        QualityText = CadConfig.RenderQuality.High
    },
    new EmailConfig
    {
        SkipExternalImages = true,
        RemoveLastWhitePage = true,
        TimeZoneOffset = TimeSpan.Zero
    },
    new ImageConfig
    {
        MaxImagePixelSize = 3000,
        TransparentPng = true
    },
    new DicomConfig
    {
        DisplayMode = DicomDisplayMode.AnimationAndFrames,
        AnimationFrameDelayMs = 100,
        LoopCount = 0
    }
};

Selezione per estensione

csharp
static BaseConfig ConfigForExtension(string extUpper)
{
    switch (extUpper)
    {
        case ".DOC": case ".DOCX": case ".DOT": case ".DOTX": case ".ODT":
            return new WordConfig
            {
                AutoFitAllTables = WordConfig.TableAutoFitBehavior.AutoFitToWindow,
                PaperSize = DocPaperSize.Tabloid,
                PdfConfig = new PdfConfig { ExtractHyperlinks = true, HyperlinksPageCount = 5, AllowCopy = true }
            };
        case ".PDF":
            return new PdfConfig { AllowSearch = true, AllowCopy = true };
        case ".XLS": case ".XLSX": case ".ODS": case ".CSV":
            return new ExcelConfig { AllowSearch = true, AllowCopy = true };
        case ".DCM": case ".IMA":
            return new DicomConfig { DisplayMode = DicomDisplayMode.AnimationAndFrames };
        // DefaultRender = false → PDF redirect → pixel-accurate native text search
        case ".HTML": case ".HTM":
            return new HtmlConfig { DefaultRender = false };
        case ".EML": case ".EMLX": case ".MSG":
            return new EmailConfig { DefaultRender = false };
        default:
            return null; // fall back to the format's default config
    }
}

Questa pagina è stata utile?