Configurazioni Formato
Opzioni complete di rendering per formato
Ogni documento si apre con un'implementazione di BaseConfig. Passane una a OpenDocumentAsync oppure lascia che il catalogo dei formati crei il suo valore predefinito. Tutte le classi di seguito appartengono allo spazio dei nomi Doconut.
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 basata su coordinate di testo, ma comporta una conversione aggiuntiva.
Salvo diversa indicazione, le tabelle mostrano i valori predefiniti dei costruttori/proprietà. Il catalogo automatico dei formati sovrascrive deliberatamente due di essi: crea ExcelConfig con SplitWorksheets = true e MhtConfig con DefaultRender = false.
BaseConfig
| Tipo | Proprietà | Predefinito | Comportamento |
|---|---|---|---|
int | ImageResolution | 0 | 0 usa il valore predefinito del formato. L'intervallo esplicito valido è 25-300 DPI; le assegnazioni non valide vengono ignorate. |
string | DocumentCulture | "" | Locale per date e numeri. I valori non vuoti vengono trimmati; le assegnazioni vuote vengono ignorate. |
string | Password | "" | Password del documento protetto. DocOptions.Password viene copiata qui automaticamente. |
bool | ShowUI | true | Proprietà di compatibilità; l'attuale renderer non la utilizza per controllare la barra degli strumenti del browser. |
bool | CachePages | true | Memorizza nella cache le immagini delle pagine renderizzate per la sessione del documento. |
PdfConfig
Formati: PDF. DPI predefinito: 200.
| Tipo | Proprietà | Predefinito | Comportamento |
|---|---|---|---|
bool | DefaultRender | true | Interruttore di compatibilità. L'attuale factory utilizza il visualizzatore PDF nativo. |
bool | AllowSearch | false | Crea/utilizza l'indice di ricerca testo PDF. Richiede la capacità di licenza Search per le richieste. |
bool | AllowCopy | false | Consente operazioni di selezione/copia del testo. |
bool | ExtractHyperlinks | false | Estrae i rettangoli dei collegamenti per le sovrapposizioni client. |
int | HyperlinksPageCount | 0 | Numero massimo di pagine scansionate per i collegamenti; 0 significa tutte le pagine. |
bool | CompressImages | false | Comprimi le immagini incorporate prima del rendering. |
int | CompressQuality | 100 | Qualità JPEG usata quando la compressione è abilitata. |
bool | ResizeImages | false | Ridimensiona le immagini incorporate prima del rendering. |
int | ResizeResolution | 300 | DPI target per le immagini ridimensionate. |
bool | CompressFast | false | Preferisce il percorso di compressione più veloce e di qualità inferiore. |
bool | FixInvalidImages | false | Tenta di riparare le immagini incorporate non valide. |
bool | SplitSegments | false | Riunisce le parole divise tra segmenti di riga per migliorare ricerca/copia. |
showHyperlinks in ViewerConfig controlla la sovrapposizione client, mentre ExtractHyperlinks controlla l'estrazione server. Abilita entrambi.
WordConfig
Formati: DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, ODT, OTT, XML. DPI predefinito: 200.
| Tipo | Proprietà | Predefinito | Comportamento |
|---|---|---|---|
bool | DefaultRender | true | Rendering nativo di Word; false utilizza il reindirizzamento PDF. |
PdfConfig | PdfConfig | nuova istanza | Impostazioni usate dal percorso PDF/ricerca. |
DocPaperSize | PaperSize | A4 | Formato della carta di output. Usa Custom con larghezza/altezza. |
int | PaperWidth | 595 | Larghezza personalizzata in punti. |
int | PaperHeight | 841 | Altezza personalizzata in punti. |
bool | RemovePaperMargin | false | Rimuove i margini della pagina del documento. |
bool | RenderPageColor | true | Preserva il colore della pagina configurato in Word; false rende pagine bianche. |
bool | ExportPdfA | false | Utilizza PDF/A archivistico nel percorso PDF. |
Encoding? | FileEncoding | null | Sovrascrive la codifica di origine. |
string | FontInfo | "" | Informazioni sulla sostituzione dei font. |
string[]? | FontFolders | null | Directory dei font aggiuntive, particolarmente utili in Linux/container. |
bool | AllowSearch | false | Delega a PdfConfig.AllowSearch. |
bool | AllowCopy | false | Delega a PdfConfig.AllowCopy. |
TableAutoFitBehavior | AutoFitAllTables | None | None, AutoFitToContents o AutoFitToWindow. |
ExcelConfig
Formati: XLS, XLSX, XLSM, XLSB, XLTX, XLTM, ODS, CSV. DPI predefinito: 200.
| Tipo | Proprietà | Predefinito | Comportamento |
|---|---|---|---|
bool | DefaultRender | true | Rendering nativo del foglio; false utilizza il reindirizzamento PDF. |
PdfConfig | PdfConfig | nuova istanza | Impostazioni per il percorso PDF/ricerca. |
ExcelPaperSize | PaperSize | PaperA4 | Formato della carta di output. |
double | PaperMargins | 0.25 | Margini della pagina in pollici. |
bool | PaperLandscape | true | Rendering del foglio in modalità orizzontale. |
bool | AutoFitContents | false | Adatta automaticamente altezze delle righe e larghezze delle colonne. |
bool | RemoveEmptyContent | true | Restringe l'output escludendo contenuti vuoti. |
bool | CalculateFormula | true | Ricalcola le formule prima del rendering. |
bool | ShowRowColumnHeaders | true | Include le intestazioni di riga/colonna del foglio. |
bool | ExportPdfA | false | Utilizza PDF/A nel percorso PDF. |
bool | SplitWorksheets | false | Mantiene i fogli di lavoro come gruppi di pagine separati. |
bool | ShowEmptyWorkSheets | false | Include fogli di lavoro vuoti. |
bool | ExportLandscape | false | Forza l'esportazione in modalità orizzontale. |
bool | ExportOnePagePerSheet | false | Adatta ogni foglio di lavoro a una pagina di output. |
bool | MemoryOptimizationPreference | true | Riduce il picco di memoria, potenzialmente a scapito di qualche velocità. |
bool | AutoTrimWorksheetRenderRange | true | Renderizza solo l'intervallo usato visibile quando non esiste un'area di stampa esplicita. |
bool | AutoTrimPreserveExistingPrintArea | true | Preserva le aree di stampa definite nella cartella di lavoro durante l'auto-ritaglio. |
string? | PrintArea | null | Intervallo esplicito come ad esempio "A1:Z100". |
bool | PrintGridlines | false | Stampa le linee della griglia del foglio. |
bool | PrintHeadings | false | Stampa le intestazioni di riga/colonna. |
List<string> | SheetNames | vuoto | Limita il rendering ai fogli di lavoro con nome. |
CustomStyleCell? | CustomStyles | null | Sovrascritture opzionali di formattazione data/decimale/intero. |
bool | AllowSearch | false | Delega a PdfConfig.AllowSearch. |
bool | AllowCopy | false | Delega 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.
| Tipo | Proprietà | Predefinito | Comportamento |
|---|---|---|---|
bool | DefaultRender | true | Rendering nativo delle diapositive; false utilizza il reindirizzamento PDF. |
bool | FastLoad | false | Evita il rendering della prima diapositiva durante l'apertura; utilizza i metadati e renderizza su richiesta. |
PdfConfig | PdfConfig | nuova istanza | Impostazioni per il comportamento PDF/ricerca. |
string | FontInfo | "" | Informazioni sulla sostituzione dei font. |
string[]? | FontFolders | null | Directory dei font aggiuntive. |
bool | AllowSearch | false | Delega a PdfConfig.AllowSearch. |
bool | AllowCopy | false | Delega a PdfConfig.AllowCopy. |
Su Linux e macOS, il rendering delle presentazioni con l'attuale motore richiede libgdiplus e System.Drawing.EnableUnixSupport=true. Installa i font utilizzati dalla presentazione o fornisci FontFolders.
CadConfig
Formati: DWG, DXF, DGN. DPI predefinito: 200.
| Tipo | Proprietà | Predefinito | Comportamento |
|---|---|---|---|
bool | DefaultRender | true | Rendering nativo CAD; false utilizza il reindirizzamento PDF. |
PdfConfig | PdfConfig | nuova istanza | Impostazioni del percorso PDF. |
bool | ExportPdfA | false | Output PDF/A archivistico. |
bool | ShowColor | true | Colore anziché monocromatico. |
bool | WhiteBackground | true | Bianco invece di sfondo nero. |
short | LineWidth | 25 | Larghezza del tratto CAD. |
bool | ShowLayouts | false | Renderizza le schede di layout. |
bool | ShowModel | true | Renderizza lo spazio modello. |
bool | Check3DSolid | true | Processa solidi 3D. |
bool | ExportAllLayouts | false | Esporta tutti i layout, sovrascrivendo la selezione modello/layout. |
bool | LimitMinimumSize | false | Applica MinimumSize. |
int | MinimumSize | 700 | Dimensione minima di output in pixel. |
bool | LimitMaximumSize | false | Applica MaximumSize. |
int | MaximumSize | 700 | Dimensione massima di output in pixel. |
bool | ShowAllLayoutsDgn | false | Include tutti i layout DGN. |
bool | AutomaticLayoutScaling | true | Scala automaticamente i layout. |
float | PdfMargins | 0.5 | Margine PDF in pollici. |
RenderQuality | QualityImage | Low | Qualità raster: Low, Medium o High. |
RenderQuality | QualityText | Medium | Qualità del testo: Low, Medium o High. |
EmailConfig
Formati: EML, EMLX, MSG. DPI predefinito: 200.
| Tipo | Proprietà | Predefinito | Comportamento |
|---|---|---|---|
bool | DefaultRender | true | Rendering nativo dell'email; false utilizza il reindirizzamento PDF. |
PdfConfig | PdfConfig | nuova istanza | Impostazioni del percorso PDF. |
Encoding? | EmailEncoding | null | Sovrascrive la codifica del messaggio. |
Encoding? | SubjectEncoding | null | Sovrascrive la codifica dell'oggetto. |
Encoding? | BodyEncoding | null | Sovrascrive la codifica del corpo. |
bool | SkipExternalImages | false | Non carica immagini referenziate da remoto. Consigliato per email non attendibili. |
bool | RemoveLastWhitePage | false | Rimuove l'ultima pagina bianca finale. |
bool | UseAntiAliasing | false | Abilita l'anti-aliasing. |
bool | UseHighQualityRendering | false | Preferisce un rendering più pulito ma più lento. |
TimeSpan? | TimeZoneOffset | null | Sovrascrive il fuso orario usato per le date. |
bool | ForcePageSize | false | Forza dimensioni di pagina fisse. |
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.
| Configurazione | Proprietà | Predefinito | Comportamento |
|---|---|---|---|
ImageConfig | MaxImagePixelSize | 3000 | Larghezza/altezza massima. 0 significa illimitato; i valori non zero inferiori a 50 sono ignorati. |
ImageConfig | TransparentPng | true | Preserva la trasparenza PNG; false utilizza uno sfondo bianco. |
TiffConfig | nessuna proprietà aggiuntiva | DPI 200 | Utilizza solo BaseConfig; supporta TIFF multi-pagina. |
PsdConfig | MaxImagePixelSize | 3000 | Stessa validazione 0/minimo-50 di ImageConfig; DPI predefinito è 100. |
DicomConfig
Formati: DCM, IMA. DPI efficace predefinito: 100. Richiede il plugin DICOM.
| Tipo | Proprietà | Predefinito | Comportamento |
|---|---|---|---|
int | HorizontalResolution | 100 effettivo | DPI orizzontale esplicito; altrimenti ImageResolution, poi 100. |
int | VerticalResolution | 100 effettivo | DPI verticale esplicito; altrimenti ImageResolution, poi 100. |
int | AnimationFrameDelayMs | 100 | Ritardo dei fotogrammi dell'animazione multiframe; il timing GIF usa unità di 10 ms. |
ushort | LoopCount | 0 | 0 loop infinito; valori positivi si fermano dopo quel conteggio. |
DicomDisplayMode | DisplayMode | AnimationAndFrames | AnimationOnly, FramesOnly o panoramica combinata più fotogrammi statici. |
TxtConfig
Formato: TXT. DPI predefinito: 200.
| Tipo | Proprietà | Predefinito | Comportamento |
|---|---|---|---|
DocPaperSize | PaperSize | A4 | Formato della carta di output. |
Encoding? | FileEncoding | null | null utilizza UTF-8. |
string | FontInformation | "" | 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.
| Tipo | Proprietà | Predefinito | Comportamento |
|---|---|---|---|
bool | DefaultRender | true | Immagine Gantt nativa; false utilizza un percorso PDF basato su testo. |
PdfConfig | PdfConfig | nuova istanza | Impostazioni del percorso PDF. |
bool | ExportPdfA | true | Output PDF/A archivistico. |
MppPaperSize | PaperSize | Ledger | Formato della carta di output del progetto. |
MppTimeScale | TimeScale | Months | Days o Months. |
MppFormat | PresentationFormat | GanttChart | GanttChart, TaskUsage, ResourceUsage, ResourceSheet o TaskSheet. |
Per una ricerca esatta basata su coordinate di testo, usa DefaultRender = false.
VisioConfig
Formati: VSD, VSDX, VSS, VSSX, VST, VSTX, VDX, VSX, VSDM. DPI predefinito: 200.
| Tipo | Proprietà | Predefinito | Comportamento |
|---|---|---|---|
bool | DefaultRender | true | Rendering nativo del diagramma; false utilizza il reindirizzamento PDF. |
PdfConfig | PdfConfig | nuova istanza | Impostazioni del percorso PDF. |
bool | ExportPdfA | true | Output PDF/A archivistico. |
HtmlConfig, EpubConfig, MhtConfig e XpsConfig
Tutti e quattro hanno come predefinito 200 DPI ed espongono un PdfConfig nidificato.
| Configurazione | Formati | DefaultRender | Proprietà/comportamento aggiuntivi |
|---|---|---|---|
HtmlConfig | HTML, HTM | true | Rendering nativo; usa false per un percorso di ricerca PDF basato su testo. |
EpubConfig | EPUB | true | Rendering nativo; false utilizza PDF. |
MhtConfig | MHT, MHTML | true sulla classe; false nel catalogo automatico | L'apertura normale senza configurazione utilizza il reindirizzamento PDF ricercabile. Un'istanza predefinita costruita esplicitamente rende nativamente. |
XpsConfig | XPS | false | Utilizza il percorso PDF per impostazione predefinita; imposta true per il rendering nativo dell'immagine. |
Esempi di configurazione per famiglia
BaseConfig[] configs =
[
new PdfConfig
{
AllowSearch = true,
ExtractHyperlinks = true,
HyperlinksPageCount = 0
},
new WordConfig
{
PaperSize = DocPaperSize.A4,
RemovePaperMargin = false,
FontFolders = ["/usr/share/fonts/truetype"],
AllowSearch = true
},
new ExcelConfig
{
PaperLandscape = true,
AutoFitContents = true,
CalculateFormula = true,
SplitWorksheets = false,
PrintGridlines = false
},
new PptConfig
{
FastLoad = true,
FontFolders = ["/usr/share/fonts/truetype"],
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
static BaseConfig? ConfigForExtension(string extUpper) => extUpper switch
{
".DOC" or ".DOCX" or ".DOT" or ".DOTX" or ".ODT" => new WordConfig
{
AutoFitAllTables = WordConfig.TableAutoFitBehavior.AutoFitToWindow,
PaperSize = DocPaperSize.Tabloid,
PdfConfig = new PdfConfig { ExtractHyperlinks = true, HyperlinksPageCount = 5, AllowCopy = true }
},
".PDF" => new PdfConfig { AllowSearch = true, AllowCopy = true },
".XLS" or ".XLSX" or ".ODS" or ".CSV" => new ExcelConfig { AllowSearch = true, AllowCopy = true },
".DCM" or ".IMA" => new DicomConfig { DisplayMode = DicomDisplayMode.AnimationAndFrames },
// DefaultRender = false → PDF redirect → pixel-accurate native text search
".HTML" or ".HTM" => new HtmlConfig { DefaultRender = false },
".EML" or ".EMLX" or ".MSG" => new EmailConfig { DefaultRender = false },
_ => null // fall back to the format's default config
};Questa pagina è stata utile?